Soups & Stews
This amazing French onion soup recipe transforms humble ingredients into a dish that feels like a Parisian bistro brought to your kitchen. š„ The secret lies in slow-cooked onions that caramelize into sweet, golden perfection, then float in a rich, savory broth topped with crispy bread and melted GruyĆØre.
I've perfected this version over years of testing, and it never fails to impressāeven skeptics become believers after the first bite.
The magic starts with caramelizing onions for at least 45 minutes until they're deep amber and jammy, then building a robust broth using beef stock and a splash of red wine for depth.
While the soup simmers, you'll toast baguette slices until golden and crispyāthey're the star of this dish, holding up to the melty cheese without getting soggy. Every spoonful is a balance of sweet, savory, and umami that makes this soup irresistibly comforting.
What makes this recipe truly special is the crispy topāit's not just melted cheese, but a golden, crackling crust that adds texture and visual appeal.
The moment you pull it from the oven, that aroma fills your kitchen, and the first bite delivers all the flavors working together: tender onions, rich broth, and that perfect blend of cheesy, crispy, and creamy. It's the kind of dish that makes weeknights feel like a celebration.
Serve it immediately when the cheese is bubbly and the bread is crisp, or let it sit for a few minutes to develop that signature crackly top.
Pair it with a simple green salad or crusty bread on the side, and you've got a meal that's elegant enough for company but simple enough for any night. Let's make this French classic your new favorite.
Ingredients for amazing french onion soup
Four onions, a splash of wine, and the magic of slow caramelizationāthis is all you need for bistro-quality French onion soup.
| Ingredient | Amount | Notes |
|---|---|---|
| Yellow Onions š§ | 4 large | Sliced thinly, about 3 lbs total |
| Unsalted Butter š§ | ½ cup | For caramelizing onions |
| Beef Stock š„« | 4 cups | Homemade or high-quality store-bought |
| Dry Red Wine š· | ½ cup | Bold variety like Cabernet Sauvignon |
| Chicken Stock š„« | 2 cups | For lighter broth balance |
| GruyĆØre Cheese š§ | 2 cups | Freshly grated, not pre-shredded |
| Baguette š | 1 whole | Crusty, about 12 slices |
| Garlic Cloves š§ | 4 cloves | Minced for flavor depth |
| Fresh Thyme šæ | 2 sprigs | Leaves only, about 1 tbsp chopped |
| Salt š§ | 1 ½ tsp | Diamond Crystal preferred |
| Black Pepper š¶ļø | ½ tsp | Freshly cracked |
| Olive Oil š« | 2 tbsp | For toasting bread |
| Balsamic Vinegar š¶ | 1 tbsp | For deglazing pan |
The onions are everything here. Yellow onions with their sharp bite caramelize bestāred onions add color but less sweetness. Grab a bag of Sweet Onion brand from the grocery store if you want consistency, but any yellow onion works. Thin slices mean more surface area to caramelizeāaim for 1/8-inch thick slices. I usually buy a 3-pound bag and slice them all at once while I prep the rest. The butter? European-style unsalted like PlugrĆ” melts cleaner than American brands. If you're using salted butter, reduce the added salt later.
No red wine? Dry sherry or beef broth with 1 tbsp balsamic gets you close. The GruyĆØre is non-negotiable for that authentic flavorāpre-shredded melts into glue. Need a swap? ComtĆ© or Emmental work in a pinch. The baguette should be crusty outside, soft insideāTrader Joe's or Whole Foods have great options. For the stock, Kitchen Basics or Pacific Foods brands are reliable. Fresh thyme is ideal, but dried at 1/3 the amount works if that's what you've got. The garlic can be roasted for a sweeter flavorājust toss the whole cloves in olive oil at 400°F for 15 minutes before mincing.
Caramelized onions keep for 5 days in the fridgeāmake extra for sandwiches. The toasted baguette slices stay crisp for 2 hours at room temp, so assemble just before baking. This soup reheats beautifullyā3 minutes on the stove or 1 minute in the microwave. The cheese topping? Bake until golden and bubbly, then let it rest 5 minutes before servingāthe crackly top develops as it cools slightly. Portion into individual bowls before baking for that classic presentation.
Why You'll Love This Recipe
- Two-Ingredient Caramel Base: This soup starts with just onions and butterāno fancy techniques, just patience. I let those onions slow-cook until theyāre golden and jammy, then deglaze with red wine for that rich, deep flavor. Honestly, the hardest part is waiting for them to soften, but itās worth every second.
- Umami Bomb: That beef stock and red wine combo? Itās like a flavor explosion in your bowl. The wine cuts through the sweetness of the onions while the beef stock adds this deep, savory richness that makes it taste like you slaved over it for hoursāeven though you didnāt.
- Weeknight or Weekend Star: Make it for a lazy Tuesday night with toast and wine, or turn it into a showstopper for dinner guests. The same base works for a simple weeknight meal or a fancy dinnerājust add a slice of baguette and GruyĆØre for that classic touch. Between us, itās my go-to for when I donāt want to think too hard.
- Leftovers That Taste Better: The flavor actually improves the next dayāyes, really. The onions keep caramelizing in the fridge, and reheating it just makes it richer. Iāll be real: I often make a double batch because itās too good to resist, and itās way cheaper than takeout. Plus, it freezes like a dream for those nights you just canāt cook.
Step-by-step instructions for French onion soup
Here's how to create that restaurant-quality French onion soup with a perfectly crispy baguette top.
š„ Step 1: Caramelize the Onions Until Deep Golden
Heat a large Dutch oven over medium-low heat and add the 0.5 cup unsalted butter. Let it melt completely, then add the 4 large yellow onions sliced thinly. I like to use a mandoline for even slicesāabout ā -inch thickāso they caramelize uniformly.
Cook the onions for 40-45 minutes, stirring occasionally, until they're deep golden brown and almost jam-like in texture. This is where the magic happensāthe slow cooking develops intense sweetness and depth of flavor. If they start to stick, add a splash of water and scrape up those browned bits from the bottom of the pot. They're packed with flavor!
About 10 minutes before they're done, add the 4 cloves minced garlic and 2 sprigs fresh thyme leaves. Stir well to combine and let them infuse into the onions for the final few minutes of cooking. The thyme will add that classic French aroma that makes this dish so special.
š³ Step 2: Build the Rich Broth Base
Once the onions are beautifully caramelized, increase heat to medium-high and pour in the 0.5 cup dry red wine. Let it bubble vigorously for 2-3 minutes to cook off the alcohol completely. You'll see the wine reduce and intensify in flavorāthis is crucial for developing the soup's depth.
Next, add the 4 cups beef stock and 2 cups chicken stock, bringing everything to a gentle simmer. Stir in the 1.5 tsp salt and 0.5 tsp black pepper, then add the 1 tbsp balsamic vinegar. The vinegar adds a subtle tang that balances the richness. Let the soup simmer gently for 15-20 minutes to allow all the flavors to meld together.
Here's the thingādon't rush this step. The longer the soup simmers, the more complex the flavors become. You'll know it's ready when the aroma fills your kitchen and the onions are completely tender with no raw onion taste remaining.
š„ Step 3: Toast the Baguette Slices
While the soup simmers, preheat your broiler to high. Cut the 1 whole baguette into 12 slices, about ½-inch thick. Brush both sides of each slice generously with the 2 tbsp olive oilāthis creates that perfect golden crust we're after.
Place the baguette slices on a baking sheet in a single layer, making sure they don't overlap. Broil for 2-3 minutes per side until they're beautifully golden brown and crispy. Watch them carefullyāthey go from perfect to burnt in seconds! You want them to be crisp enough to stand up to the cheese without getting soggy.
Real talk: Don't skip the oiling step. The oil helps create that perfect crunch that contrasts so nicely with the creamy cheese topping. And broiling gives you that crispy texture that's essential for the classic French onion soup experience.
š„ Step 4: Assemble and Melt the Cheese
Once your soup has simmered and the baguette slices are perfectly crispy, it's time to assemble. Ladle the hot soup into 4 oven-safe bowls, placing 3 baguette slices in each bowl. The slices should float on top of the soupāthis ensures they get completely covered in melted cheese.
Sprinkle each bowl generously with the 2 cups freshly grated GruyĆØre cheese. I use a microplane for thisāit gives you that perfect meltable texture. The key here is to use freshly grated cheese; pre-shredded cheese has anti-caking agents that prevent proper melting.
Place the bowls on a baking sheet and broil for 3-5 minutes until the cheese is bubbly and golden brown on top. You want to see that beautiful cheese pull formingāit should be golden and slightly crispy on top while still creamy underneath. Watch them closely so they don't burn!
š½ļø Step 5: Serve Immediately for Maximum Enjoyment
Remove the bowls from the oven and let them sit for 1-2 minutesājust enough time for the cheese to set slightly but still be gooey in the center. The contrast between the crispy baguette, creamy cheese, and rich onion broth is what makes this dish so amazing.
Serve each bowl immediately while the cheese is still molten. The first bite should deliver that perfect combination of crispy bread, melted GruyĆØre, and the deep, caramelized onion flavor. If you have any leftovers, they won't be nearly as goodāthis soup is best enjoyed fresh!
Here's a pro tip: I like to serve this with a simple green salad on the side. The acidity from the vinaigrette cuts through the richness of the soup and balances the meal perfectly. Enjoy your homemade French onion soupāit's worth every minute of the caramelizing process!
Pro Tips For Making Amazing French Onion Soup
- CARAMELIZE LOW AND SLOW: I used to rush the onions and end up with burnt edges and sad, watery soup. Instead, crank the heat to medium-low and let them cook for 45-60 minutes, stirring occasionally. You want them deep goldenāalmost like candyābefore adding the wine. (Yes, it takes time, but skimp here and the whole dish suffers.)
- USE A SPLASH OF WATER: When deglazing with red wine, Iāve learned to add 2 tablespoons of water first. The wine reduces faster and more evenly, and you wonāt end up with a sticky mess that clings to the pot. Stir like you mean itāthose browned bits are flavor gold.
- SALT THE STOCKS WELL: If youāre using store-bought beef or chicken stock, taste it first. Itās usually bland, and adding salt later wonāt fix it. Aim for about 1 teaspoon per quartāmore if itās unsalted. Trust me, your soup will taste flat if you skip this, and youāll wonder why itās missing depth.
- GRATE YOUR OWN CHEESE: Pre-shredded cheese is coated in anti-caking agents that make it clump and lose melt. Instead, grate your own GruyĆØre or ComtĆ©āeven a mix of sharp cheddar in a pinchāand toast it in the oven for 5 minutes before sprinkling. Itāll brown beautifully and give that perfect, gooey blanket on top. (I know, I knowāitās an extra step, but itās worth it.)
Pro cooking tips for perfect results
Heat Control Secrets
French onion soup demands medium-low heat for caramelizing onionsānever rush this step. I use a Dutch oven because its heavy base distributes heat evenly, preventing scorching. Start with 1-2 minutes per batch of onions before stirring, letting them develop fond (browned bits) that pack intense flavor.
If your onions start sticking before they're golden, add 1-2 tbsp water, scrape up the fond, and continue cooking. The goal is deep amber color with a jammy textureāthis takes 45-60 minutes total. š”ļø
Wine Reduction Mastery
The red wine isn't just for flavorāit's for depth. After caramelizing, pour in ½ cup dry red wine (like Cabernet Sauvignon) and let it reduce by half before adding broth. This concentrates the wine's flavors and removes alcohol.
I simmer the wine uncovered for 3-4 minutes while stirring constantly to prevent burning. The aroma alone transforms your soup from good to bistro-quality. Pro tip: Use a stainless steel potāit conducts heat better than nonstick for even reduction.
Broth Layering Technique
Balance is key: 4 cups beef stock (for richness) + 2 cups chicken stock (for lightness) creates the perfect foundation. Add 1 tbsp balsamic vinegar at the end to brighten flavors without overpowering. Simmer the broth uncovered for 15-20 minutes to let excess liquid evaporate and flavors meld.
Taste before servingāadjust seasoning with salt and pepper since caramelized onions can be salty. For extra depth, add 1 bay leaf during simmering and remove before serving.
Bread Crisping Hacks
Crispy baguette is non-negotiable. Brush slices with olive oil (I use California Avocado's light variety) and broil 2-3 minutes per side on high heat. Watch closelyāthey go from perfect to burnt in seconds. For extra crunch, broil the oiled side down first, then flip.
If your baguette isn't crusty enough, slice it thicker (½-inch) and broil longer. Store extra toasted slices in a paper bag at room temp for up to 2 hours to maintain crispness.
Cheese Melting Science
Freshly grated GruyĆØre (not pre-shredded!) is essential for that golden, crackly crust. Use a microplane for uniform, meltable shreds. Broil bowls for 3-5 minutes until cheese is bubbly and goldenānot browned. The secret? Preheat your broiler while the soup simmers.
For extra drama, sprinkle 1 tsp smoked paprika on top before broiling. Let bowls rest 1-2 minutes after broilingāthe cheese continues setting, creating that perfect crispy exterior/creamy interior contrast. āØ
Nutrition facts
Frequently asked questions
Can I make this French onion soup vegetarian?
Swap the beef stock for mushroom or vegetable stock and use a vegetarian wine like Pinot Noir. For extra umami, add 2 tbsp soy sauce or 1 tsp miso paste to the broth. The caramelized onions and GruyĆØre will still shineājust ensure your cheese is vegetarian-friendly (some contain animal rennet).
Why does my onion soup taste bland?
Bland soup usually means under-seasoned broth or rushed caramelization. First, check if your onions reached deep amber color (they should take 45+ minutessalt, pepper, or a splash of balsamic vinegar. Pro tip: A pinch of sugar (½ tsp) during caramelization enhances sweetness.
How do I store leftovers without soggy bread?
French onion soup isn't ideal for leftovers, but if you must: Remove the bread slices before storing, then reheat the soup separately. For the bread, toast fresh slices and place them on top just before serving. If reheating, cover the soup with a lid and warm on low heat for 3-4 minutesānever microwave. The cheese topping should be added fresh for best texture.
Can I make this soup ahead of time?
Yes! Prepare the caramelized onions and broth up to 2 days ahead, then refrigerate. Reheat gently on the stove, then assemble with fresh bread and cheese just before serving. For the best results, caramelize onions the day beforeātheir flavors deepen overnight. Store broth in an airtight container and reheat uncovered to 165°F.
What's the best cheese substitute for GruyĆØre?
If you can't find GruyĆØre, try ComtĆ©, Emmental, or even sharp cheddar (though texture differs). For a budget-friendly option, mix Parmesan and mozzarella (50/50). Avoid pre-shredded cheeseāit contains anti-caking agents that prevent proper melting. Freshly grated always wins for that signature golden crust.
