Go Back
French Onion Soup Recipe
Capri Koch

Classic French Onion Soup

Classic French Onion Soup is one of the most deeply satisfying dishes in all of French cooking — a humble bowl of slowly caramelized onions simmered in a rich beef broth, finished with a splash of white wine and cognac, then crowned with toasted baguette and a bubbling, golden layer of Gruyère cheese broiled to perfection. The magic lies entirely in patience: the onions must cook low and slow for 45–60 minutes until they transform from sharp and pungent into something impossibly sweet, jammy, and deeply complex. Serve it as an elegant starter or a complete cold-weather dinner — it is the kind of soup people remember for years.
Prep Time 15 minutes
Cook Time 1 hour 20 minutes
Broiling Time 5 minutes
Total Time 1 hour 36 minutes
Servings: 6
Course: Appetizer, dinner, lunch, Soup, starter
Cuisine: caramelized onion soup, european, French
Calories: 420

Ingredients
  

Group 1 — The caramelized onion base
  • 6 Large yellow onions about 1.2 kg / 2.6 lbs total; peeled and thinly sliced root to stem, approximately ¼ inch thick
  • 4 tbsp unsalted butter
  • 2 tbsp olive oil combined with butter to prevent burning during long caramelization
  • 1 tsp salt added early to help onions release moisture
  • ½ tsp black pepper freshly ground
  • 1 tsp granulated sugar optional but recommended; accelerates caramelization and deepens sweetness
  • 4 cloves garlic finely minced; added after onions are caramelized
Group 2 — The broth
  • ¾ cup dry white wine Sauvignon Blanc or Pinot Grigio; used to deglaze; substitute dry sherry or red wine
  • 2 tbsp cognac or dry sherry optional but adds remarkable depth; can omit
  • 2 tbsp all-purpose flour for thickening; omit for a thinner broth
  • 8 cups high-quality beef broth use good bone broth or homemade for best results; substitute vegetable broth for vegetarian
  • 1 tsp Worcestershire sauce adds umami depth
  • 4 sprigs fresh thyme or ½ tsp dried thyme
  • 2 bay leaves removed before serving
  • Salt and black pepper To taste for final seasoning
Group 3 — The cheesy crouton topping
  • 1 French baguette day-old is ideal; slice into ½-inch rounds
  • 2 tbsp olive oil for brushing or drizzling bread before toasting
  • 1 clove garlic halved; for rubbing over toasted bread
  • 200 g Gruyère cheese freshly grated; about 2 heaped cups; Comté, Emmental, or Swiss are good substitutes
  • 30 g Parmesan cheese optional; adds extra nutty sharpness to the topping

Equipment

  • 1 Large Dutch oven or heavy-bottomed pot Essential for even heat distribution during long caramelization; do not use non-stick
  • 6 Oven-safe soup crocks or bowls Must be broiler-safe for the final cheese step
  • 1 Baking sheet To place soup bowls safely under the broiler
  • 1 Wooden spoon or silicone spatula For scraping up the fond (browned bits) during caramelization
  • 1 Sharp knife and cutting board For slicing onions thinly and evenly
  • 1 Ladle For serving the soup into bowls
  • 1 Cheese grater For freshly grating Gruyère — always grate your own for best melt

Method
 

Group 1 — Caramelize the onions (the most important step)
  1. Step 1 — Prepare and add the onions
    Place your Dutch oven over medium heat. Add the butter and olive oil together and let the butter melt fully. Add all the sliced onions, salt, pepper, and sugar. Stir well to coat every onion strand in the butter mixture. The pot will look overwhelmingly full — this is normal. Onions lose around 75 percent of their volume as they cook. Do not cover the pot.
  2. Step 2 — Caramelize low and slow — do not rush this
    Cook the onions over medium to medium-low heat, stirring every 5–10 minutes for the first 30 minutes, then every 2–3 minutes for the final 15–20 minutes as they darken. The total time is 45–60 minutes. You are looking for a deep, rich, chestnut-brown color throughout — not pale gold, not light amber. Truly caramelized onions are jammy, collapsing, and deeply sweet-smelling. If at any point the onions begin to stick or catch on the bottom of the pot, add a splash of wine or water and use your wooden spoon to scrape up those browned bits — they are concentrated flavor and must not be wasted or burned.
  3. Step 3 — Add garlic and flour
    Once the onions have reached a deep, dark golden-brown color, add the minced garlic and stir for 2 minutes until fragrant. Sprinkle the flour evenly over the onions and stir continuously for 1–2 minutes to cook out the raw flour taste. The mixture will look dry and paste-like — this is correct.
Group 2 — Build and simmer the broth
  1. Step 4 — Deglaze with wine
    Pour in the dry white wine and increase the heat to medium-high. Use your wooden spoon to vigorously scrape up every bit of browned fond from the bottom of the pot — this is where the deepest flavor lives. Let the wine bubble and reduce until it is almost completely absorbed into the onions and the liquid has nearly disappeared, about 5–8 minutes. The onions should look glossy and jammy.
  2. Step 5 — Add the broth, herbs, and Worcestershire
    Pour in all 8 cups of beef broth. Add the Worcestershire sauce, fresh thyme sprigs, and bay leaves. Stir everything together and bring the soup to a gentle boil. Once boiling, reduce the heat to low, partially cover with the lid, and simmer for 20–30 minutes to allow all the flavours to fully meld together into a cohesive, deeply savoury broth.
  3. Step 6 — Add cognac, taste and season
    Remove and discard the thyme sprigs and bay leaves. Stir in the cognac or dry sherry if using and let it cook for 1 minute. Taste the soup carefully and adjust the seasoning with salt and black pepper. The broth should taste rich, deeply savoury, and well-balanced — not flat. If it tastes thin, simmer uncovered for another 10 minutes to concentrate the flavour.
