This is a straightforward French onion soup — slow-cooked caramelized onions, beef broth, toasted baguette, and melted Gruyère broiled on top. It takes about an hour and a half start to finish, but most of that time is hands-off. The honest reason to make it: the ingredients are cheap, the result is genuinely impressive, and it reheats beautifully.
Shopping notes
- Onions: Yellow onions are the right call here. Sweet onions like Vidalia will work but can turn mushy. You need about 4 large ones — they shrink dramatically.
- Gruyère: This is worth buying at the deli counter rather than pre-shredded. Pre-shredded has anti-caking agents that affect how it melts. Comté is the best swap if Gruyère is unavailable or expensive. Emmental works too but has a milder flavor.
- White wine: Use something dry — Sauvignon Blanc or dry vermouth. Avoid anything labeled “cooking wine,” which is salted and will throw off the seasoning.
- Beef stock: This is the backbone of the broth, so quality matters. A good store-bought stock (not broth — stock has more body) is fine. Check the sodium level; low-sodium gives you more control.
- Baguette: Day-old is genuinely better here, not just a tip to use up stale bread. Fresh baguette can turn to mush in the broth before you get it under the broiler.
What makes this version work
The two things that actually matter are the caramelization time and the flour step. Thirty-five to forty minutes of slow cooking is not an exaggeration — pulling the onions early at 20 minutes gives you soft onions, not caramelized ones, and the broth will taste thin. Keep the heat medium-low and stir every few minutes; the onions need to release their moisture and then start to brown, not steam indefinitely. The flour step is easy to rush, but cooking it for a full two minutes after adding it to the onions is what removes the raw, pasty taste. Those two minutes make a real difference in the finished broth.
Common problems and fixes
- Onions burning instead of caramelizing: The heat is too high. Add a small splash of water to the pot, scrape up any dark bits, and turn the heat down. The goal is slow browning, not scorching.
- Broth tastes flat or watery: This usually means the onions weren’t fully caramelized, or the stock was low quality. Simmer uncovered for an extra 10 minutes to concentrate the flavor before serving.
- Cheese slides off or doesn’t brown evenly: The baguette slices need to sit flat and cover most of the soup surface so the cheese has something to grip. Make sure the crocks are filled to within about half an inch of the rim — too much airspace and the cheese dries out before it browns.
- Soup is too salty: Taste before adding any Worcestershire sauce, especially if your stock is not low-sodium. Add a small peeled potato to the simmering broth for 10 minutes to absorb some salt, then discard it.
- Baguette sinks into the broth: Skip the garnish of extra herbs on top — not worth the extra dish — and make sure the bread is properly toasted and dry before it goes on the soup. Soft bread will absorb liquid and sink immediately.
Storage and reheating
Store the soup base and the baguette slices separately — never store them together or the bread turns to mush. The soup base keeps in the fridge for up to 4 days in a sealed container, and it freezes well for up to 3 months; freeze it before adding the bread and cheese topping. Reheat the broth on the stovetop over medium heat until it’s fully hot, then ladle into crocks, add fresh toasted baguette, top with Gruyère, and broil as directed. This makes it a strong candidate for cooking the soup base a day or two ahead and finishing the broiled topping right before serving.
Classic French Onion Soup
Equipment
- Dutch oven or heavy-bottom pot
- Wooden spoon
- Broiler-safe soup crocks
- Ladle
Ingredients
For the Soup Base:
- 4 tbsp unsalted butter high-quality European-style preferred
- 2 tbsp olive oil extra virgin
- 6 cups yellow onions, thinly sliced about 4 large onions
- 1 tsp kosher salt
- 1 tbsp all-purpose flour to thicken slightly
- ½ cup dry white wine Sauvignon Blanc or dry vermouth works well
- 6 cups beef stock preferably homemade or high-quality store-bought
- 2 pieces bay leaves
- 4 sprigs fresh thyme or 1/2 tsp dried thyme
- 1 tsp Worcestershire sauce optional, adds depth
For the Topping:
- 4 slices baguette, toasted day-old baguette works best
- 1 ½ cups Gruyère cheese, grated Comté or Emmental are great substitutes
Instructions
- In a Dutch oven over medium heat, melt the butter with olive oil. When shimmering, add the sliced onions and salt. Cook slowly, stirring frequently, for 35–40 minutes until deep golden brown and deeply caramelized. Lower the heat if needed to avoid burning.
- Sprinkle in the flour and stir well to coat the onions. Cook for 2 minutes, stirring, to eliminate raw flour taste.
- Deglaze the pot with white wine, scraping up browned bits. Simmer for about 3 minutes, until slightly reduced.
- Add the beef stock, bay leaves, thyme, and Worcestershire sauce. Bring to a gentle simmer, then cover partially and simmer on low heat for 20–25 minutes. Discard the herbs before serving.
- Preheat broiler. Ladle soup into broiler-safe crocks placed on a baking sheet. Place toasted baguette slices on each and top generously with grated Gruyère.
- Broil for 3–5 minutes, watching carefully, until cheese is melted and bubbling with golden edges. Serve immediately.
Notes
- For a vegetarian version, use mushroom stock instead of beef stock and omit Worcestershire sauce.
- To quicken the caramelization process, a pinch of sugar may be added.
- If you don’t have broiler-safe bowls, serve with cheese toast on the side.
Nutrition
Common questions
Can I make this soup ahead of time?
Yes — the soup base is actually better made a day ahead. Store it in the fridge without the bread or cheese, then reheat and do the broiling step just before you serve it.
Do I really need broiler-safe soup crocks?
Yes, regular bowls can crack under direct broiler heat. If you don’t have oven-safe crocks, you can do the cheese step in a small baking dish instead — it won’t look the same, but it works.
Can I make this without wine?
You can skip it and deglaze with a splash of the beef stock instead. The wine adds acidity that balances the sweetness of the onions, so if you leave it out, a small squeeze of lemon juice stirred in at the end helps.
Why are my onions taking way longer than 40 minutes?
Pan size and moisture are the main factors. A wider pan lets moisture evaporate faster and speeds up browning. If your onions are still very wet and pale after 40 minutes, remove the lid fully and turn the heat up slightly — just watch them closely.
If you liked this one
- Authentic French bread to slice for the topping
- French chocolate mousse for dessert
- Creamy New England clam chowder
- Sweet corn chowder for a lighter soup night


















































