The first time I made French onion soup, I ruined it. I still remember standing at the stove, impatient, turning the heat up too high because I thought caramelized onions meant “cook them fast until they turn brown.” What I ended up with was a pot of bitter, scorched onions and a kitchen that smelled more like regret than comfort. I almost swore off the recipe entirely. But a few winters later, on a slow Sunday when the house was quiet and I had nowhere to be, I tried again. I took my time. I let the onions soften, then slump, then slowly transform into something deep and sweet. That pot simmered for hours while the day unfolded around it, and by the time I ladled the soup into bowls and slid them under the broiler with bread and cheese, I understood why this dish has lasted generations. French onion soup isn’t about rushing. It’s about patience, trust, and letting simple ingredients become something far greater together.

Why You’ll Love This Recipe
- Made with simple, affordable ingredients you probably already have
- Rich, deep flavor that tastes like it came from a small bistro
- Perfect for cozy nights, dinner guests, or quiet weekends at home
- Even better the next day, making it ideal for leftovers
- A timeless recipe that rewards patience and care
Ingredients You’ll Need
This recipe relies on very few ingredients, which means each one matters. I’ve made this soup dozens of times, and I’ve learned where you can bend and where you shouldn’t.
Yellow onions are my go-to here. I’ve tried sweet onions, red onions, even a mix when my pantry was running low, but yellow onions strike the best balance between sweetness and depth once caramelized. You’ll need quite a few—more than feels reasonable at first—but they cook down dramatically.
Butter gives the onions richness and helps them caramelize evenly. I’ve used all butter, and I’ve also done a mix of butter and olive oil when I wanted to prevent burning during a long cook. Both work, but butter brings that classic flavor.
Beef broth is traditional, and it gives the soup its signature savory backbone. When I have homemade stock, I use it without hesitation. Store-bought works fine too—just choose one with good flavor and not too much salt. I’ve made this with a mix of beef and chicken broth in a pinch, and while it’s slightly lighter, it’s still comforting.
Dry white wine is optional, but I almost always use it. It lifts the sweetness of the onions and adds complexity. If you don’t cook with wine, a splash of extra broth with a tiny bit of apple cider vinegar can mimic that brightness.
Fresh thyme is my favorite herb here. I tie a few sprigs with kitchen twine and drop them into the pot so they can infuse without floating everywhere. Bay leaf adds a quiet depth in the background.
Salt and black pepper should be added thoughtfully, especially if your broth is already seasoned. I adjust at the very end, once everything has come together.
For the topping, you’ll need a sturdy bread. A baguette sliced into thick rounds works beautifully. Gruyère cheese is classic for a reason—it melts smoothly and has just enough sharpness—but I’ve also used Swiss or a mix of mozzarella and Parmesan when that’s what I had.
How to Make It (Step-by-Step Instructions)
Start by slicing your onions thinly and evenly. This takes a bit of time, but it’s worth doing carefully so they cook at the same rate. I cut them pole to pole, which helps them soften instead of breaking down into mush.
Melt the butter in a large, heavy-bottomed pot over medium heat. Once it’s melted and gently bubbling, add the onions and a pinch of salt. That early salt helps draw out moisture and gets the process moving. Stir well so every onion is coated.
Now comes the part that taught me the most patience. Cook the onions slowly, stirring every few minutes. At first, they’ll release liquid and look pale and crowded. Then they’ll soften, turn translucent, and eventually start to take on color. This can take 40 minutes or more. If they start sticking, lower the heat and scrape the bottom gently. Browning is good; burning is not.
When the onions are deeply golden and smell sweet rather than sharp, add the wine. Scrape the bottom of the pot to loosen all that flavorful browned goodness. Let it simmer for a few minutes until the alcohol cooks off and the liquid reduces slightly.
Add the broth, thyme, and bay leaf. Bring the soup to a gentle simmer, then lower the heat and let it cook uncovered for about 30 minutes. This is when everything settles into itself. Taste and adjust seasoning carefully. Remove the herbs before serving.
While the soup simmers, toast the bread slices until dry and lightly golden. I do this in the oven so they’re sturdy enough to hold the cheese.
Ladle the soup into oven-safe bowls, place a slice of bread on top of each, and cover generously with cheese. Slide them under the broiler just until the cheese is melted, bubbly, and lightly browned. Keep an eye on it—this happens fast.

