French onion soup goes wrong in three places: rushed onions, bland broth, and chewy or bland cheese. I’ve had all three at restaurants. This classic French onion soup recipe fixes each one. The onions get 35 to 50 minutes, the broth is real beef stock with sherry and white wine, and the Gruyère is shredded off the block so it melts gooey. No special crocks needed. Any bowl works.
⭐️⭐️⭐️⭐️⭐️ Chellie raved, “I don’t ever want to order this at a restaurant again! It’s sooooo much better made from scratch at home.”

Kathleen’s Recipe Highlights: French Onion Soup
- Flavor: Sweet caramelized onions, a rich and savory broth, and a gooey Gruyere cheese top. No added sugar.
- Why Make It: An entire soup pot costs less than a restaurant bowl and tastes better. It’s also gluten-free until the bread goes on. And you can use gluten-free bread!
- Technique: Give the onions 35 to 50 minutes. Then scrape up the brown bits with sherry. That’s where the flavor lives.
- Tools: A 6-quart Dutch oven and a baking sheet. No special soup crocks needed.
Total Time: 1 hour 45 minutes (15 minutes prep) Servings: 6 Cooking Method: Stovetop and broiler
The French Onion Soup That Came Back When the Kids Moved Out
I used to make French onion soup all the time. Then kids happened, LOL.
My boys loved a bowl of Italian Wedding Soup or my Lemon Chicken Soup. Onions? Not so much. And cheesy onion soup was a hard no.

My youngest still struggles with melty cheese. It’s a texture thing. He’ll eat me out of my budget in expensive hard cheese, but don’t you dare melt it. He’s gotten braver, though. He eats pizza now!
So for years this was a date-night-in soup. And most of the time I got lazy and bought it from Costco or Trader Joe’s. They were pretty good, but nothing like homemade.
Now that we’re empty nesters, it’s back in my soup season rotation. My husband and I can’t get enough of it.
I looked at both Ina Garten’s (the Barefoot Contessa) and Tyler Florence’s recipes, and then did my own testing. One batch I made with Cognac. Too sweet for me, and I had to add Worcestershire to balance it. My husband loved that pot. So I made it again with dry sherry, and he loved that one too. I preferred the second pot, so sherry won.


French Onion Soup Ingredients
- Yellow Onions: My pick every time. Yellow onions are sweet enough to caramelize, with enough bite to keep the soup savory. White onions are my second choice, and red works in a pinch. I skip sweet onions. They make the soup too sugary.
- Unsalted Butter: If yours is salted, taste before adding more salt.
- Garlic: Just two cloves. It adds savory flavor without taking over.
- Bay Leaves & Fresh Thyme: Classic herbs that give the broth an earthy flavor and a gorgeous aroma!
- Dry Sherry: A fortified wine from Spain that makes the caramelized onions sing! Use a dry Fino or Manzanilla. Brandy, Cognac, or red wine work too, but Cognac runs sweeter, and I didn’t care for it in testing.
- White Wine: A dry white adds brightness and acidity. Sauvignon Blanc, Pinot Grigio, or Chardonnay are all good. A dry red works too.
- Beef Stock: Beef stock gives the richest flavor. Broth works, but plan to season it more. For the best pot, use my homemade beef bone broth!
- Kosher Salt: Added to taste.
- White Pepper: Milder than black pepper.
- Baguette: A crusty French baguette, sliced ½ to ¾ inch thick. Thinner slices fall apart under the cheese and soup.
- Gruyère Cheese: A nutty, aged Swiss cheese that melts gooey and stringy. Shred it off the block.
- Skipping the alcohol? See the variations below.
Get the full recipe in the recipe card below.

Success Tips for the Best French Onion Soup
- The pot will look too full. Three pounds of onions is a lot, but they cook way down, so don’t panic.
- Onions browning too fast? Turn the heat down and add a splash of water. Scrape the bottom of the pot. Brown bits are flavor. Black bits are bitter.
- Use wine and sherry you’d drink. Not top shelf, not the bargain bin. Same goes for the stock. Homemade beef broth is best, but a good store-bought one works beautifully.
- Taste before you salt. Stocks vary a lot. Start with ½ tablespoon, then taste.
- Shred the Gruyere yourself. Cheese off the block melts gooey. Preshredded can struggle with melting properly due to anti-caking agents added to the package.
- Watch the broiler. Stay close. It goes from golden to burnt fast.
How to Make Homemade French Onion Soup
Step 1 – Caramelize the Onions
In a large pot or Dutch oven with a heavy bottom, melt the butter over medium-high heat.
Add the sliced onions, bay leaves, and thyme. Stir to coat the onions in butter, then spread them out in the pot.
Cook for 8 to 10 minutes over medium-high to medium heat. This gets the onions to release their juices.
Reduce the heat to medium or medium-low. Cook uncovered for 25 to 40 minutes more, stirring only occasionally. You’re looking for deep golden brown, jammy onions and brown bits on the bottom of the pot. Turn the heat down if they brown too fast.
Pro Tip: Pan looking dry? Add a tablespoon of water.
Want to speed things up? Add ½ teaspoon of kosher salt halfway through.
Add the garlic and stir for one minute. Then remove the thyme sprigs and one bay leaf.

