Caramelize the onions: In a wide-bottomed pot, heat 2 tablespoons of olive oil on medium heat. Add the onions and toss to coat with the olive oil.
Cook the onions until softened and translucent; about 20 minutes.
Increase the heat to medium high. Add the remaining tablespoon of olive oil and the butter and cook, stirring often, until the onions start to brown, about 25 minutes.
Add the minced garlic and cook for a minute.
Add the white wine to the pot and carefully scrape up the browned bits on the bottom deglazing the pot as you continue to stir.
Add beef stock, bay leaves, and thyme. Bring to a simmer, cover and adjust heat to maintain your simmer. Cook for about 40 minutes.
Season to taste with salt and pepper. Discard the bay leaves.
Ladle into bowls and top with cheese.