The Perfect French Onion Soup is the ultimate cozy bowl of comfort with rich caramelized onions, a splash of red wine for depth, and a bubbling crown of Gruyère-topped toast. Serve it alongside my Best Garlic Bread Recipe for extra dunking, and if you love soup season, my Broccoli Cheddar Soup and my Caramelized Onion Flatbread are two more cozy favorites.

French Onion Soup at a Glance
- 🕒 Total Time: 1 hour (10 min prep + 50 min cook)
- 👪 Servings: 4
- 🍝 Cuisine Type: French
- 🧂 Flavor Profile: Deeply caramelized onions, rich beef broth, red wine, fresh thyme, and golden baguette toasts topped with melted Gruyère.
- 📖 Dietary Info: Contains dairy and gluten. Made with beef broth; use vegetable broth for a vegetarian version.
- 📦 Storage Notes: Refrigerate the soup in an airtight container for up to 4 days or freeze for up to 3 months. Make the Gruyère toasts fresh for serving.
- ⭐ Why You’ll Love It: An elegant yet cozy one-pot meal that transforms humble onions into something extraordinary — the perfect make-ahead winter soup topped with golden, gooey cheese-crusted bread.
Summarize and save this content on
Why I Love This Recipe
I’ve been a French Onion Soup lover for as long as I can remember. My mom was obsessed with it, so naturally it became one of those dishes that feels like home to me. Anytime we’d see it on a menu, she’d order it without hesitation, and now I’m exactly the same way. I’ve tasted French Onion Soup just about everywhere, from cozy cafés in Paris to neighborhood spots in LA, and I’ve developed some pretty strong opinions about what makes the best one.
For me, the perfect French Onion Soup starts with an unapologetic amount of onions... sweet, deeply caramelized, and layered with flavor. (If you’re skimping on the onions, we can’t be friends.) It needs a splash of red wine to build that rich, complex base that makes the broth so addictive. And of course, it wouldn’t be complete without a thick slice of toasted bread absolutely smothered in melted Gruyère and finished with a sprinkle of fresh thyme. It’s cozy, indulgent, and exactly what I crave the moment the weather turns crisp... a big steaming bowl, a glass of red wine, and the ultimate excuse to curl up and stay in. If it's too soupy (like the broth-to-onion ratio is too high—just get right outta here!)
Jump to:

If you're about to embark on the soup train for the foreseeable future like me, here are a few more of my all-time favorites: chicken tortilla soup and ribollita, just to name two.
Ingredients

Substitutions & Swaps
🧅 Yellow Onions
- Sweet Onions - A good substitute for yellow onions if that's what you have. They'll bring a slightly sweeter flavor as they caramelize.
- White Onions - Can also work in a pinch, though the finished flavor will be a little different from the yellow onions called for in the recipe.
🍷 Red Wine
- Dry White Wine - Use a dry white wine for a lighter flavor while still getting the benefit of deglazing the caramelized onions.
- Extra Beef Broth - If you prefer to skip the wine, use additional beef broth. The finished soup won't have quite the same depth, but it will still work.
🥩 Beef Broth
- Beef Stock - Use in place of beef broth for an even richer base.
- Vegetable Broth - Use a flavorful vegetable broth if you'd like to make the soup vegetarian. Keep in mind that the finished soup will be lighter than one made with beef broth.
🧀 Gruyère
- Comté - A great substitute with a similarly nutty flavor and excellent melting qualities.
- Emmental or Swiss Cheese - Both melt well and work when Gruyère isn't available.
🥖 Baguette
- French Bread - Cut into slices that fit comfortably over the bowls of soup.
- Sourdough - A sturdy alternative with a little extra tang that works well with the rich onions and Gruyère.
How to Make French Onion Soup

Step 1: Melt the butter in a large pot over medium heat.

Step 2: Add the onions, garlic, bay leaves, thyme, salt, and pepper, and cook until the onions are very soft and caramelized, about 25 minutes (if you love caramelized onions, check out my Caramelized Onion Potato Gratin).

