Caramelize the Onions: Heat butter and olive oil in a large pot over medium heat. Add the sliced onions, salt, and sugar. Cook slowly, stirring frequently, for about 45-60 minutes until onions turn deep golden brown and sweetly caramelized. Patience is key here — don’t rush this step as it builds the soup’s rich flavor foundation.
Deglaze the Pot: Pour in the white wine or sherry to deglaze, scraping up any brown bits stuck to the bottom of the pot. This adds complexity to the soup’s flavor. Let the alcohol cook off for 2-3 minutes.
Add Broth and Herbs: Stir in the beef broth, thyme, and bay leaf. Bring to a gentle simmer and cook uncovered for another 30 minutes. Season with salt and pepper to taste. This simmering melds the flavors perfectly.
Prepare the Bread: While the soup simmers, preheat your oven to 400°F (200°C). Arrange the baguette slices on a baking sheet and toast until golden and crisp, about 5-7 minutes per side. Set aside.
Assemble the Soup Bowls: Remove the bay leaf from the soup. Ladle the soup into oven-safe bowls or crocks, placing 1-2 toasted bread slices on top of each. Generously sprinkle shredded Gruyère cheese over the bread.
Melt the Cheese: Place the bowls on a baking sheet and transfer to the oven. Broil on high for 2-5 minutes, watching closely, until the cheese is bubbly, golden, and slightly browned. Carefully remove and serve immediately while hot and gooey.