Step 2 – Make the Broth
Increase the heat to medium-high and pour the sherry into the onion mixture. Stir, scraping up the brown bits stuck to the bottom of the pot. This is called deglazing, and those bits (called fond, which is brown, not black) add a ton of flavor! Reduce the heat to medium and simmer uncovered for 5 minutes.
Pour in the white wine and stir gently. Simmer uncovered for 15 minutes.
Pour in the beef stock and bring it to a gentle boil. Stir in ½ tablespoon of salt and the white pepper. Taste, and add more salt and pepper if needed. Simmer uncovered for 20 minutes, then remove the last bay leaf.


Step 3 – Prepare the Bread & Cheese
When you’re ready to serve, preheat the broiler. Slice the baguette ½ to ¾ inch thick and arrange the slices on a baking sheet. If your bread is on the softer side, broil it plain for a minute first. Sprinkle generously with grated Gruyère. Broil for 3 to 5 minutes, until the cheese is bubbly and golden. Watch closely so it doesn’t burn.


Step 4 – Serve
Float the cheesy bread on top of the soup. Or set it in the bowl and ladle the hot soup over it.
Love extra cheese? Top the soup with the Gruyère toast, add more cheese, and set the bowls on a baking sheet. Broil for a minute or two, until melted and gooey. Only do this with oven-safe bowls.
Bring on the stringy, gooey cheese!

French Onion Soup Variations & Substitutions
- Cheese Options: Gruyère is traditional and my favorite. Emmenthaler, Swiss, and Fontina are good swaps, and Parmesan or Provolone work too. I find Mozzarella too bland for this soup.
- Thicker Soup: I skip the flour, but you can add it. After the onions caramelize, sprinkle 3 tablespoons of flour over them and stir to coat. Reduce the heat to medium-low and cook for about 10 minutes, then carry on with the recipe. This version is no longer gluten-free.
- Alcohol-Free: Deglaze the pot with ½ cup of beef stock in place of the sherry. Then swap the wine for 1 ½ cups more stock. Use a quality organic beef stock; it’s the base of the soup! Finish with a splash of Worcestershire or vinegar to brighten it, since you lose that acidity when you omit the wine.
- Lighter or Vegetarian: Use chicken stock for a lighter soup, or vegetable broth to make it vegetarian. Beef stock gives the most authentic, traditional flavor. Going vegetarian? Check your cheese. Traditional Gruyère is made with animal rennet.
- Gluten-Free French Onion Soup: You bet! The soup itself is gluten-free. Swap the baguette for a good gluten-free French bread, and shred your cheese off the block.
- Cooking for Two: Make the full pot anyway. Eat it twice this week, then freeze the rest in single portions with Souper Cubes.
French Onion Soup Toppings
The classic topping is a slice of baguette under a blanket of melty Gruyère! Want a little extra? Try one of these:
- Fresh thyme leaves: They echo the thyme in the broth.
- A sprinkle of Parmesan: Add it over the Gruyère before broiling.
- Fresh cracked black pepper
- Crispy fried onions: For crunch.
- Crispy bacon bits
- A drizzle of balsamic vinegar: A few drops brighten a rich bowl.
What to Serve with French Onion Soup
This soup is rich, so a crisp salad or a hearty sandwich rounds it out. Here are a few dishes:
- A simple green salad with my Homemade Zesty Italian Dressing
- Italian Chopped Salad
- Strawberry and Goat Cheese Salad
- Roast Beef Sliders
- Philly Cheesesteak

