Caramelizing the Onions
Heat the Oil and Butter:
In a large pot or Dutch oven, heat the olive oil and butter over medium heat until melted.
Add the Onions:
Add the thinly sliced onions to the pot and stir to coat them in the oil and butter.
Caramelize the Onions:
Cook the onions, stirring frequently, for about 30-40 minutes, until they are soft, golden brown, and caramelized.
After about 15 minutes, add 1 teaspoon of sugar to help the onions caramelize and become sweet. Be patient with this step as it’s essential to the soup’s flavor.
Add Garlic:
Stir in the minced garlic and cook for another 1-2 minutes until fragrant.
Building the Soup
Add the Flour:
Sprinkle the flour over the caramelized onions and stir to combine. Cook for about 2 minutes to get rid of the raw flour taste. This will help thicken the soup slightly.
Deglaze with Wine (Optional):
Add the white wine to the pot, scraping up any browned bits from the bottom. Let the wine simmer for 2-3 minutes until mostly evaporated.
Add Broth and Herbs:
Pour in the beef broth, add the bay leaf and thyme, and bring the soup to a simmer. Reduce the heat to low, cover, and let it simmer for 30-40 minutes to develop the flavors.
Season:
Remove the thyme sprigs and bay leaf. Taste the soup and season with salt and pepper as needed.
Preparing the Topping
Toast the Baguette:
While the soup simmers, preheat your oven to 400°F (200°C). Place the baguette slices on a baking sheet and toast them in the oven for about 5-7 minutes, until golden and crisp.
Add Cheese:
Remove the baguette slices from the oven and top them with a generous amount of grated Gruyère cheese (and Parmesan if using).
Assembling the Soup
Broil the Topping:
Set your oven to broil. Ladle the soup into oven-safe bowls, place a toasted baguette slice on top of each, and sprinkle with additional Gruyère cheese.
Melt the Cheese:
Place the bowls on a baking sheet and broil in the oven for 2-3 minutes, until the cheese is melted, bubbly, and golden brown.
Serving
Garnish and Serve: