French Onion Soup
This French Onion Soup has sweet, golden caramelized onions swimming in rich broth, all topped with a cheesy, crusty slice of bread that makes you close your eyes with happiness after the first bite.
It’s fancy enough to serve at a dinner party but easy enough to enjoy in your PJs on a chilly evening. And the best part? Making it at home is not as hard as it looks.

Why French Onion Soup is So Special
Raw onions can be sharp and even make you cry (literally), but slow-cook them with butter, and they turn into sweet, caramelized goodness that could almost pass as candy. Add a splash of wine, rich beef broth, and herbs, then finish it off with toasted baguette slices covered in melty Gruyère cheese… well, let’s just say it’s a flavor party.
This recipe may take a little patience (caramelizing onions isn’t something you can rush), but trust me, every minute is worth it.
Ingredients You’ll Need
Here’s what you’ll need to make enough soup to serve 4 people (though honestly, I’d double it if you’ve got hungry teens or want leftovers, because it reheats beautifully!).
Ingredients

Step-by-Step Directions
Step 1: Slice the Onions
Peel your onions and slice them evenly. You don’t want super thin slivers or chunky half-moons, just aim for consistent slices so they cook evenly.

Step 2: Caramelize the Onions (The Secret to Great Soup!)
This is where the magic happens. In a large Dutch oven or heavy-bottomed pot, melt butter with olive oil over medium heat. Add the onions and give them a good stir to coat them in the buttery goodness.
At first, they’ll just soften and turn translucent, this takes about 15 minutes. Then, lower the heat to medium-low and let them cook slowly for another 30–40 minutes, stirring occasionally. Don’t rush this! Caramelized onions need time to develop that deep golden-brown sweetness.
In the last few minutes, toss in the garlic (just don’t let it burn).

Step 3: Deglaze with Wine
Now crank up the heat to medium-high and pour in the wine. Use a wooden spoon to scrape up all the flavorful browned bits from the bottom of the pot. Let the wine reduce by half, it’ll take around 5 minutes. This adds a tangy depth that balances the sweetness of the onions.

Step 4: Add Stock and Simmer
Stir in the beef stock, bay leaves, thyme, plus a pinch of salt and pepper. Bring everything to a gentle simmer, then lower the heat and let it bubble quietly for 30 minutes. Your kitchen will smell incredible at this point, and the soup will be rich and full of flavor. Don’t forget to fish out the bay leaves before serving.

Step 5: Toast the Bread & Melt the Cheese
Preheat your broiler. Place baguette slices on a baking sheet, top them with shredded Gruyère cheese, and broil until bubbly and golden brown, about 2–3 minutes. Watch closely, because they can go from golden to burnt in a heartbeat!

Step 6: Serve & Enjoy
Ladle the soup into bowls, carefully place the cheesy baguette slices on top, and serve immediately. Grab a spoon, break through that melty cheese layer, and enjoy every bite.

Tips for the Best French Onion Soup
- Patience is key. Rushing the onion caramelization will give you bland soup. Slow and steady wins the race.
- Use good beef stock. Homemade is amazing, but a quality store-bought one works too. Just avoid anything too salty.
- Wine substitutions. If you don’t have white wine, you can use a splash of red, or even skip it and add a teaspoon of balsamic vinegar for a similar flavor boost.
- Cheese matters. Gruyère is the traditional choice, but Swiss, Provolone, or even mozzarella can work in a pinch.
What to Serve with French Onion Soup
This soup is hearty enough to stand on its own, but if you want to round out the meal, here are some tasty pairing ideas:
- Simple green salad with a light vinaigrette to balance the richness.
- Roast chicken or a simple grilled steak for extra protein.
- Potatoes (perfect for soaking up that broth!).

Storing & Reheating
Got leftovers? Lucky you! Store cooled soup in an airtight container in the fridge for up to 3 days. When reheating, warm gently on the stove. Toast fresh bread with cheese instead of saving soggy leftovers for best results.
You can even freeze the soup (without the bread and cheese topping). Just thaw and reheat when the craving strikes.
Fun Twist Ideas
Want to make it your own? Try these variations:
- Vegetarian version: Swap beef stock for vegetable stock.
- Extra cheesy: Add Parmesan or Fontina along with the Gruyère.
- Garlic bread topper: Instead of plain toasted baguette, make mini garlic bread slices before adding cheese.
- French Onion Grilled Cheese: Make the soup, then use it as a dip for gooey grilled cheese sandwiches. Oh yes, it’s as good as it sounds.
French Onion Soup may take some time, but it’s absolutely worth it. The slow caramelization of onions, the rich broth, and that irresistible cheesy bread on top all come together for a delicious meal.
Whether you’re serving it as a starter for a fancy dinner or just treating yourself on a quiet night at home, this recipe is one you’ll want to make again and again.
Check Out More Soup Recipes

French Onion Soup
Ingredients
- 2.5 lbs yellow onions thinly sliced
- 2 tablespoons unsalted butter
- 1 tablespoon olive oil
- 2 cloves garlic minced
- 1/2 cup dry white wine something you’d actually drink, not “cooking wine”
- 6 cups beef stock
- 2 bay leaves
- 1/2 teaspoon dried thyme
- Salt and black pepper to taste
- 8 slices of baguette
- 1 cup grated Gruyère cheese substitute with Swiss if needed, but Gruyère is the classic choice!
Instructions
- Peel your onions and slice them evenly. You don’t want super thin slivers or chunky half-moons, just aim for consistent slices so they cook evenly.
- In a large Dutch oven or heavy-bottomed pot, melt butter with olive oil over medium heat. Add the onions and give them a good stir to coat them in the buttery goodness.
- At first, they’ll just soften and turn translucent, this takes about 15 minutes. Then, lower the heat to medium-low and let them cook slowly for another 30–40 minutes, stirring occasionally. Don’t rush this! Caramelized onions need time to develop that deep golden-brown sweetness.
- In the last few minutes, toss in the garlic (just don’t let it burn).
- Now crank up the heat to medium-high and pour in the wine. Use a wooden spoon to scrape up all the flavorful browned bits from the bottom of the pot. Let the wine reduce by half, it’ll take around 5 minutes. This adds a tangy depth that balances the sweetness of the onions.
- Stir in the beef stock, bay leaves, thyme, plus a pinch of salt and pepper. Bring everything to a gentle simmer, then lower the heat and let it bubble quietly for 30 minutes. Your kitchen will smell incredible at this point, and the soup will be rich and full of flavor. Don’t forget to fish out the bay leaves before serving.
- Preheat your broiler. Place baguette slices on a baking sheet, top them with shredded Gruyère cheese, and broil until bubbly and golden brown, about 2–3 minutes. Watch closely, because they can go from golden to burnt in a heartbeat!
- Ladle the soup into bowls, carefully place the cheesy baguette slices on top, and serve immediately. Grab a spoon, break through that melty cheese layer, and enjoy every bite.