French Onion Soup
Intermediate 🌍 Old World

French Onion Soup

80 min Cook Time
4 Servings
420 cal Per Serving
10 Ingredients
🔥🔥 Intermediate Difficulty
Scale
Rate this recipe
Jump to Recipe

French onion soup is the dish that teaches you what caramelization actually means — not golden, not browned, but deep mahogany, syrupy, and sweet in a way that takes nearly an hour of patient stirring to achieve.

The soup itself is almost comically simple: onions, butter, stock, bread, cheese. The complexity comes entirely from the technique applied to the onions. Most recipes say “cook until golden, about 20 minutes.” That timeline produces lightly softened onions — the starting point, not the finish line. True caramelization takes 45 to 60 minutes over medium-low heat, with occasional stirring and, at the end, controlled deglazing to lift the dark fond that builds on the bottom of the pan. The result is onions that have lost their sharpness entirely and become concentrated, almost jammy, with a sweetness that reads as deeply savoury.

The rest of the recipe is assembly: a splash of white wine to deglaze, good beef stock, a long enough simmer to pull everything together, then the theatrical finish — ovenproof crocks filled with soup, topped with a toasted baguette slice, buried under a thick layer of Gruyère, and run under the broiler until the cheese bubbles and browns at the edges. It’s a dish that rewards patience at every stage.


What You’re Learning

True caramelization. Caramelization is a specific chemical reaction — sugars in the onion breaking down under sustained heat into hundreds of new flavour compounds, producing colour, depth, and sweetness simultaneously. It cannot be rushed. High heat speeds up evaporation but not the chemical transformation, so you end up with onions that look caramelized but taste sharp and harsh. The correct approach is medium-low heat, a wide pan so moisture can escape, and patience. You’ll know the onions are done when they’ve reduced to roughly a quarter of their original volume, turned a deep, even amber-brown throughout, and smell intensely sweet rather than sharp. This takes time — trust the process and resist the urge to raise the heat.

Fond and deglazing. As the onions cook, sugars and proteins bond to the bottom of the pan in a dark layer called fond. This is flavour — not burning. Deglazing means adding liquid (wine, in this case) to a hot pan and scraping up everything that’s stuck to the bottom. The fond dissolves into the liquid, adding concentrated colour and depth to the soup. If you skip this step or the pan isn’t hot enough when the wine goes in, you lose most of the flavour that built up during the long caramelization. Add the wine when the pan is hot enough to sizzle immediately, and scrape thoroughly with a wooden spoon or spatula.


Ingredients

Makes 4 servings.

  • 3 lbs (1.4kg) yellow onions (about 5 large), halved and thinly sliced
  • 3 tbsp unsalted butter
  • 1 tbsp olive oil
  • 4 garlic cloves, minced
  • 1 tsp fresh thyme leaves (or ½ tsp dried)
  • 1 bay leaf
  • ½ cup (120ml) dry white wine
  • 6 cups (1.4 litres) good beef stock
  • 1 tsp fine salt, plus more to taste
  • Freshly ground black pepper

For the topping: 8 slices baguette (about ½ inch thick), toasted; 6 oz (170g) Gruyère, coarsely grated (Emmental or a mix of Gruyère and Swiss works too).


Method

1. Caramelize the onions

Melt the butter with the olive oil in a large, heavy-bottomed pot or Dutch oven over medium heat. Add all the sliced onions and the salt. Stir to coat in the fat, then cook uncovered over medium to medium-low heat, stirring every 5 to 8 minutes. After 20 minutes the onions will have softened and reduced significantly. After 40 to 50 minutes they should be deep golden brown, very soft, and jammy. If they’re sticking and browning too fast, add a splash of water and reduce the heat. If they’re not taking on colour after 30 minutes, raise the heat slightly. Add the garlic and thyme in the last 5 minutes of caramelizing.

2. Deglaze with wine

Pour in the white wine — it should sizzle immediately. Scrape up all the dark fond from the bottom of the pot with a wooden spoon. Cook for 2 to 3 minutes, stirring, until most of the wine has evaporated and the pot smells rich and concentrated.

3. Add stock and simmer

Add the beef stock and bay leaf. Bring to a boil, then reduce heat to low and simmer, partially covered, for 20 minutes. Taste and adjust salt and pepper. Remove and discard the bay leaf.

