Caramelize the Onions - In a large Dutch oven or soup pot, melt butter and olive oil over medium-low heat. Add sliced onions, sugar, salt, and pepper. Cook slowly for 35–45 minutes, stirring occasionally until onions are deep golden brown and caramelized.
Add Garlic & Flour - Stir in minced garlic and cook for 1 minute. Sprinkle flour over the onions and stir for another 2–3 minutes to thicken the base.
Deglaze & Simmer - Pour in wine (if using) to deglaze the pot, scraping up any brown bits. Add broth, thyme, Worcestershire, and bay leaf. Bring to a boil, then reduce heat and simmer for 25–30 minutes. Taste and adjust seasoning.
Toast the Bread - While the soup simmers, toast the baguette slices until golden.
Assemble & Broil- Ladle soup into oven-safe bowls. Top each with a toasted baguette slice and a generous handful of cheese.
Broil - Place under the broiler for 2–3 minutes or until the cheese is melted and bubbly.