1/2 teaspoon Granulated sugar (to help caramelization)
2 cloves Garlic, minced
8 cups High-quality beef stock
1/2 cup Dry white wine (such as Pinot Grigio or Sauvignon Blanc)
2 Bay leaves
1 teaspoon Fresh thyme leaves
1 tablespoon All-purpose flour
1 French baguette, sliced into rounds
2 cups Gruyère cheese, shredded
1/2 cup Parmesan cheese, grated
Black pepper to taste
Instructions
In a large Dutch oven or heavy-bottomed pot, melt the butter with the olive oil over medium heat. Add the sliced onions and toss to coat. Cook for about 15 minutes until softened. Sprinkle with salt and sugar, then reduce the heat to medium-low. Continue cooking for 45 to 50 minutes, stirring every few minutes, until the onions are deep golden brown and soft.
Once the onions are fully caramelized, add the minced garlic and cook for 1 minute until fragrant. Sprinkle the flour over the onions and stir for 2 minutes. The flour helps thicken the soup slightly and adds a velvety texture to the broth.
Pour in the white wine to deglaze the pan. Use a wooden spoon to scrape up all the brown bits (the fond) from the bottom of the pot, as this is where the intense flavor lives. Let the wine simmer for 2-3 minutes until it has mostly evaporated.
Add the beef stock, bay leaves, and fresh thyme. Increase the heat to bring the soup to a gentle boil, then reduce the heat to low. Cover partially and let the soup simmer for at least 30 minutes to allow the flavors to meld together. Remove the bay leaves and season with black pepper.
While the soup simmers, preheat your oven to 400°F (200°C). Place the baguette slices on a baking sheet and toast them for 5-7 minutes until they are golden and crisp. This prevents them from becoming too soggy when placed in the soup.
Ladle the soup into oven-safe crocks. Place one or two toasted baguette slices on top of each bowl. Generously cover the bread with shredded Gruyère and Parmesan cheese. Place the crocks on a baking sheet and broil for 3-5 minutes, or until the cheese is melted, bubbly, and slightly browned.