In a large saucepan over medium heat, I melt the butter and add the sliced onions. Cooking them slowly, I stir frequently until they become soft and translucent, taking care not to brown them. This process usually takes about 15 minutes.
Prepare The Base
I sprinkle the flour over the softened onions, stirring continuously to form a roux. This helps in thickening the soup later. Gradually, I add the beef broth and bouillon cubes, ensuring to stir well to dissolve any lumps. Bringing the mixture to a gentle simmer, I let it cook for about 10 minutes.
Incorporate The Cream
Reducing the heat to low, I stir in the heavy cream, mixing thoroughly to combine. This adds a rich, velvety texture to the soup. I continue to cook the mixture for another 10 minutes, allowing the flavors to meld together.
Add The Cheese
I stir in the shredded cheddar cheese, allowing it to melt completely into the soup. This imparts a creamy, cheesy flavor that complements the caramelized onions perfectly. I season the soup with salt and black pepper to taste.
Prepare The Bread Topping
While the soup simmers, I preheat the oven to 400°F (200°C). Placing the slices of French bread on a baking sheet, I toast them in the oven until they're lightly browned and crisp. This usually takes about 5 minutes.
Assemble And Serve
I ladle the hot soup into oven-safe bowls, place a toasted bread slice on top of each, and sprinkle generously with shredded Gruyère cheese. Placing the bowls under the broiler for a few minutes, I wait until the cheese is bubbly and golden brown. Serving the soup immediately ensures the best experience.
Notes
For a vegetarian version, substitute the beef broth with vegetable broth and use vegetable-based bouillon cubes. Ensure that the cheese used is also vegetarian-friendly.