Begin by peeling the onions and slicing them into ⅛-inch thick rings. This uniform thickness ensures even caramelization.
Caramelize The Onions
In a large stockpot or Dutch oven, melt the butter over medium heat. Add the sliced onions and cook slowly over low heat for about 1½ to 2 hours, stirring occasionally. The goal is to achieve a deep, golden-brown color, which imparts a rich sweetness to the soup.
Season The Onions
Once the onions are caramelized, add freshly ground black pepper, paprika, and bay leaves. Stir well to combine and let the spices cook with the onions for an additional 2-3 minutes, allowing the flavors to meld.
Incorporate The Flour
Sprinkle the flour over the seasoned onions, stirring continuously to prevent lumps from forming. This mixture will act as a roux, thickening the soup slightly. Cook for about 2 minutes to eliminate the raw flour taste.
Add Broth And Wine
Pour in about two-thirds of the beef broth, stirring to combine. In a separate bowl, mix the remaining broth with the white wine and add this to the pot. Bring the mixture to a gentle simmer.
Simmer The Soup
Allow the soup to simmer uncovered for approximately 2 hours. This slow cooking process deepens the flavors and allows the soup to reduce slightly, concentrating its richness.
Season To Taste
After simmering, taste the soup and add salt as needed. Remember that the cheese topping will also contribute saltiness, so season judiciously.
Prepare The Bread Topping
While the soup is simmering, preheat your oven's broiler. Arrange the baguette slices on a baking sheet, brush them lightly with olive oil, and sprinkle with grated Parmesan cheese. Place under the broiler until they are lightly browned and crisp. Keep a close eye to prevent burning.
Assemble And Serve
Ladle the hot soup into oven-safe bowls, leaving some space at the top. Place one or two toasted baguette slices on the surface of the soup, then generously sprinkle shredded Gruyère cheese over the top, covering the bread and touching the edges of the bowl.
Place the bowls on a baking sheet and return them to the broiler until the cheese is melted, bubbly, and slightly browned. Serve immediately, but caution your guests as the bowls will be very hot.