You know those restaurant dishes that seem too fancy to make at home? For the longest time, French Onion Soup was that recipe for me. I'd order it every time John and I went out for date night, watching the cheese stretch from my spoon and thinking there was no way I could pull this off in my Nashville kitchen.

Then one cold January evening about three years back, Bradley came home from basketball practice absolutely freezing, and I had this mountain of onions sitting on my counter. I remembered my cooking school days in France, watching our instructor slowly caramelize onions until they turned into liquid gold. That night, I decided to give it a shot.
Here's the thing—French Onion Soup isn't difficult. It just takes patience. The kind of patience where you stand at the stove, stirring onions and watching them transform from sharp and pungent to sweet and deeply caramelized. Bradley actually put down his phone that night when the smell filled our house, and Amy declared it "the best soup ever" before she even tasted it.
This soup has become our go-to when Nashville's winter weather hits (which, let me tell you, can be pretty unpredictable). It pairs beautifully with my Best Mashed Potatoes for a complete comfort food dinner, and it's honestly one of those recipes that makes you look like a professional chef with ingredients you probably already have.
Jump to:
Why You'll Love This French Onion Soup
- Simple ingredients that pack serious flavor - Just onions, stock, butter, and cheese create restaurant-quality results
- Perfect for cold evenings - Nothing warms you up quite like a bowl of this rich, savory soup
- Make-ahead friendly - The soup actually tastes better the next day, making it great for meal planning
- Teaches you a valuable cooking technique - Learning to properly caramelize onions opens up a whole world of cooking possibilities
- Budget-friendly comfort food - Onions are inexpensive, and this recipe feeds a crowd
- Impresses guests every single time - That cheese pull? People lose their minds over it
Ingredients for French Onion Soup
Here's what you'll need to make this classic French onion soup:
the Soup Base:
- 6 large red or yellow onions (about 3 pounds total)
- 4 tablespoons extra virgin olive oil
- 2 tablespoons butter
- 1 teaspoon sugar (helps with caramelization)
- Kosher salt
- 2 cloves garlic, minced
- 8 cups beef stock (or chicken stock, or a combination)
- ½ cup dry vermouth or dry white wine
- 2 bay leaves
- 1 tablespoon fresh thyme leaves (or ½ teaspoon dried)
- ½ teaspoon freshly ground black pepper
- 2 tablespoons brandy (optional, but so good)
For the Cheesy Toast Topping:
- 8 slices (1 inch thick) French bread or baguette
- 1 ½ cups grated Gruyere cheese
- Sprinkling of grated Parmesan cheese
A quick note about the stock—I learned this the hard way. Your soup is only as good as your stock. I use a combination of beef and chicken stock, and if it tastes a bit weak, I'll add a spoonful of Better Than Bouillon beef base. Trust me on this one.
How to Make French Onion Soup
Prep Your Onions:
- Peel and thinly slice the onions from root to stem. This is where Amy usually helps me—she thinks slicing onions is fun (though she does complain about the tears). You should end up with about 10 cups of sliced onions.
Start the Caramelization Process:
- Heat 3 tablespoons of olive oil in a 5 to 6 quart thick-bottomed pot over medium heat. Add all the onions and toss them to coat with the oil.
- Cook the onions, stirring often, until they've softened completely. This takes about 15 to 20 minutes. Don't rush this step—we're building flavor here.
Deepen the Color and Flavor:
- Increase the heat to medium-high. Add the remaining tablespoon of olive oil and the butter. Continue cooking, stirring often, until the onions start to turn golden brown. This is where patience really comes in—it can take anywhere from 20 to 40 minutes depending on your stove.


