French Onion Soup
This French Onion Soup recipe has a rich, savory broth with deeply caramelized onions, white wine, and fresh thyme. It’s topped with crisp baguette and plenty of Gruyère and Parmesan, then broiled until melted, bubbly, and golden brown. This is the ultimate cozy, restaurant-quality soup!
Be sure to try my Beef Barley Soup next!

French Onion Soup
I honestly don’t think it gets much better than a hot bowl of French Onion Soup with a layer of bubbly, golden cheese on top! This recipe is SO incredibly flavorful, and the broth alone is enough to make you want to go back for another bowl!
The key is to take the time to really caramelize those onions until they’re deep golden brown. From there, we build even more flavor with white wine, fresh thyme, a touch of Dijon and Worcestershire sauce, and a combination of beef and chicken broth. (Using a really good beef broth makes such a difference here!)
And of course, we can’t forget the best part. 😁 Buttery toasted baguettes are topped with plenty of Gruyère and Parmesan and broiled until it’s hot, melted, and bubbly.
This is truly restaurant-quality soup! I can’t WAIT for you to try it. Be sure to check out my PRO TIPS below!
How to Make It
Note: This is an overview. See recipe card for ingredient quantities and full instructions.
Slice the onions into ¼-inch slices. Toss with butter, olive oil, and a little salt. Cover and reduce over medium heat for 20 minutes. Uncover and continue to reduce, stirring occassionally.
Want to save this recipe?

Continue reducing and caramelizing the onions. Add splashes of wine toward the end to “clean” any brown spots from the bottom and sides of the pot. Add garlic, thyme, bay leaves, and the remaining wine. Add flour.

Add beef broth, chicken broth, bouillon, Worcestershire sauce, and Dijon mustard. Cover partially and simmer for 30 minutes. Ladle into serving bowls and top with toasted baguette slices. Top with gruyere and parmesan. Broil until melted and bubbly. Serve!

Pro Tips
- If you don’t have oven-safe soup bowls: Toast the baguette slices as outlined in the recipe. Arrange the toasted slices on a baking sheet and top generously with the Gruyère and Parmesan cheese. Broil until the cheese is melted, bubbly, and browned in spots, about 2–4 minutes. Ladle the hot soup into serving bowls and carefully place the cheesy baguette slices on top. Serve immediately.
- Beef Broth/Stock: High-quality beef broth or stock makes a big difference in this recipe since it provides much of the soup’s flavor. If you have access to a local butcher or specialty market that sells a good house-made beef stock, that’s a great option. Otherwise, Kitchen Basics Original Beef Stock is my preferred grocery store brand. Better Than Bouillon Roasted Beef Base is also added to further enhance the depth of flavor.
- Onions: It will seem like there are a lot of onions. They’ll fill the whole soup pot! But trust the process, onions are mostly made of water, and they’ll reduce down significantly.
Wine: Sauvignon Blanc is my top choice for this recipe as its crisp acidity helps balance the sweetness of the caramelized onions. Pinot Grigio and a dry, unoaked Chardonnay are also great options. Avoid sweet or noticeably fruity wines.- Wine Substitute: You can substitute 2 tablespoons white wine vinegar + chicken broth to make 1 cup. This provides acidity and depth of flavor similar to the wine without making the soup taste vinegary.
- Best Bread for French Onion Soup: A French baguette is my top choice for this soup. It has a sturdy, chewy texture that holds up well once topped with cheese and added to the broth. French bread, sourdough, or ciabatta are also great options. Avoid very soft sandwich-style breads, which can become soggy too quickly. Toasting the bread first is key for helping it maintain its structure.
- Cheese: Gruyère is my top choice for French Onion Soup—it has a rich, nutty flavor and melts beautifully. Comté, Emmental, Swiss, or Fontina are also great options. I like to combine Gruyère with a little Parmesan for extra flavor and browning. For the best flavor and melt, shred the cheese from a block rather than using pre-shredded cheese.
Storage
- Refrigerate: Store leftover soup in an airtight container and refrigerate for up to 3–4 days. For best results, store the toasted bread and cheese separately and assemble just before serving.
- Freeze: The soup freezes very well without the bread and cheese. Store in an airtight container for up to 3 months. Thaw overnight in the refrigerator before reheating.
- Reheat: Reheat the soup gently on the stovetop or in the microwave. Prepare fresh toasted baguette slices with cheese and add them just before serving.
- Make Ahead: The soup can be prepared 1–2 days ahead of time, and the flavor gets even better as it sits! Refrigerate the soup and prepare the bread and cheesy topping when ready to serve.

Tools For This Recipe
(Amazon affiliate links*)- Check out all of my kitchen essentials here.
- 4 ½ quart Dutch Oven: This is the one I use when I make this recipe, it’s a perfect size to hold all of the onions at the beginning and conducts heat really well.
- Mandoline Slicer: Slices and dices those onions quickly and even. (Use with caution, they’re sharp.)
- Titanium Cutting Boards & Chefs Knife
- Box Cheese Grater: Be sure to shred and grate your cheese by hand, it will melt and taste much better than pre-shredded/grated.
- Garlic Twister: Make it easy to mince cloves of garlic, fresh garlic (vs. jarred) is best in this recipe.
- Wide Soup Ladle: This is what I use to serve this up!
- French Onion Soup Bowls. These Stoneware Bistro Bowls more closely resemble the ones in my photos. Check to ensure they’re safe for broiling prior to using.
- Soup Storage Containers– These are my go-to for the fridge and freezer!
- Kitchen Basics Original Beef Stock & Better Than Bouillon Roasted Beef Base-These are what I use for broth and bouillon in this soup. (Unless I can get my hands on broth from the butcher!)
*As an Amazon Associate, I earn from qualifying purchases.
Try These Next
- Swedish Meatballs
- Chicken Broccoli Rice Casserole
- BEST Clam Chowder
- Beef Tips and Gravy
- Stuffing Meatloaf
- Beef Barley Soup
Get My Free E-Book!
- I’ve got a FREE e-Book with 7 super popular dinner recipes! Click here to join my email list and I’ll send your e-Book right over!
- And be sure to follow me on Instagram, Pinterest, & Facebook!
Tried This Recipe?
Leave a review, I love hearing your feedback! ⭐⭐⭐⭐⭐
French Onion Soup
Ingredients
Soup
- 3 lbs. yellow onions, about 6 medium onions
- 1 lb. Vidalia onions, about 2 large onions
- 1 tablespoon olive oil
- 5 tablespoons butter
- ½ teaspoon salt
- 2 cloves garlic, minced
- 3-4 sprigs fresh thyme, or ¾ tsp dried
- 2 bay leaves
- 1 cup dry white wine, see notes
- 2 tablespoons flour
- 5 cups beef broth, see notes
- 1 cup chicken broth
- 1 teaspoon Better Than Bouillon Roasted Beef Base, or 1 beef bouillon cube
- 2 teaspoons Worcestershire sauce
- 1 teaspoon Dijon mustard
Topping
- 1 French baguette, see notes
- 2 tablespoons olive oil
- 1 tablespoon butter
- 8 oz. Gruyere cheese, freshly shredded
- ½ cup Parmesan cheese, freshly grated
Instructions
- Slice the onions into ¼-inch slices (no thinner). Heat the olive oil and butter in a large Dutch oven or soup pot over medium heat. Add the onions, sprinkle with salt, and toss to coat. Cover and cook for 20 minutes, stirring occasionally, until they begin to soften and release their liquid.
- Remove the cover and continue to cook the onions for up to 90 minutes, stirring every few minutes. As they become more caramelized, stir more frequently and scrape up any browned bits from the bottom of the pot. Reduce the heat as needed to prevent burning.
- Toward the end of caramelizing, if browned bits begin to build up on the bottom of the pot, add small splashes of the wine (using up to ½ cup) and use a silicone spatula to "clean" the pot. Allow the wine to evaporate before adding another splash. This incorporates the flavorful fond back into the onions while preventing it from burning. The onions are ready when they're very soft, significantly reduced in volume, and a deep golden brown. Don't rush this step—the caramelized onions provide the primary flavor base for the soup.
- Add the garlic and cook for 1 minute. Add the thyme and bay leaves.
- Add the remaining wine and use a silicone spatula to scrape up any remaining browned bits from the bottom and sides of the pot. Let it simmer for 3–5 minutes, until the wine has reduced slightly and the alcohol smell has cooked off.
- Sprinkle the flour over the onions and stir continuously for 2 minutes to cook off the raw flour taste.
- Gradually add the beef broth and chicken broth, stirring as you do so. Add the bouillon, Worcestershire sauce, and Dijon. Bring the soup to a gentle boil, then reduce to a simmer.
- Cover partially and simmer for 30 minutes, stirring occasionally. Remove the thyme stems and bay leaves. Taste and season with salt and pepper as needed.
- Meanwhile, preheat the oven to 400° F. Cut the baguette into ¾-inch slices and arrange on a light-colored baking sheet. Lightly brush both sides with olive oil and butter. Bake for 6–8 minutes, flipping halfway through, until lightly golden and crisp. Remove and set aside.
- Set the oven to broil and arrange oven-safe soup crocks on a baking sheet. (See notes if not using oven-safe bowls.) Ladle the hot soup into the crocks, leaving about ½ inch of space at the top.
- Place 1–2 toasted baguette slices into each bowl. Combine the Gruyère and Parmesan and generously sprinkle it over the bread, extending some of the cheese to the edges of the crocks.
- Transfer the baking sheet to the oven and broil until the cheese is completely melted and bubbly, about 2–4 minutes. Watch it closely, as broiling times vary.
- Carefully remove from the oven and let the soup cool for a few minutes before serving. The crocks and soup will be extremely hot. Enjoy!
Notes
- If you don't have oven-safe soup bowls: Toast the baguette slices as outlined in the recipe. Arrange the toasted slices on a baking sheet and top generously with the Gruyère and Parmesan cheese. Broil until the cheese is melted, bubbly, and browned in spots, about 2–4 minutes. Ladle the hot soup into serving bowls and carefully place the cheesy baguette slices on top. Serve immediately.
- Beef Broth/Stock: High-quality beef broth or stock makes a big difference in this recipe since it provides much of the soup’s flavor. If you have access to a local butcher or specialty market that sells a good house-made beef stock, that’s a great option. Otherwise, Kitchen Basics Original Beef Stock is my preferred grocery store brand. Better Than Bouillon Roasted Beef Base is also added to further enhance the depth of flavor.
- Onions: It will seem like there are a lot of onions. They’ll fill the whole soup pot! But trust the process, onions are mostly made of water, and they’ll reduce down significantly.
Wine: Sauvignon Blanc is my top choice for this recipe as its crisp acidity helps balance the sweetness of the caramelized onions. Pinot Grigio and a dry, unoaked Chardonnay are also great options. Avoid sweet or noticeably fruity wines. - Wine Substitute: You can substitute 2 tablespoons white wine vinegar + chicken broth to make 1 cup. This provides acidity and depth of flavor similar to the wine without making the soup taste vinegary.
- Best Bread for French Onion Soup: A French baguette is my top choice for this soup. It has a sturdy, chewy texture that holds up well once topped with cheese and added to the broth. French bread, sourdough, or ciabatta are also great options. Avoid very soft sandwich-style breads, which can become soggy too quickly. Toasting the bread first is key for helping it maintain its structure.
- Cheese: Gruyère is my top choice for French Onion Soup—it has a rich, nutty flavor and melts beautifully. Comté, Emmental, Swiss, or Fontina are also great options. I like to combine Gruyère with a little Parmesan for extra flavor and browning. For the best flavor and melt, shred the cheese from a block rather than using pre-shredded cheese.
Storage:
- Refrigerate: Store leftover soup in an airtight container and refrigerate for up to 3–4 days. For best results, store the toasted bread and cheese separately and assemble just before serving.
- Freeze: The soup freezes very well without the bread and cheese. Store in an airtight container for up to 3 months. Thaw overnight in the refrigerator before reheating.
- Reheat: Reheat the soup gently on the stovetop or in the microwave. Prepare fresh toasted baguette slices with cheese and add them just before serving.
- Make Ahead: The soup can be prepared 1–2 days ahead of time, and the flavor gets even better as it sits! Refrigerate the soup and prepare the bread and cheesy topping when ready to serve.
Get my Cookbooks! 










I am planning on making this – will it work to make a day ahead of time and re-warm in a crock pot? Will be making the stovetop method.
Absolutely! Just leave the bread/cheese topping off until ready to serve! Enjoy!!
Amazing!! Made only one change and that was to add a teaspoon of sugar to onions as they are carmelizing (as someone else suggested). It was fantastic and will definitely keep in my rotation !! Thank you so much and Merry Christmas !🎄.
Nice work Amy, I’m so happy this recipe is a keeper!! Merry Christmas!!🩷🩷🩷
I always add 2 teaspoons up to 1 tablespoon of white table sugar to my onions (depending on the size of onions, amount in the pot) to help carmelize them. It does NOT change the flavour of the onions. I learned this trick from watching Food Network years ago (just don’t remember which chef it was).
Love that!!! Thank you for sharing! ❤️
This recipe is amazing! I’m making it for the 3rd time right now. In fact, let me go get that bread in the oven!
I’m so happy you’re enjoying it Amber! This is definitely a labor of love and one of my favorite things to make! I love the smell as the onions caramelize. Enjoy!!!🩷
This soup was FANTASTIC ❤️. My family loved it.
Love your recipes….a lot of love and work goes into them!!!!
Thanks Stephanie you make cooking enjoyable 👍
I’m so happy your family loved it Michelle!! That’s the best!!! Thanks so much for taking the time to leave a comment!!❤️
Can you use red wine instead?
Yes, a dry red wine may be used instead! 🙂
I love this recipe with a few changes. I do not add the flour or the beef boullion. I also prefer to use a reisling, especially if I am using vidalia onions. It brings out a flavor that we love. Thanks so much for sharing this recipe.
I’m so glad that you love it Karen, you have me wanting to make it now! 🙂
I just made this today and it was so delicious. Slow and steady with good ingredients and it’s a winner! Going to freeze some for my son so he can enjoy when he visits!
Excellent! I’m so happy that you enjoyed it Stacy! Thank you so much for the review, I really appreciate it!! 🙂 -Stephanie
I’m just adding the beef broth and homemade chicken stock, etc. Onions caramelized for 1-3/4 hours. That’s the key. I used balsamic and Shaoxing (did not have white wine). A bit of dark brown sugar. I can tell already this is going to be as close to my cherished recipe (which I’ve lost and can’t remember exactly) as I’ve ever had. Can’t wait for the final presentation!! Thank you for this awesome recipe. You do it RIGHT!!
AWWW I’m so glad that it comes close to your long lost beloved recipe Sue!! You clearly know your French Onion Soup!! Enjoy!! 🙂
The finished product was OUTSTANDING! You really nailed this recipe! I no longer have to agonize about my lost recipe. Thank you for freeing me!! 😊
This makes me so happy Sue!! You’re free!!! Thanks so much for the great comments!🩷
great recipe! the best I have found. somehow I was out of worcester sauce and didn’t realize it until I needed it so I tried 2 tbsp sherry. it added something maybe? who knows hah, now I have to try again the right way I guess.
Nice work Haleigh!! Sherry can add some great flavor so I’m not surprised! I’m so happy you liked it!💖