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.




Gorgeous soup! I share your affection for copper as well.
Always been a little nervous to try this, but you make it seem so easy, I am making it this weekend!!
Can you make this vegetable broth instead of beef? Would it be as good??
100% yes!!
Can i use Gluten free flour instead??
absolutely!
Gorgeous photography, such beautiful light and food and prop styling are superb.
It's a MUST to make this... and soon... but first!! Where can we purchase those copper pots?❤
Williams Sonoma is where I got them!!
Oh my goodness these are so beautiful!!
First off, where did you get those crocks from?? They are sooo cool! Secondly, your soup looks and sounds on point. Great recipe 🙂
I love the baguettes on top.
hi,what can we use instead of wine
I'd just leave it out!
I'm so all over this! Perfect comfort food!
Love french onion soup and these look fabulous!
Oh Gaby- back in my gluten and dairy loving days this was pretty much my VERY favorite. Looks so wonderful!
Nope, this is pretty much ultra comfort food on a cold evening bliss! And your might be the prettiest French onion soup I've ever seen! Can't wait to cozy up to a bowl of this very soon! 🙂
Looks incredible!