Soups & Stews
Andy cooks this French onion soup recipe, delivering the perfect balance of caramelized onions, rich beef broth, and melted Gruyère cheese—just like your favorite Parisian bistro. 🔥 The secret lies in slow-cooking onions until they're deep golden and sweet, creating the soul of this classic dish.
Every spoonful should be packed with layers of savory depth and velvety texture.
What makes this recipe stand out is the foolproof technique for achieving perfectly caramelized onions without burning them. We'll build a flavorful beef broth from scratch, then layer it all with toasted baguette slices and Gruyère cheese for that signature bubbly top.
The result is a comforting, restaurant-quality soup that's surprisingly simple to make at home.
By the time you're done, you'll have a steaming bowl of French onion soup with onions so tender they practically melt in your mouth, a robust beef broth that's rich but not overpowering, and a blanket of golden, bubbly cheese on top.
The aroma alone will have everyone gathering around your table, and the first bite delivers that perfect harmony of sweet, savory, and umami flavors.
Serve this classic with a side of crusty bread or a simple green salad for a complete meal. The beauty of this recipe is its versatility—it works equally well as a cozy weeknight dinner or an impressive dish for guests.
Let's get started on creating your own bistro-worthy French onion soup.
Ingredients for andy cooks french onion soup
Sweet caramelized onions, rich broth, and bubbly Gruyère—here’s everything you need for bistro-style French onion soup.
| Ingredient | Amount | Notes |
|---|---|---|
| Yellow Onions 🧅 | 4 large | Peeled and sliced thinly |
| Unsalted Butter 🧈 | ½ cup | Cold, cubed for caramelizing |
| Beef Broth 🍲 | 6 cups | Homemade or high-quality store-bought |
| Dry White Wine 🍷 | ½ cup | Dry, like Chardonnay |
| Garlic Cloves 🧄 | 4 cloves | Minced for depth |
| Thyme Sprigs 🌿 | 2 whole | Fresh, for aromatic flavor |
| Bay Leaves 🍃 | 2 whole | Dried, removed before serving |
| Gruyère Cheese 🧀 | 2 cups | Freshly grated, aged |
| Baguette 🍞 | 1 whole | Crusty, sliced into strips |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground for finish |
| Olive Oil 🫒 | 2 tbsp | For toasting baguette |
The onions are the star—4 large yellow onions for that deep, sweet caramelization. Grab the biggest, sweetest ones you can find at Whole Foods or your local farmers market (they’re usually sweeter there). If you’re short on time, Vidalia onions work too—they’re milder but still caramelize beautifully. The butter? Cold and cubed is key—it renders slowly and gives you that golden crust. Don’t skip the wine—it adds brightness to balance the sweetness. A dry Chardonnay or Sauvignon Blanc works perfectly, but whatever’s open in your fridge will do.
No white wine? Extra beef broth with a splash of apple cider vinegar mimics the acidity. Fresh thyme is ideal, but dried thyme at half the amount works in a pinch. The Gruyère matters—pre-shredded won’t melt right, so grab a wedge and grate it yourself. No Gruyère? Comté or Emmental are solid substitutes. For the baguette, French-style or sourdough gives the best crunch. Toast it in the oven with olive oil until golden—don’t skip this step, it’s what makes the top crispy and delicious.
This soup tastes even better the next day—3-4 days in the fridge is ideal, just reheat gently. For the cheese topping, assemble right before serving so it gets all bubbly. Store the soup without the cheese on top, then toast the baguette slices fresh when ready to eat. The onions keep well in the fridge for 5 days, so you can prep them ahead and save time later. Freeze the broth portion for up to 3 months if you’re making a big batch.
Why You'll Love This Recipe
- No Chopping Chaos: I swear by this recipe because you only need to slice those onions once—and then let them caramelize while you sip your coffee. The slow cook in the butter transforms them into sweet, golden ribbons without the mess.
- Wine Lift: That splash of dry white wine? It’s the secret weapon. It cuts through the richness of the butter and beef broth, leaving behind layers of depth that make this soup taste like a restaurant dish, not a weeknight fix.
- Leftovers That Shine: The broth stays rich and flavorful when reheated, so I always make a double batch. Toss it with crusty bread or a fried egg the next day—suddenly, lunch feels special without extra effort.
- Budget-Friendly Luxury: A single onion and a stick of butter stretch into a meal that feels indulgent. The beef broth adds heartiness, while the garlic and wine elevate it beyond basic—proof you don’t need fancy ingredients for something that tastes like a treat.
Step-by-step instructions for caramelized onions and Gruyère bubble perfection
Here's how to make French onion soup that rivals Parisian bistros—rich, bubbly, and full of flavor.
🍳 Step 1: Caramelize the Onions Slowly
Heat the 0.5 cup unsalted butter in a large Dutch oven over medium-low heat. Add the 4 large yellow onions (sliced thinly) and sprinkle with 1 tsp salt. Let them cook undisturbed for 5 minutes until softened and starting to release moisture.
Here's the key: stir occasionally and keep the heat gentle. You're looking for deep golden caramelization—this takes 45-60 minutes. The onions should melt into a thick, sweet paste with a rich amber color. If they brown too quickly, reduce the heat. Patience here makes all the difference.
🍳 Step 2: Build the Flavor Base
Once the onions are beautifully caramelized, add the 4 cloves minced garlic and cook for 30 seconds until fragrant. Pour in the 0.5 cup dry white wine and scrape up all those delicious browned bits from the bottom of the pot. Let the wine simmer for 3-4 minutes until mostly evaporated.
Add the 6 cups beef broth, 2 whole thyme sprigs, and 2 whole bay leaves. Bring to a gentle simmer and let it cook uncovered for 20 minutes to meld all the flavors. Taste and adjust seasoning with the remaining 0.5 tsp black pepper—this is where the magic happens.
🥘 Step 3: Prepare the Baguette Topping
While the soup simmers, preheat your broiler to high. Slice the 1 whole baguette into ¼-inch thick strips (about 12-15 pieces). Brush both sides generously with the 2 tbsp olive oil and sprinkle lightly with salt. Arrange them on a baking sheet in a single layer.
Broil for 3-5 minutes until golden brown and crispy. Watch closely—they burn fast! Remove and set aside. This step is crucial for that perfect crunchy contrast to the creamy soup.
🔥 Step 4: Assemble and Bake to Perfection
Ladle the hot soup into 4 oven-safe bowls (about 1 cup per bowl). Top each with ½ cup freshly grated gruyère cheese and arrange 3-4 baguette strips on top of each. Place the bowls on a baking sheet.
Broil for 3-5 minutes until the cheese is bubbly and golden brown with crispy edges. Keep a close eye—cheese burns faster than you think! The cheese should be melted and bubbling like a perfect fondue.
🍽️ Step 5: Serve Immediately
Let the soups rest for 1 minute (just enough time to set up your table). Serve right away with a spoon and fork for scooping up those delicious cheese bubbles. The contrast of crispy baguette, creamy cheese, and rich caramelized onion broth makes this dish unforgettable.
Pro tip: If the cheese sets too quickly, pop the bowls back under the broiler for 30 seconds to get that perfect melt. Enjoy your homemade French onion soup—it's worth every minute!
Pro Tips For Making Andy Cooks French Onion Soup
- CRISP THE ONIONS LOW AND SLOW: I learned this the hard way—drowning onions in butter at high heat turns them into mushy sludge. Instead, keep the heat at a steady simmer (medium-low), stirring often, until they’re deep golden and caramelized. It takes patience, but rushing this step is how you end up with soup that tastes like sad, watery onion paste.
- USE COLD BUTTER FOR CARAMELIZATION: Pull that unsalted butter straight from the fridge and let it melt into the onions gradually. Cold butter emulsifies better with the onions’ moisture, creating a smoother, richer fond. (Yes, even if you’re impatient like me—this isn’t the step to skip.)
- DEGLAZE WITH WINE IMMEDIATELY: As soon as those onions hit that perfect caramel stage, hit them with the white wine right away. Scrape up every browned bit from the pan—those bits are pure flavor gold. Let the wine reduce by half before adding broth, or you’ll dilute the depth you just built.
- SALT THE BROTH LATE: Hold off on salting the beef broth until after you’ve simmered the soup. The wine and caramelized onions already pack enough saltiness to throw off your seasoning if you add it too early. Taste the finished soup and adjust—this is where most home cooks overdo it.
Troubleshooting perfect results
Onions Burn Too Fast
If your onions darken too quickly, you're likely cooking them too hot. The key is medium-low heat—your onions should sizzle gently, not fry. I've burned onions more times than I'd admit, but I learned to watch for golden edges around the pieces.
If they start to brown too fast, reduce heat immediately and stir occasionally to redistribute heat evenly. A large Dutch oven helps spread the heat better than a small pot.
Another trick? Add a splash of water or broth (about 2 tbsp) if the onions stick or darken too quickly. This creates steam that slows down caramelization while keeping them moist.
Just keep the lid off so the moisture evaporates gradually. Patience is everything—45-60 minutes of slow cooking is worth it for that deep, sweet flavor. 🌡️
Broth Too Weak or Bland
A weak broth ruins the whole dish, so don't skimp on flavor. If your broth tastes flat, it's likely because you didn't build enough depth. Homemade beef broth is ideal, but if using store-bought, choose a rich, high-quality brand like Kettle & Fire or Pacific Foods.
For extra depth, add 1 tsp Worcestershire sauce or 1 tbsp tomato paste when simmering the broth.
Cheese Won't Melt Properly
Pre-shredded cheese is the #1 culprit for clumpy, unmelty cheese topping. Always use freshly grated Gruyère—it melts beautifully and creates those signature bubbles. If your cheese isn't melting, it might be because the soup isn't hot enough.
Ladle the soup into bowls right after simmering (internal temp should be 185°F or higher).
For extra insurance, broil the cheese under high heat for just 3-5 minutes—watch like a hawk! If the cheese starts to brown too fast, move the bowls slightly away from the heat source. A wire cooling rack on a baking sheet helps circulate air for even melting.
Pro tip: Sprinkle a pinch of cornstarch (about ½ tsp) over the cheese before broiling—it helps create a smoother, glossier melt. 🧀
Baguette Too Soft
Crispy baguette strips are non-negotiable for that perfect texture contrast. If yours turns out soggy, you likely didn't toast them enough. Broil on high heat for 3-5 minutes until deeply golden—don't be shy with the olive oil either.
I like to brush the baguette with extra virgin olive oil and sprinkle with flaky sea salt for maximum crunch.
For even better results, toast the baguette in the oven at 375°F for 8-10 minutes before slicing. This dries out the bread slightly, making it more resistant to sogginess.
Store leftover toasted strips in an airtight container for up to 3 days—they're perfect for topping future soups or salads. 🍞
Soup Too Thick or Gluey
If your soup is too thick after simmering, it's probably because the onions released too much moisture or reduced too much. The fix? Add ½ cup warm water or broth and stir well.
Simmer for another 5-10 minutes to let the flavors blend. If it's still too thick, thin it with 1-2 tbsp heavy cream or a splash of wine for a silky texture.
To prevent this in the future, don't cover the pot while simmering—this traps steam and can make the soup too thick. Instead, let it reduce uncovered so excess moisture evaporates naturally. If you're using store-bought broth, some brands are saltier than others, so taste and adjust seasoning before serving.
A pinch of black pepper or white pepper can elevate the flavor without adding thickness. ✨
Nutrition facts
Frequently asked questions
Can I make this French onion soup vegetarian?
Replace the beef broth with 6 cups rich mushroom or vegetable broth and add 1 tbsp soy sauce or 1 tsp miso paste for depth. Use vegetarian Gruyère (or a mix of cheddar and Parmesan) and skip the Worcestershire sauce if using. The caramelized onions will still shine as the star.
How do I store leftovers without soggy bread?
Store the soup (without cheese) in an airtight container in the fridge for up to 4 days. Keep the toasted baguette strips separate in a paper bag to maintain crispiness. When reheating, warm the soup gently and toast fresh bread strips just before serving. The cheese can be grated fresh when reheating for that perfect melt.
What's the secret to getting that perfect bubbly cheese top?
Use freshly grated Gruyère (not pre-shredded) and make sure your soup is piping hot (185°F+) when you add it. Broil on high heat for 3-5 minutes—watch like a hawk! For extra insurance, sprinkle a pinch of cornstarch over the cheese before broiling. The key is high heat + fresh cheese + immediate broiling.
Can I make this soup ahead of time?
Yes! Prepare the caramelized onions and broth up to 3 days ahead and store separately. Reheat gently before adding the cheese topping. For the bread, toast it fresh when ready to serve. The onions actually taste better after resting—their flavors deepen over time. Just add fresh thyme and bay leaves when reheating.
What if I don't have a Dutch oven?
Any large, heavy pot with a lid will work—even a stainless steel or cast iron skillet. The key is to use medium-low heat and stir occasionally. If your pot isn't deep enough, reduce the broth slightly to prevent spills. A 6-quart saucepan works in a pinch, just give it extra attention to prevent burning.
