Soups & Stews
Ina Garten's onion soup recipe delivers the ultimate French bistro experience with its signature caramelized onions and golden Gruyère crust. This is the version that transformed my weeknight dinners into something special—rich, comforting, and impossible to resist.
The secret lies in slow-cooking the onions until they're deep brown and sweet, creating the perfect foundation for the velvety broth.
What sets this recipe apart is Ina's precise technique for balancing flavors—just enough wine and beef stock to create depth without overpowering the onions. The final touch? A crispy, bubbling cheese topping that turns ordinary soup into a showstopper.
Every spoonful delivers that perfect harmony of sweet caramelized onions, savory broth, and creamy melted cheese.
This onion soup is designed for comfort, but it's also elegant enough for company. The golden Gruyère crust adds that restaurant-quality finish while keeping the preparation straightforward. Whether you're following Ina's exact method or adding your own twist, the result is always satisfyingly hearty and deeply comforting.
The beauty of this recipe is its versatility—serve it with crusty bread for dipping or on its own as a main course. The slow cooking process allows flavors to develop fully, ensuring each bite is rich and full of character.
Here's how to create this French classic in your own kitchen.
Ingredients for ina garten onion soup
Sweet caramelized onions, rich broth, and golden Gruyère crust make this French classic unforgettable.
| Ingredient | Amount | Notes |
|---|---|---|
| Yellow Onions 🧅 | 4 large | Peeled and thinly sliced |
| Unsalted Butter 🧈 | ½ cup | Cold, cut into pieces |
| Dry White Wine 🍷 | 1 cup | Sauvignon Blanc or Chardonnay |
| Beef Stock 💧 | 4 cups | Low-sodium preferred |
| Gruyère Cheese 🧀 | 1 ½ cups | Freshly grated, aged |
| All-Purpose Flour 🌾 | ¼ cup | For cheese topping |
| Fresh Thyme 🌿 | 1 tbsp | Leaves only, chopped |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Garlic Cloves 🧄 | 4 cloves | Minced, not powdered |
| Baguette Slices 🍞 | 8 slices | For topping, optional |
| Heavy Cream 🥛 | ½ cup | Full-fat for richness |
The onions are the star—4 large yellow onions is perfect for this recipe. Whole Foods or any good grocery store carries them year-round, but if you can find sweet onions like Vidalia in season, they'll add extra depth. Slice them paper-thin with a mandoline or sharp knife (safety first!). The butter needs to be cold when you start—cut it into pieces so it melts slowly and coats those onions beautifully. I always grab European-style butter from Costco when I'm making this, but regular unsalted works too. Pro tip: if your onions start browning too fast, just add a splash of water to the pan and keep going—it's all part of the caramelization process.
No white wine? Chicken stock plus a splash of apple cider vinegar mimics that acidity without the alcohol. The Gruyère is non-negotiable for that authentic flavor—pre-shredded won't melt right, so invest in a good grater. Short on Gruyère? Comté or Emmental work in a pinch, but the flavor won't be exactly the same. Fresh thyme is ideal, but dried thyme at half the amount gets you close. For the beef stock, low-sodium is key—you don't want to over-salt your soup. And if you're feeling fancy, homemade stock makes this dish taste like you've been cooking all day (even though you haven't).
This soup tastes even better the next day—make a double batch and freeze half. The caramelized onions keep for 5 days in the fridge, but the cheese topping is best made fresh. For serving, toast the baguette slices until crispy and place them right on top of the soup before broiling. The cheese topping keeps for 2 days in the fridge if you cover it tightly, but it's so good fresh that you'll probably eat it all in one sitting.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe because it’s literally one pot, one knife, and zero stress. You caramelize those onions until they’re golden and sweet—no fancy techniques, just patience and a little butter—and the rest falls into place while you sip wine (because why not?).
- Wine-Infused Depth: That splash of dry white wine? It’s not just for show—it cuts through the richness of the butter and beef stock, balancing the soup with a bright, almost herbal lift. The Gruyère on top? Pure umami magic—crispy, salty, and melty all at once.
- Weeknight or Weekend: Between us, this soup works everywhere. Too tired for dinner? It’s ready in under an hour. Hosting friends? The Gruyère topping feels fancy without the fuss. My college-aged son even asks for it—no small feat.
- Leftovers That Don’t Suffer: Honestly, I make a double batch because reheating this soup is chef’s kiss. The cheese stays gooey, the onions keep their caramelized glow, and it tastes just as good cold the next day (yes, really). Budget-friendly? Absolutely. But it doesn’t taste like it.
Step-by-step instructions for Ina Garten onion soup recipe
This method delivers rich, caramelized onions with a golden Gruyère crust that's crispy on top and gooey underneath—pure French bistro comfort.
Caramelize the Onions Slowly
Melt the 0.5 cup unsalted butter in a large Dutch oven over medium-low heat. Add the 4 large peeled and thinly sliced yellow onions and cook them gently, stirring occasionally, for 45-50 minutes. This is where patience pays off—the onions should transform from pale to deep golden brown, with a rich, sweet aroma filling your kitchen.
Here's the thing—don't rush this step. If the onions start to brown too quickly, reduce the heat slightly. You want them to melt down completely, releasing their natural sugars and creating that deep, complex flavor. When they're nearly done, add the 4 cloves minced garlic and cook for another 1 minute just to infuse the aroma.
Deglaze and Simmer the Soup
Pour in the 1 cup dry white wine and scrape up all those beautiful browned bits from the bottom of the pot—this is flavor gold. Let the wine simmer for 3-4 minutes until it's mostly evaporated. Then add the 4 cups beef stock, 1.5 teaspoons salt, 0.5 teaspoon black pepper, and 1 tablespoon chopped fresh thyme. Bring everything to a gentle simmer and let it cook uncovered for 20 minutes to let the flavors meld together.
Taste the soup at this point—it should be rich and deeply onion-forward with just a hint of wine's acidity. If it needs more salt, adjust now. The soup will continue to deepen in flavor as it cooks, so don't over-salt at this stage. Real talk: this is where the magic happens, and skipping the simmering would be a crime.
Finish with Cream and Prepare for Baking
Reduce the heat to low and stir in the 0.5 cup heavy cream. Let it warm through for 2-3 minutes—just enough to heat the cream without curdling it. The soup should now be silky and luxurious, with the cream adding a velvety richness that balances the deep onion flavor.
While the soup simmers, preheat your oven to 425°F. This high temperature is crucial for getting that perfect crispy cheese crust. Divide the soup evenly among 4 oven-safe bowls (I like to use individual ramekins for this). The bowls should be about 3/4 full—this gives room for the cheese topping to puff up beautifully.
Create the Golden Gruyère Crust
In a small bowl, combine the 1.5 cups freshly grated Gruyère cheese with the 0.25 cup all-purpose flour. This mixture is what will create that incredible crispy crust. Sprinkle half of this cheese-flour mixture evenly over each bowl of soup, pressing it down gently with the back of a spoon so it sticks to the surface.
Now comes the fun part—top each bowl with 2 slices of baguette, arranged to cover the entire surface. The bread will soak up some of the soup while the cheese melts and browns beautifully. Place the bowls on a baking sheet to catch any potential spills and transfer them to the preheated oven.
Bake to Crispy Perfection
Bake the soups for 12-15 minutes until the cheese is deep golden brown and the crust is crispy. You'll see the cheese puffing up slightly and turning a beautiful caramel color—this is your signal that it's ready. The bread should be toasted to perfection, adding a nice crunch to each bite.
Let the soups rest for 2-3 minutes after removing from the oven. This brief resting period allows the cheese to set slightly, making it easier to handle. Serve immediately with a crisp green salad and a glass of the same white wine you used in the recipe—it's that good. The contrast of the cool salad with the warm, comforting soup is pure perfection.
Pro Tips For Making Ina Garten Onion Soup
- Sweat, Don’t Burn: Low and slow is your friend here—cook the onions over medium heat for 45-60 minutes until they’re golden brown and jammy, not crispy. After burning three batches, I finally realized: if you’re smelling caramelized heaven too early, you’re pushing it. Let the butter melt first, then add onions in a single layer so they sizzle, not steam.
- Salt the Wine: Toss a pinch of salt into the white wine before adding it to the onions. It balances the acidity and cuts through the richness of the butter, just like Ina does. I used to skip this, and the soup always tasted like it needed something—now it’s always spot-on.
- Strain or Don’t: If you hate gummy soup, strain the onions after cooking. If you love texture, skip it—but either way, don’t rush the stock reduction. Simmer the beef stock uncovered until it’s syrupy and deep, or your soup will taste thin and flat. (Yes, even if you’re impatient like me.)
- Cheese Crust Hack: For a foolproof crust, sprinkle the Gruyère directly onto the hot soup, then broil for 2-3 minutes until bubbly. If you’re nervous about burning, cover the top with foil first and uncover just before broiling. No more sad, watery cheese—just golden, melty perfection.
Dietary considerations for this recipe
Gluten-Free Adaptation
For a gluten-free version, swap the all-purpose flour in the cheese topping with ½ cup gluten-free flour blend (like Bob's Red Mill 1:1) mixed with ¼ cup cornstarch. This keeps the crust crispy while avoiding gluten.
I also recommend using gluten-free baguette slices for topping—look for brands like Schär or Canyon Bakehouse for that authentic texture. The soup base remains unchanged since it doesn't contain gluten. 🌾
Dairy-Free Option
To make this dairy-free, replace the Gruyère cheese with 1½ cups vegan sharp cheddar (like Violife or Miyoko's) and the heavy cream with ½ cup full-fat coconut milk.
The flavor won't be identical, but it still delivers that creamy, comforting texture. For extra richness, add 1 tablespoon nutritional yeast to the cheese topping for a cheesy depth. 🥛
Vegetarian Version
Swap the beef stock for 4 cups low-sodium vegetable stock (I love Pacific Foods or Imagine) and use white wine as the only animal product. For extra umami, add 1 teaspoon soy sauce or ½ cup mushrooms (sautéed with the onions).
The result is still hearty and satisfying, with all the same caramelized onion goodness. 🍄
Low-Carb Adjustments
Cut carbs by omitting the baguette topping and using ½ cup almond flour instead of all-purpose flour in the cheese topping. For extra crunch, sprinkle crushed pork rinds on top before baking.
The soup itself remains low-carb, with only 3g net carbs per serving (without bread). This version is perfect for keto or low-carb diets. 🥬
Allergen-Friendly Notes
For nut allergies, ensure your cheese and stock are nut-free (some brands process in facilities with nuts). For soy allergies, avoid soy-based cheese substitutes—opt for cashew-based vegan cheese instead.
Always check labels, as cross-contamination can be an issue. When in doubt, I recommend making the soup base first and assembling toppings separately. 🚫
Nutrition facts
Frequently asked questions
Can I make this onion soup without wine?
Replace the 1 cup white wine with 1 cup chicken stock plus 1 tablespoon apple cider vinegar to mimic the acidity. The soup will still develop rich, caramelized flavors—just without the alcohol. For extra depth, add ½ teaspoon Dijon mustard to the broth.
How do I get the perfect crispy cheese crust?
The secret is in the oven temperature and technique. Bake at 425°F for 12-15 minutes until the cheese is deep golden brown. Press the cheese-flour mixture firmly onto the soup first, then top with bread. For extra crispiness, broil for 1-2 minutes at the end—just watch it closely to avoid burning.
Can I make this soup ahead of time?
Yes! The caramelized onions and broth can be made 5 days ahead and stored in the fridge. Reheat gently before adding the cheese topping. For the best results, assemble and bake the cheese crust fresh—it's designed to be crispy and bubbly when served immediately. The flavor actually improves overnight, though!
What if I don't have Gruyère cheese?
Use Comté or Emmental for a similar melt and flavor. For a sharper taste, try Parmesan mixed with a little mozzarella. Avoid pre-shredded cheese—it contains anti-caking agents that prevent proper melting. Freshly grated is always better!
Is this soup kid-friendly?
With a few adjustments, yes! Skip the wine and use extra broth. For the cheese topping, try mild cheddar or mozzarella instead of Gruyère. Let kids help sprinkle the cheese—it makes it fun! Serve with crusty bread for dipping to make it more appealing.
