In a large pot over medium heat, melt the butter. Add onions, garlic, thyme, bay leaf, salt, and pepper. Cook for about 20-25 minutes or until onions become very soft and caramelized.
Add the white wine and bring to a boil. Scrape any browned bits from the bottom of the pan and allow the mixture to simmer for about 5-10 minutes or until the wine has evaporated.
Remove the bay leaf and thyme sprigs.
Add in the flour, stir to coat the onions. Reduce the heat to medium-low and cook for about 10 minutes.
Stir in the beef broth and bring the soup back to a simmer. Simmer for about 10 minutes, allowing the soup to thicken slightly.
While the soup is simmering, preheat the oven to 450°F. and line a baking sheet with parchment paper.
Coat both sides of the French bread slices with olive oil. Place onto the prepared baking sheet and toast in the oven for about 5-6 minutes.
Remove the baking sheet from the oven and flip the toasts over and top with Gruyere cheese.
Return the baking sheet to the oven and bake until cheese has melted and is slightly golden brown.
Spoon the soup into a bowl and top with cheesy toast.
Serve immediately. Store any leftovers in the refrigerator.
Alternatively
If you desire, you can …
Fill oven-safe bowls with the soup and top with french bread and cheese.
Broil it all in the oven for about 10 minutes, or until the cheese is melted and slightly golden brown.
Notes
Omit the bread (or make garlic bread) and use veggie stock instead of beef stock to make this vegan/vegetarian! Gluten-free flour also works wonderfully in this recipe if necessary.