Step 3: Add the wine, bring to a boil, reduce the heat, and simmer until the wine has evaporated and the onions are dry, about 5 minutes.

Step 4: Discard the bay leaves and thyme sprigs. Dust the onions with flour and give them a stir. Turn the heat down to medium-low so the flour doesn't burn, and cook for 10 minutes to cook out the raw flour taste.

Step 5: Next, add the beef broth, bring the soup back to a simmer, and cook for 10 minutes. Season to taste with salt and pepper.

Step 6: Once the soup is done, preheat the broiler. Arrange the baguette slices on a baking sheet in a single layer. Top the toasts with the Gruyère.

Step 7: Broil until bubbly and golden brown, 3 to 5 minutes.

Step 8: Ladle the soup into bowls and float the Gruyère toasts on top.
🧅🍷🧀 Tips & Tricks for the Best French Onion Soup
Deeply caramelized onions, rich broth, and golden Gruyère toast make this the ultimate cozy soup.
- Take your time caramelizing the onions. This is where the soup develops so much of its flavor. Cook the thinly sliced yellow onions until they're very soft, deeply golden, and caramelized before adding the wine.
- Don't crowd the onions into too small a pot. Give them enough room to cook down evenly, so they caramelize rather than simply steam.
- Deglaze the pot with the red wine. As the wine cooks down, scrape up the browned bits from the bottom of the pot so all that flavor makes its way into the soup.
- Cook the flour before adding the broth. Give it the full 10 minutes called for in the recipe so you don't end up with a raw flour taste in the finished soup.
- Use Gruyère if you can. Its nutty, savory flavor and excellent melting quality make it especially good with the sweet caramelized onions and rich beef broth.
- Broil the Gruyère toasts separately. Top the baguette slices with cheese and broil until bubbly and golden, then float them on the soup just before serving.
- Make the soup ahead and the toasts fresh. French Onion Soup is a great make-ahead recipe. Reheat the soup gently, then make the Gruyère toasts just before serving so they're hot and crisp.
French Onion Soup FAQs
What kind of onions are best for French Onion Soup?
This recipe uses yellow onions, which become sweet and deeply flavorful as they caramelize. Slice them thinly and give them the full cooking time so they soften and develop plenty of color before you add the wine.
Can I make French Onion Soup ahead of time?
Yes. French Onion Soup is a great make-ahead recipe and can be prepared a day or two before serving. Store the soup in an airtight container in the refrigerator, then reheat it gently on the stove. Make the Gruyère toasts fresh and add them just before serving.
Do I have to use wine in French Onion Soup?
No. The red wine adds depth and helps deglaze the pot after the onions have caramelized, but you can use additional beef broth if you'd rather leave it out. The finished flavor will be slightly different but still delicious.
What's the best cheese for French Onion Soup?
Gruyère is the classic choice here because it melts beautifully and has a nutty, savory flavor that works especially well with caramelized onions. Comté, Emmental, or a good Swiss cheese can also work if Gruyère isn't available.
How do I keep the bread from getting soggy in French Onion Soup?
Broil the baguette slices with Gruyère separately until the cheese is bubbly and golden, then float the finished toasts on each bowl immediately before serving. Adding them at the last minute gives you that classic combination of crisp edges, melted cheese, and bread that gradually soaks up the broth.
Can I freeze French Onion Soup?
Yes. Freeze the soup without the Gruyère toasts in an airtight freezer-safe container for up to 3 months. Thaw it overnight in the refrigerator and reheat on the stove, then make fresh Gruyère toasts for serving.
How long does it take to caramelize onions for French Onion Soup?
For this recipe, cook the thinly sliced yellow onions with the butter, garlic, bay leaves, and thyme for about 25 minutes, until they're very soft and caramelized. Don't rush this step—the caramelized onions are where much of the soup's flavor develops.
If you tried this recipe, please leave a 🌟 star rating and let me know how it goes in the 📝 comments below. Thanks for visiting today