4. Toast the baguette

While the soup simmers, arrange the baguette slices on a baking sheet and toast in a 375°F (190°C) oven for 8 to 10 minutes, flipping once, until dry and lightly golden. The bread should be firm enough to sit on the soup without immediately dissolving. Set aside.

5. Assemble and broil

Position an oven rack about 6 inches from the broiler element and preheat the broiler to high. Set 4 ovenproof crocks or soup bowls on a rimmed baking sheet. Ladle the hot soup into the crocks, leaving about ½ inch of headspace. Place 1 to 2 toasted baguette slices on top of the soup in each crock. Cover generously with grated Gruyère, making sure cheese reaches all the way to the edges of the crock. Broil for 3 to 5 minutes until the cheese is fully melted, bubbling, and beginning to brown at the edges. Watch closely — it goes from golden to burnt quickly. Serve immediately.


Notes

  • The onions are the recipe. If you rush them, the soup will taste sweet and flat rather than deeply savoury. The 45-minute minimum is real — plan for it. Once they’re done, the rest of the soup comes together quickly.
  • Stock quality matters here. French onion soup has very few ingredients and the stock carries most of the liquid flavour. Use a good commercial beef stock (not a bouillon cube dissolved in water) or make your own. The difference is noticeable in a dish this simple.
  • You need ovenproof crocks. Standard bowls will crack under the broiler. Oven-safe ceramic soup crocks (sometimes called French onion soup bowls) are inexpensive and worth having. In a pinch, ramekins work for a smaller serving.
  • Make the soup base ahead. The caramelized onion broth can be made 3 days ahead and refrigerated, or frozen for up to 3 months. The broiled cheese topping must be done at serving time.
  • No white wine on hand? Substitute dry sherry, vermouth, or simply use additional beef stock. The wine adds acidity and depth but isn’t strictly required — the fond from a long caramelization carries the dish.
  • Cheese variations. Gruyère is traditional and melts beautifully. Swiss Emmental works well. Provolone is a common and affordable substitute. Avoid pre-shredded cheese — the anti-caking additives prevent it from melting smoothly.
Keep Going

More at This Level

Beef Stew Recipe
🔥🔥 Intermediate 🌍 Old World

Beef Stew Recipe

A Spanish-style beef stew built in layers — seared chuck, paprika-wine base, root vegetables — braised low and slow until the sauce holds a spoon.

⏱ 90 min Cook This →
Braised Beef Shanks Recipe
🔥🔥 Intermediate 🌍 Old World

Braised Beef Shanks Recipe

Cross-cut beef shanks slow-braised in wine, paprika, and aromatics until the collagen melts into a rich, glossy sauce.

⏱ 120 min Cook This →
Classic Meat Lasagna
🔥🔥 Intermediate 🌎 New World

Classic Meat Lasagna

Ground beef and Italian sausage, ricotta layered with store-bought pasta sauce — this is the lasagna worth making. Learn the layering order and why resting it before slicing is the only step that truly matters.

⏱ 90 min Cook This →
Explore More

More 🌍 Old World

Bizcocho Recipe
🔥 Beginner 🌍 Old World

Bizcocho Recipe

A moist, tender Spanish sponge cake built on yogurt and olive oil instead of butter. No stand mixer, no creaming, no fuss — just a bowl, a whisk, and something worth making every week. Bizcocho (bee-SKOH-choh) is one of the most practical cakes in the Spanish home kitchen. It appears in countless regional variations but […]

⏱ 60 min Cook This →
Beef Stew Recipe
🔥🔥 Intermediate 🌍 Old World

Beef Stew Recipe

A Spanish-style beef stew built in layers — seared chuck, paprika-wine base, root vegetables — braised low and slow until the sauce holds a spoon.

⏱ 90 min Cook This →
Tortilla Española Recipe
🔥🔥 Intermediate 🌍 Old World

Tortilla Española Recipe

The real tortilla española — confited onions, olive-oil-poached potatoes, and a custardy center that sets on its own time.

⏱ 60 min Cook This →
Stay in the Kitchen

Early
Access.

New recipes land in your inbox before they hit the site. Every week, in English or Spanish. Free.

No spam. Unsubscribe anytime. Hecho con amor.