How to Store French Onion Soup
Store leftover soup, without the bread and cheese, in an airtight container in the fridge for 3 to 4 days. Get it into the fridge within 2 hours of cooking.
Make-Ahead: This soup is even better the next day, which makes it great for entertaining! Make it a day or two ahead and refrigerate. Make the cheesy toasts fresh, right before serving.
What’s the best way to reheat French onion soup?
- Stovetop: This is how I do it. Warm the soup over low heat in a saucepan or Dutch oven. Add a splash of broth if it has thickened.
- Microwave: For one bowl, heat in a microwave-safe bowl until hot, stirring once or twice.
- Fresh cheesy toast: Don’t reheat the old one. Top a slice of baguette with Gruyère and broil for 2 to 3 minutes until bubbly and golden.
Can You Freeze French Onion Soup?
Yes, French onion soup freezes beautifully! Freeze it without the bread and cheese. Cool the soup, then transfer it to airtight freezer-safe containers or bags. Freeze for up to 3 months.
For single servings, freeze it in Souper Cubes, then move the frozen blocks to a freezer bag. Thaw overnight in the fridge, then reheat with either method above.

French Onion Soup FAQs
Patience with the onions. Cook them low and slow until they’re deep golden, jammy and sweet. Then scrape up the browned bits from the bottom of the pot when you add the sherry. That’s where the flavor lives. Good beef stock matters too, but it can’t rescue rushed onions.
It comes down to the onions and the finish. Regular onion soup is a simple broth with onions. French onion soup uses deeply caramelized onions and beef broth. Then it’s topped with crusty bread and Gruyère and broiled until golden and bubbly.
Yellow onions. They have enough natural sugar to caramelize well and enough bite to keep the soup from tasting sweet. White onions are my second choice. I skip sweet onions like Vidalia or Walla Walla; they make the soup too sugary for me.
A crusty French baguette. Day-old is even better, because slightly stale bread holds up in hot broth and doesn’t turn to mush. I’ve made this soup with my own homemade French bread, a day old, and it holds up great. My Rustic Italian Bread and sourdough bread work too. Slice it ½ to ¾ inch thick. I don’t toast the slices first. They toast under the broiler while the cheese melts. If your bread is very soft, toast it under the broiler for a minute before adding the cheese. Watch closely!
Gruyère is the classic choice for its nutty flavor and gooey melt. Emmenthaler, Swiss, and Fontina are good swaps. Parmesan and Provolone work too. Some people like Mozzarella, but I find it too bland for this soup. Whatever you pick, don’t skimp!
No. I broil the cheesy toasts on a baking sheet and float them on the soup, so any bowl works. Want the cheese melted over the whole top like a restaurant? Use oven-safe soup bowls and broil for a minute or two.
The onions burned. That happens when the heat is too high and they scorch before they caramelize. Start at medium-high to medium, drop to medium or medium-low after 10 minutes, and give them 35 to 50 minutes total.
It needs salt, acid, or both. Add salt a pinch at a time first. Then try a splash of vinegar, Worcestershire, or lemon juice. For deeper beef flavor, stir in a teaspoon of organic Better Than Bouillon.
Yes. This recipe uses dry sherry and white wine. Most of the alcohol cooks off as the soup simmers, but not all of it. To skip it, see the alcohol-free swap in the variations above.
Stock. It has more body and a richer flavor. Broth works, but you’ll need to season it more.

More Homemade Soup Recipes
More Popular Recipes from The Fresh Cooky
Like this recipe?
Don’t forget to give it a ⭐️⭐️⭐️⭐️⭐️ star rating and leave a comment below the recipe!
This French onion soup recipe was first published in November 2024. I updated it in October 2026 with a longer caramelizing time for the onions, clearer steps, new success tips, and answers to the questions readers ask most.