Expert Tips for the Best Results
What I’ve learned over the years is that the onions set the tone for everything else, so don’t rush them, don’t walk away for too long, and don’t be afraid to lower the heat if things look too dark. A heavy pot helps distribute heat evenly, and tasting along the way is essential because the balance between sweet onions and savory broth is what makes this soup sing.
Variations & Substitutions
I’ve made this soup more ways than I can count, sometimes by design and sometimes by necessity. I’ve added a splash of sherry instead of wine on a holiday evening, used vegetable broth when cooking for friends who don’t eat meat, and even stirred in a small spoon of miso once when my broth tasted flat. Each version was a little different, but all of them were comforting in their own way, which is what I love about this recipe.
Serving Suggestions
French onion soup feels right on quiet winter nights, but I’ve also served it as a starter for dinner parties where it quietly steals the show. I love pairing it with a simple green salad dressed in lemon and olive oil, or serving it alongside a roast chicken when I want something hearty but familiar. It’s the kind of dish that invites people to slow down.
Storage & Reheating Instructions
I often make a big pot and keep it in the fridge for several days. The flavor deepens overnight, and I swear it tastes even better the next day. Store the soup without the bread and cheese, then reheat gently on the stove. Add fresh bread and cheese when serving so everything stays crisp and melty instead of soggy.
Recipe FAQs (Answered by Clara)
Can I make this ahead of time?
You sure can. I often prepare it in the morning, cover it tightly, and pop it in the fridge. It actually tastes better after resting, which makes it perfect for entertaining.
What’s the best spiralizer to use?
For onions, I don’t use a spiralizer at all. A sharp chef’s knife and a steady cutting board give me the most control and even slices.
Can I serve it cold?
I’ve tasted it cold out of curiosity, but this is one dish I truly believe is meant to be served hot, with the cheese melting into the broth.
How do I make it less watery?
If your soup feels thin, it usually means the onions didn’t cook long enough or the broth needs more time to reduce. Let it simmer uncovered a bit longer and taste again.

Conclusion
French onion soup has taught me more about patience than almost any other recipe. It reminds me that good food doesn’t need to be complicated, just cared for. If you give this recipe your time and attention, it will reward you generously. I hope you make it your own, adjust it to your kitchen, and maybe even learn something along the way. If you try it, I’d love to hear how it turned out for you.
Nutrition Information
Per serving (approximate):
Calories: 320
Protein: 14g
Fat: 18g
Carbohydrates: 28g
Fiber: 3g
Sodium: 720mg

French Onion Soup
Ingredients
- 4 large yellow onions thinly sliced
- 3 tablespoons butter
- 1 tablespoon olive oil
- 2 cloves garlic minced
- 1 teaspoon sugar optional, for caramelization
- ¼ cup dry white wine or sherry optional
- 6 cups beef broth
- 1 teaspoon fresh thyme or ½ teaspoon dried
- 1 bay leaf
- Salt and black pepper to taste
- 4 slices baguette toasted
- 1½ cups shredded Gruyère cheese
Instructions
- Heat butter and olive oil in a large pot over medium heat.
- Add sliced onions and cook, stirring occasionally, for 40–45 minutes until deeply caramelized.
- Add garlic and sugar (if using); cook for 1 minute.
- Deglaze the pot with white wine, scraping up any browned bits.
- Pour in beef broth, add thyme and bay leaf, and bring to a simmer.
- Reduce heat and simmer for 15 minutes. Remove bay leaf.
- Season with salt and black pepper to taste.
- Ladle soup into oven-safe bowls. Top each with a toasted baguette slice and shredded Gruyère.
- Broil for 2–3 minutes until cheese is melted and bubbly.
- Serve hot.
Notes
- Onion tip: Low and slow caramelization is key—don’t rush it.
- Cheese swap: Swiss or mozzarella can be used if Gruyère isn’t available.
- Vegetarian option: Substitute beef broth with rich vegetable broth.
- Make ahead: Soup base can be made 2 days ahead; add bread and cheese before serving.
- Freezing: Freeze soup without bread and cheese for up to 3 months.
