French onion soup topped with melted cheese toast, served in black bowls with a baguette
Intermediate 🌍 Old World

French Onion Soup (Sopa de Cebolla Francesa)

80 min Cook Time
4 Servings
420 cal Per Serving
10 Ingredients
🔥🔥 Intermediate Difficulty
Scale
Be the first to 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

Tortilla Española Recipe (Modern Twist) — All the golden, egg-rich depth of a proper Spanish tortilla — silky potatoes, that satisfying
🔥🔥 Intermediate 🌍 Old World

Tortilla Española Moderna (Modern Spanish Omelette)

All the golden, egg-rich depth of a proper Spanish tortilla — silky potatoes, that satisfying flip — with the microwave doing the heavy lifting. Same soul, half the work.

⏱ 65 min Cook This →
Plate of golden-fried croquetas de cocido madrileño, Spanish béchamel croquettes made from leftover stew meats
🔥🔥 Intermediate 🌍 Old World

Spanish Ham Croquettes (Croquetas de Cocido Madrileño)

The classic next-day dish from Madrid's beloved chickpea stew. Leftover meats folded into a thick béchamel, breaded, and fried until golden.

⏱ 50 min Cook This →
Braised Beef Shanks Recipe — Cross-cut beef shanks slow-braised in wine, paprika, and aromatics until the collagen melts into a
🔥🔥 Intermediate 🌍 Old World

Braised Beef Shanks (Jarrete de Ternera Estofado)

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

⏱ 120 min Cook This →
Explore More

More 🌍 Old World

Torrejas, Spanish-style French toast with citrus, star anise, and rose petals
⭐ Foundational 🌍 Old World

Spanish French Toast (Torrijas)

Torrijas are Spain's version of pain perdu — stale bread soaked in spiced milk, dipped in egg, fried in olive oil, and finished with honey. They've been made across Spain for Semana Santa for centuries.

⏱ 25 min Cook This →
Flan Recipe — Caramel on the bottom, silky custard on top — then you flip it. One of
🔥 Beginner 🌍 Old World

Flan (Caramel Custard)

Caramel on the bottom, silky custard on top, then you flip it. A water-bath bake that turns three humble ingredients into one of the oldest, most forgiving desserts in the Old World kitchen.

⏱ 90 min Cook This →
Bizcocho Recipe — A moist, tender Spanish sponge cake built on yogurt and olive oil instead of butter.
🔥 Beginner 🌍 Old World

Spanish Yogurt Olive Oil Cake (Bizcocho de Yogur)

A moist Spanish sponge cake built on yogurt and olive oil instead of butter, no mixer required. One bowl, bright with lemon, ready in under an hour.

⏱ 60 min Cook This →
Stay in the Kitchen

Free Kitchen Kit.
Plus Early Access.

Sign up and get a free Kitchen Starter Cheat Sheet: conversions and knife cuts, straight to your inbox. Then every week, next week's recipe lands first, before it's live on the site. English or Spanish.

No spam. Unsubscribe anytime. Hecho con amor.