The first time I made this, I got impatient around the 25-minute mark and cranked up the heat. Bad idea. I ended up with burnt onions and had to start over. Low and slow is the name of the game here.
- Sprinkle the sugar and 1 teaspoon of salt over the onions. This helps speed up the caramelization a bit. Continue cooking until the onions are deeply browned and have that amazing sweet smell, about 10 to 15 more minutes.
- Add the minced garlic and cook for just one more minute. Garlic burns easily, so we add it near the end.
Build the Soup Base:
- Pour in the vermouth or wine and use a wooden spoon to scrape up all those brown bits stuck to the bottom of the pot. This is called deglazing, and it's where tons of flavor lives.
- Add the stock, bay leaves, and thyme. Bring everything to a simmer, then cover the pot and lower the heat. Let it simmer gently for about 30 minutes. This is a good time to prep your bread.
- Season to taste with more salt if needed, and add the freshly ground black pepper. Remove the bay leaves. If you're using brandy (which I highly recommend), stir it in now.
Prepare the Cheese Toasts:


- Preheat your oven to 450°F with a rack in the upper third. Line a baking sheet with parchment paper.
- Brush both sides of the bread slices lightly with olive oil. Arrange them on the baking sheet.
- Toast the bread until lightly golden, about 5 to 7 minutes. Flip them over, top with the grated Gruyere and a sprinkle of Parmesan, and return to the oven until the cheese is bubbly and starting to brown.
Bring It All Together:
- Ladle the hot soup into oven-safe bowls. Top each bowl with a cheesy toast, or place all the toasts on top and put the whole thing under the broiler for a few minutes.
Bradley's favorite part? Breaking through that layer of melted cheese to get to the rich, savory soup underneath. John usually goes back for seconds before I've even finished my first bowl.
Storage and Reheating
The soup actually gets better overnight as the flavors have time to blend together. I make this on Sunday afternoons when I have time to babysit those onions, then we eat it throughout the week.
Refrigerator: Store the soup (without the bread and cheese) in an airtight container for up to 4 days. The onions will continue to soften and the flavor deepens.
Freezer: This soup freezes beautifully for up to 3 months. I like to freeze it in individual portions so I can thaw exactly what we need.
Reheating: Warm the soup gently on the stovetop over medium-low heat. Toast fresh bread and add cheese just before serving for the best results. Honestly? Day-old French onion soup tastes even better than fresh because all those flavors have had time to get to know each other.
Tips for Perfect French Onion Soup

Don't rush the onions. I can't stress this enough. That deep caramelization is where all the magic happens. Put on some music, pour yourself a glass of wine (you're using it in the recipe anyway), and commit to standing at that stove.
Use good quality stock. I've tried making this with various stocks, and the difference is huge. If you're using store-bought, go for a brand you trust. And if it tastes weak, beef bouillon is your friend.
The cheese matters too. Gruyere is traditional for a reason—it melts beautifully and has this nutty, slightly sweet flavor that complements the onions perfectly. Swiss cheese works in a pinch, but Gruyere is worth seeking out.
Add a splash of brandy. It's optional, but that little bit of brandy adds such a lovely depth to the soup. I keep a small bottle just for cooking.
Make extra bread. Bradley always wants seconds, and there's never enough cheesy toast. I've learned to make at least two extra slices.
Want to switch things up? Try adding a splash of balsamic vinegar at the end for a subtle tang, or use a mix of red and yellow onions for more complex flavor. Some folks like to add a pinch of cayenne for heat, but that's not really my family's thing.
FAQ About French Onion Soup
Plan for 45-60 minutes total. The onions need to cook slowly over medium to medium-high heat, stirring often, until they're deeply golden brown and sweet.
Yes! Try Swiss cheese, Emmental, Comté, or even a combination of mozzarella and Parmesan for a budget-friendly option.
Beef stock gives the richest flavor, but chicken stock or a 50/50 blend works well too. Quality matters—use homemade or a good store-bought brand, and add beef bouillon if needed.
Absolutely! Make the soup up to 3 days ahead and refrigerate. Toast the bread and add cheese just before serving for the best texture.
Recipes You May Like
If you're loving this homemade French onion soup, you'll want to try these other comfort food recipes from my kitchen:
- Best Mashed Potatoes - The perfect creamy side dish that pairs beautifully with this soup
- Honey Glazed Ham - Another show-stopping main dish that makes any dinner feel special
- Garlic Butter Melting Potatoes - Crispy on the outside, creamy on the inside, and ridiculously good
Conclusion

There's something really special about making French onion soup from scratch. It's one of those recipes that looks and tastes impressive, but it's actually pretty straightforward once you understand the process.
The key is patience with those onions and using good quality ingredients. If you can commit to about an hour of occasional stirring, you'll be rewarded with a soup that tastes better than most restaurants.
This has become one of our family's cold-weather traditions. Bradley requests it at least once a month during winter, and even Amy (who's generally suspicious of onions) will eat two bowls. John says it's his go-to when he's feeling under the weather.
Give this recipe a try the next time you're in the mood for something comforting and a little bit fancy. Let me know how it turns out for you! And don't forget to save this recipe on Pinterest so you can find it again when those cold evenings hit.
Happy cooking, and here's to many more bowls of this amazing soup with your loved ones



