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.




First of all, I’m obsessed w all your recipes. Like I literally make at least one a day (shoutout to your avo cucumber salad!), so I’m sure I did something wrong with this one. But I followed the recipe exactly (though I caramelized my onions extra bc at 25 mins they were still just translucent) and I had the same issue I always do: once I add the organic beef broth and simmer it down it’s still just kind of bland. The onions were bomb, and obviously anything w bread and cheese tastes yummy but my broth is just a little meh. I used the TJs organic beef broth. Do you have a brand you like??
what kind of skillet are you using?? is it something that conducts heat really well? you want the onions to be dark brown and jammy before adding the broth
What can you put instead of beef broth for vegetarians?
veggie broth! no prob
What brand of wine did
You use please? Yummy
cant remember the brand - but I cook with cab sauv
The soup looks divine! I can't wait for it to get cold here in the south. I've got to ask about those bowls though. Where are they from? I love copper.
they were from williams sonoma but they dont have them anymore!
If we don't have wine and beef broth wht can we substitute please
broth - you could use chicken stock! Unfortunately wine is a pretty key part of this recipe to give it the depth of flavor so there isn't a great substitute, but you could leave it out and just replace with the stock
delicious!!!
Well Gaby, your followers seem to have said it all! This recipe sounds easy enough and I know the taste will match the beyond amazing photos you’ve posted! Thanks also for answering questions, ie. your wine preference, etc. so excited to create this one!!
My absolute favorite soup! You can be assured this one will be made very soon.
This recipe is on the menu for this week! Do you recommend a nonstick pot or a cast iron dutch oven? Thanks so much!!
I bought all the ingredients but forgot the fresh thyme! Would you recommend using dried (if so how much) or just omit? Thanks so much! Can't wait for dinner:)
use 1/2 teaspoon of dried!! xx
I just love French Onion soup. You make it sound easy enough for me to give it a whirl!!
Is there a certain kind of red wine you recommend using?
I prefer a cabernet!
I love French onion soup. Your soup looks amazing. Will be making this after the holidays.
I made this last night. Great recipe! Directions were perfect, no need to tweak anything. Rich and delicious soup.
There is a restaurant in Seattle that my husband and I go to JUST for the french onion soup! So I am bound and determined to learn to make it at least half as well as they do. Your recipe looks visibly the most similar!! I am excited to give it a go! Any wine recommendations for this one? Thank you!!
Which restaurant do you go to? I'm new to the city and would love a recommendation for great french onion soup!