Video
Equipment
- Oxo Mandoline Slicer
- Oven-Safe Soup Bowls (optional)
Ingredients
- 2 ½ – 3 pounds yellow onions halved and sliced ¼ inch thick, see note 1
- ½ cup unsalted butter see note 2
- 2 cloves garlic minced
- 2 bay leaves
- 2 – 3 sprigs fresh thyme plus more for garnish
- ½ cup dry sherry see note 3
- 1 ½ cups dry white wine see note 4
- 8 cups (2 quarts) beef stock or broth see note 5
- ½ – 1 tablespoon kosher salt plus ½ teaspoon for the onions (optional)
- ½ teaspoon white pepper
- 1 baguette sliced ½ to ¾ inch thick
- ½ pound Gruyère cheese grated, see note 6
Instructions
- Melt the Butter: In a large heavy-bottomed stockpot or Dutch oven, melt ½ cup (1 stick) butter over medium-high heat.½ cup unsalted butter
- Caramelize Onions: Add the sliced onions, bay leaves, and thyme. Stir to coat the onions in butter, then spread them out in the pot. Cook for 8 to 10 minutes over medium-high to medium heat, so the onions release their juices.Reduce the heat to medium-low or low. Cook uncovered for 25 to 40 minutes more*, stirring occasionally.*Every stovetop heats a little differently, so go by color more than the clock. The onions will turn translucent, then golden, then a deep golden brown. They'll get a little sticky and jammy as their sugars caramelize. If the pot gets dark or too dry, add a splash (about a tablespoon) of water and stir those brown bits off the bottom of the pan. Turn the heat down if they brown too fast. If desired, add ½ teaspoon kosher salt when you reduce the heat, to speed things up. Add the garlic and stir for one minute.**2 ½ – 3 pounds yellow onions, 2 bay leaves, 2 – 3 sprigs fresh thyme, 2 cloves garlic
- Remove Herbs: Once the onions are caramelized, remove the thyme sprigs and one bay leaf, leaving the other one in.
- Deglaze the Pot: Increase the heat to medium-high and pour in the sherry. Stir, scraping up the brown bits stuck to the bottom of the pot. This is called deglazing, and those bits add a ton of flavor! Reduce the heat to medium and simmer uncovered for 5 minutes.½ cup dry sherry
- Add Wine: Pour in the white wine and stir gently. Let it simmer uncovered for 15 minutes.1 ½ cups dry white wine
- Add Broth and Seasoning: Pour in the beef stock and bring it to a gentle boil. Stir in ½ tablespoon of salt and the white pepper. Taste, and add more salt and pepper if needed. Simmer uncovered for 20 minutes, then remove the last bay leaf.8 cups (2 quarts) beef stock, ½ – 1 tablespoon kosher salt, ½ teaspoon white pepper
- Prepare the Bread and Cheese: When you're ready to serve, preheat the broiler. Slice the baguette ½ to ¾ inch thick, so it's sturdy enough to hold the cheese and soak up broth without falling apart. Arrange the slices on a baking sheet and sprinkle generously with grated Gruyère. Broil for 3 to 5 minutes, until the cheese is bubbly and golden. Watch closely so it doesn't burn.1 baguette, ½ pound Gruyère cheese
- Serve: Float the cheesy bread on top of the soup, or set it in the bowl and ladle the hot soup over it. Love extra cheese? Top the soup with the Gruyère toast, add more cheese, and set oven-safe bowls on a baking sheet. Broil for a minute or two, until melted and gooey.
Notes
- Onions: Yellow onions are best for this soup, with white onions next. Red onions work in a pinch. I skip sweet onions; they make the soup too sugary. To prep, cut off both ends, slice in half from top to bottom, and peel. Lay the flat side down and slice ¼ inch thick. I love using this inexpensive mandoline to make it speedy.
- Salted Butter? If you use salted butter, taste the soup before adding more salt.
- Sherry: Use a dry Fino or Manzanilla sherry for the best flavor. Brandy, Cognac, or red wine also work. When I tested with Cognac, the soup came out a little too sweet for me, and I added a tablespoon of Worcestershire to balance it. Most of the alcohol cooks off as the soup simmers.
- Wine: Use Sauvignon Blanc, Pinot Grigio, or Chardonnay. A dry red works too. My rule of thumb: cook with something you’d enjoy drinking, and don’t go super cheap. Most of the alcohol cooks off. To skip it, see note 5.
- Beef Stock: Stock gives the richest flavor. Broth works, but plan to season it more. Use a quality organic one; it’s the base of the soup! Alcohol-free: Deglaze with ½ cup beef stock instead of the sherry, then use 1 ½ cups more stock instead of the wine.
- Cheese: Gruyère is the best cheese for this soup. Emmenthaler, Swiss, and Fontina are good swaps, and Parmesan or Provolone work too. I find Mozzarella too bland here. Shred it off the block, and don’t skimp. The cheese makes this recipe!
- Thicker soup: This soup has no flour, so it’s naturally gluten-free until the bread goes on. For a thicker soup, sprinkle 3 tablespoons of flour over the caramelized onions and stir to coat. Reduce the heat to medium-low and cook for about 10 minutes, then continue with the recipe.
Nutrition





















Chellie
I don’t ever want to order this at a restaurant again! It’s sooooo much better made from scratch at home.
Right?! Thank you so much, Chellie!