French Onion Soup
- Total Time: 2 hours
- Yield: 6 servings 1x
Description
A classic French comfort soup featuring deeply caramelized onions in rich beef broth, topped with toasted bread and melted Gruyere cheese. This restaurant-quality dish is surprisingly simple to make at home.
Ingredients
- 6 large red or yellow onions (about 3 pounds total)
- 4 tablespoons extra virgin olive oil
- 2 tablespoons butter
- 1 teaspoon sugar
- Kosher salt
- 2 cloves garlic, minced
- 8 cups beef stock (or chicken stock, or a combination)
- ½ cup dry vermouth or dry white wine
- 2 bay leaves
- 1 tablespoon fresh thyme leaves (or ½ teaspoon dried)
- ½ teaspoon freshly ground black pepper
- 2 tablespoons brandy (optional)
- 8 slices (1 inch thick) French bread or baguette
- 1 ½ cups grated Gruyere cheese
- Sprinkling of grated Parmesan cheese
Instructions
- Peel and thinly slice the onions from root to stem.
- Heat 3 tablespoons of olive oil in a 5 to 6 quart thick-bottomed pot over medium heat.
- Add all the onions and toss to coat with oil.
- Cook the onions, stirring often, until softened, about 15 to 20 minutes.
- Increase heat to medium-high and add remaining olive oil and butter.
- Continue cooking, stirring often, until onions turn golden brown, 20 to 40 minutes.
- Sprinkle sugar and 1 teaspoon salt over onions and continue cooking until deeply browned, 10 to 15 minutes.
- Add minced garlic and cook for 1 minute.
- Pour in vermouth or wine and scrape up brown bits from bottom of pot.
- Add stock, bay leaves, and thyme and bring to a simmer.
- Cover and simmer gently for 30 minutes.
- Season with salt and black pepper, remove bay leaves, and stir in brandy if using.
- Preheat oven to 450°F and line a baking sheet with parchment paper.
- Brush bread slices with olive oil on both sides and arrange on baking sheet.
- Toast bread until lightly golden, 5 to 7 minutes.
- Flip bread, top with Gruyere and Parmesan, and return to oven until cheese is bubbly.
- Ladle hot soup into bowls and top with cheesy toasts.
Notes
Don't rush the caramelization process - it takes 45 to 60 minutes but that's where all the magic happens. Use good quality stock for the best flavor. The soup tastes even better the next day as flavors blend together.
- Prep Time: 20 minutes
- Cook Time: 90 minutes
- Category: Soup
- Method: Stovetop
- Cuisine: French
Nutrition
- Serving Size: 1 bowl
- Calories: 380
- Sugar: 12g
- Sodium: 950mg
- Fat: 18g
- Saturated Fat: 9g
- Unsaturated Fat: 8g
- Trans Fat: 0g
- Carbohydrates: 35g
- Fiber: 4g
- Protein: 18g
- Cholesterol: 45mg