French Onion Soup
Ingredients
- ¼ cup unsalted butter
- 5 yellow onions thinly sliced
- 4 cloves garlic finely chopped
- 2 bay leaves
- 3-4 fresh thyme sprigs
- Kosher salt and freshly ground black pepper
- 1 cup red wine
- 3 tablespoons all-purpose flour
- 2 quarts beef broth
- 1 baguette sliced
- ½ pound grated Gruyère
Instructions
- Melt the butter in a large pot over medium heat. Add the onions, garlic, bay leaves, thyme, salt, and pepper, and cook until the onions are very soft and caramelized, about 25 minutes.
- Add the wine, bring to a boil, reduce the heat, and simmer until the wine has evaporated and the onions are dry, about 5 minutes. Discard the bay leaves and thyme sprigs.
- Dust the onions with flour and give them a stir. Turn the heat down to medium-low so the flour doesn't burn, and cook for 10 minutes to cook out the raw flour taste.
- Next, add the beef broth, bring the soup back to a simmer, and cook for 10 minutes. Season to taste with salt and pepper.
- Once the soup is done, preheat the broiler. Arrange the baguette slices on a baking sheet in a single layer. Top the toasts with the Gruyère and broil until bubbly and golden brown, 3 to 5 minutes.
- Ladle the soup into bowls and float the Gruyère toasts on top.
Notes
- Take your time caramelizing the onions. This is where the soup develops so much of its flavor. Cook the thinly sliced yellow onions until they're very soft, deeply golden, and caramelized before adding the wine.
- Don't crowd the onions into too small a pot. Give them enough room to cook down evenly, so they caramelize rather than simply steam.
- Deglaze the pot with the red wine. As the wine cooks down, scrape up the browned bits from the bottom of the pot so all that flavor makes its way into the soup.
- Cook the flour before adding the broth. Give it the full 10 minutes called for in the recipe so you don't end up with a raw flour taste in the finished soup.
- Use Gruyère if you can. Its nutty, savory flavor and excellent melting quality make it especially good with the sweet caramelized onions and rich beef broth.
- Broil the Gruyère toasts separately. Top the baguette slices with cheese and broil until bubbly and golden, then float them on the soup just before serving.
- Make the soup ahead and the toasts fresh. French Onion Soup is a great make-ahead recipe. Reheat the soup gently, then make the Gruyère toasts just before serving so they're hot and crisp.




I am always at a loss when a recipe calls for wine without any specifics. Do you have a favorite red that you like to use with this recipe? Thanks!
a dry cab sauv would be my preference.
Made this today……..turned out great! A great warm meal for cooler weather.
We live in Florida but we are having cooler weather right now! Thanks Ga.
My favorite savory recipe of all time. Easy but elegant.
I'm making this tonight! But question....love the flatware. Can you tell me What, Where, How?? Thanks!
Where to source those beautiful baby onion soup tureens? Thank you❤️
they are VERY old from Williams Sonoma. No longer carried there
Easy recipe with little effort. It’s so much easier this way to put the cheese on the bread and broil instead of putting into the soup and under the broiler. I made an extra batch for freezer. Only thing I changed was adding a little Parmesan.
Made this soup tonight. I'll admit I have ever had French Onion Soup, let alone made it but it's all moody and rainy here in Seattle, this felt right. It was an incredibly easy recipe. We have a mandolin so I killed those onions in record time. The only thing...5 onions is a ton of onions. We split the garlic, onions, bay leaves, and butter into two pots to help since it was so much in one. After the caramelizing we added everything to one and then moved on with the recipe. Again, so easy. We followed put our soup in my new cutie crocks and put it under the broiler that way. I've pinned this and will definitely make it again. Great recipe!
Hands down the best French onion soup ever!!!! Love it. ❤️❤️
This was SO good. Everyone loved it. The onions took a bit longer for me than 25 but it was worth the wait. This will definitely be made again at our house!
This is incredible. I used Bone broth instead cause i had it on hand. Wasnt as oily as the resturants serve and soooo tasty. Thank you again Gaby you kill it every time for me.