Deeply caramelized onions in a rich beefy broth, finished with toasted bread and a bubbling cap of Gruyère.
Step 1: Caramelize the onions (the magic step)
In a large heavy pot (Dutch oven ideal), melt butter with olive oil over medium heat. Add onions, salt, and pepper. Cook 10 minutes, stirring occasionally, until softened and reduced. Then lower heat to medium-low and cook 35–45 minutes, stirring every few minutes, scraping the bottom well, until onions are deep golden-brown and jammy (not just pale). If the pot looks like it’s catching, add a splash of water and scrape—those browned bits are flavor.
Step 2: Build the base
Sprinkle flour over the onions and stir constantly for 1 minute to cook out the raw flour. Add wine and stir, scraping up everything stuck to the bottom, until the wine is mostly evaporated and the onions look glossy, about 2–3 minutes.
Step 3: Simmer the soup
Add stock, thyme, bay leaf, and Worcestershire (if using). Bring to a gentle simmer, then cook uncovered 20–25 minutes to meld flavors. Taste and adjust salt and pepper. Remove thyme sprigs and bay leaf.
Step 4: Toast the bread
Heat oven to 200°C / 400°F. Arrange bread slices on a tray and toast 8–10 minutes, flipping once, until crisp and golden. Rub one side lightly with the cut garlic clove.
Step 5: Gratiner (broil the cheese topping)
Ladle hot soup into 4 oven-safe bowls/ramekins on a baking tray. Float 1–2 toasts on each bowl (garlic side down). Pile on Gruyère, then a little Parmesan if using. Broil/grill on high 2–4 minutes until the cheese is melted, bubbling, and spotted brown. Let stand 2 minutes (it’s lava-hot), then serve.
| Calories | 520 kcal |
| Protein | 23g |
| Carbs | 46g |
| Fat | 24g |