Group 3 — Prepare the cheesy baguette topping
  1. Step 7 — Toast the baguette slices
    Preheat your oven to 200°C / 400°F. Arrange baguette slices in a single layer on a baking sheet. Drizzle or brush both sides lightly with olive oil. Bake for 8–10 minutes until the slices are completely dry, crisp, and lightly golden. While still warm, rub one side of each slice with the cut side of the halved garlic clove — this adds a subtle fragrant layer that elevates the entire topping. The bread must be thoroughly dried out before going into the soup, or it will immediately turn to mush.
  2. Step 8 — Assemble the bowls
    Switch your oven to the broiler setting at its highest heat and allow it to preheat fully. Ladle the hot soup into 6 individual oven-safe soup crocks, filling each about three-quarters full. Float 2–3 toasted baguette slices on top of the soup in each bowl, covering the surface. Pile a generous, heaped amount of freshly grated Gruyère over the bread — be very generous here, you want full coverage with some overhang onto the edges of the bowl. Add a little Parmesan on top if using.
Group 4 — Broil and serve
  1. Step 9 — Broil until golden and bubbling
    Place all the filled bowls on a sturdy baking sheet and slide the tray under the preheated broiler. Broil for 3–5 minutes, watching closely and constantly — the cheese goes from beautifully golden to burnt very quickly under a hot broiler. You are looking for deep golden-brown colour across the entire surface, with the cheese fully melted, bubbling at the edges, and slightly scorched in spots. That contrast of textures — crisp, almost-burnt cheese over soaked bread over rich soup — is what makes authentic French onion soup unforgettable.
  2. Step 10 — Rest briefly and serve
    Remove the bowls from the oven carefully using both hands or oven mitts — the bowls will be extremely hot. Place each on a small plate or saucer for safety. Allow to rest for 2 minutes before serving, as the soup inside stays scalding hot for a long time. Warn your guests before they dive in. Serve immediately while the cheese is still bubbling, with extra baguette on the side for dipping into any remaining broth.

Video

Notes

  • The caramelization step cannot be rushed: This is the single most important technique in the entire recipe. Golden, jammy, deeply caramelized onions — taking a full 45–60 minutes — are what separate a transcendent French onion soup from an ordinary one. Pale onions produce pale, flat-tasting soup. No shortcut replicates the sweetness and complexity that time and low heat create.
  • Best onions to use: Yellow onions are the classic choice — they are balanced between sweet and savory and caramelize beautifully. White onions work but have less depth. Red onions turn dark and muddy in color. Avoid sweet onions (like Vidalia) as they become overly sweet once caramelized. A mix of yellow and sweet onions is a popular compromise.
  • Slice root to stem, not across the middle: Cutting onions from root to stem along their natural lines helps them hold their shape during the long cook, rather than breaking down too early into mush. Aim for ¼-inch thickness — thinner strands will dissolve too quickly.
  • Non-stick pans are not suitable: The rich browned bits (called fond) that develop on the bottom of a heavy pot during caramelization are essential for flavor. Non-stick surfaces prevent this fond from forming. Always use a cast-iron Dutch oven, stainless steel, or enameled cast iron.
  • Use good quality broth — it matters enormously: The broth is the second dominant flavor after the onions. Low-sodium, good-quality beef bone broth or homemade stock makes a dramatic difference. Avoid thin, watery stock cubes if possible. If using commercial broth, choose the best available and consider reducing it slightly before adding to concentrate the flavor.
  • The bread must be dry before it goes in: Fresh bread turns to a soggy paste immediately. Toast baguette slices until completely dry and crisp all the way through before layering them on the soup. Day-old bread is actually ideal. The bread should hold its structure under the melting cheese before gradually absorbing the broth beneath.
  • Vegetarian version: Substitute good-quality vegetable broth for the beef broth and omit the Worcestershire sauce (or use a vegetarian Worcestershire). Add a tablespoon of tomato paste and a teaspoon of soy sauce to the broth to replicate some of the depth and umami that beef broth provides.
  • Cheese guide: Gruyère is the classic and best choice — it melts smoothly, bubbles beautifully, and has a nutty, slightly earthy flavor that is perfect with sweet onions. Comté is the most authentic French substitute. Emmental, Jarlsberg, Swiss, and Fontina all melt well. Mozzarella can be used to supplement for extra stretch. Always grate your own cheese from a block — pre-shredded cheese contains anti-caking agents that prevent proper melting.
  • Make-ahead: The soup base (without bread or cheese) can be made up to 3 days ahead and refrigerated, or frozen for up to 3 months. The flavour actually improves overnight. Reheat gently on the stovetop, then proceed with toasting the bread and broiling the cheese just before serving.
  • Storage: Store the soup base (without bread or cheese topping) in an airtight container in the refrigerator for up to 4–5 days. Do not store assembled bowls — assemble fresh each time for best results.
  • Alcohol-free alternative: If avoiding alcohol entirely, skip the white wine and cognac. Substitute with ½ cup extra beef broth plus 1 tablespoon white wine vinegar or apple cider vinegar for acidity and deglazing. The flavour will be simpler but still very good.
  • Oven-safe bowls are non-negotiable: Standard bowls will crack or shatter under the broiler. Always use ceramic ramekins, proper French onion soup crocks, or any bowl explicitly labelled broiler-safe. Place them on a baking sheet to make transferring in and out of the oven safe and easy.