I burned my first batch of caramelized onions so badly the smoke alarm went off twice.
That was five years ago. Now this is the soup my husband requests every single time it gets cold outside, and honestly, I don’t blame him.
French onion soup has this reputation for being fancy restaurant food. Something you only order when you’re feeling a little bougie and want to impress a date.
But here’s the truth: it’s just onions, broth, bread, and cheese. That’s it. The magic is all in the technique, and once you know it, you’ll wonder why you ever paid $14 for a bowl of it.
Let’s get into it. 🧅
What You’ll Need
Here’s everything you’ll need to make a proper pot of this soup.
For the soup:
- 4 large yellow onions, thinly sliced
- 3 tablespoons unsalted butter
- 1 tablespoon olive oil
- 1 teaspoon sugar (this helps with caramelization)
- 1 teaspoon salt
- 2 cloves garlic, minced
- 1/2 cup dry white wine (or sherry)
- 6 cups beef broth
- 2 sprigs fresh thyme (or 1/2 teaspoon dried)
- 1 bay leaf
- 1 tablespoon all-purpose flour
- Black pepper, to taste
For the topping:
- 1 baguette, sliced into 1-inch rounds
- 2 cups shredded Gruyère cheese
- 1/2 cup shredded mozzarella (optional, for extra stretch)
Tools You’ll Need
- A large, heavy-bottomed pot or Dutch oven
- A sharp knife for slicing all those onions
- Oven-safe soup bowls or ramekins
- A baking sheet
- Ladle
Pro Tips
Don’t rush the onions. I know it’s tempting to crank the heat and get this done faster. But real caramelization takes 40-45 minutes, and low heat is what turns them golden and jammy instead of just brown and sad.
Add a pinch of baking soda if you’re short on time. It speeds up caramelization by breaking down the onions faster. Use a tiny pinch though, too much and you’ll taste it.
Use a mix of onion varieties if you can. Yellow onions are classic, but throwing in one red or sweet onion adds a little extra depth.
Deglaze properly. When you add the wine, scrape up all those brown bits stuck to the bottom of the pot. That’s flavor you don’t want to leave behind.
Broil the cheese, don’t bake it. Baking melts it. Broiling gives you that bubbly, slightly charred top that makes this soup feel like it came from a restaurant.
How to Make French Onion Soup
Step 1: Slice and Sweat the Onions
Melt the butter with the olive oil in your pot over medium heat.
Add the sliced onions, sugar, and salt. Stir to coat.
Cook for about 10 minutes, stirring occasionally, until they start to soften.
Step 2: Caramelize Low and Slow
Turn the heat down to medium-low.
Keep cooking the onions for 35-40 minutes, stirring every 5 minutes or so. They’ll go from soft to golden to deep amber brown.
Add a splash of water if they start sticking to the bottom.
Step 3: Add the Garlic and Flour
Stir in the minced garlic and cook for 1 minute, just until fragrant.
Sprinkle the flour over the onions and stir well. This helps thicken the soup slightly.
Step 4: Deglaze and Simmer
Pour in the wine and scrape up any browned bits from the bottom of the pot.
Let it simmer for 2-3 minutes until it reduces slightly.
Add the beef broth, thyme, and bay leaf. Bring to a simmer, then reduce heat and let it cook uncovered for 20-25 minutes.
Remove the bay leaf and thyme sprigs. Season with black pepper to taste.
Step 5: Toast the Bread
While the soup simmers, arrange baguette slices on a baking sheet.
Broil for 1-2 minutes per side until golden. Keep an eye on them, they go from perfect to burnt fast.
Step 6: Assemble and Broil
Ladle the soup into oven-safe bowls.
Top each bowl with a slice or two of toasted baguette.
Pile on the Gruyère (and mozzarella if using).
Place bowls on a baking sheet and broil for 2-4 minutes until the cheese is bubbly and golden in spots.
Let cool for a few minutes before diving in. That cheese holds heat like nothing else.
Substitutions and Variations
| Original | Substitution | Notes |
|---|---|---|
| Beef broth | Vegetable broth or mushroom broth | Makes it vegetarian, still rich |
| Gruyère | Swiss or provolone | Slightly milder flavor |
| White wine | Extra broth + splash of vinegar | For an alcohol-free version |
| Baguette | Sourdough or ciabatta | Whatever’s sturdy enough to hold cheese |
| Yellow onions | Sweet onions (Vidalia) | Milder, slightly sweeter soup |
Make-Ahead Tips
The onions are the time-consuming part, so this is a great one to prep in advance.
You can caramelize the onions up to 3 days ahead and store them in the fridge in an airtight container.
The full soup base (minus the bread and cheese) also freezes really well for up to 3 months. Just thaw, reheat, and add your toppings fresh.
Nutritional Breakdown (Estimated)
Keep in mind these numbers are estimates and will shift depending on your exact ingredients and portion sizes.
| Nutrient | Per Serving (1 of 6) |
|---|---|
| Calories | ~380 |
| Protein | 15g |
| Carbs | 28g |
| Fat | 22g |
| Sodium | 890mg |
Meal Pairings

This soup is rich, so I like to keep the sides simple.
- A crisp green salad with a light vinaigrette
- Roasted asparagus or green beans
- A glass of the same dry white wine you cooked with
Storage and Reheating
Store leftover soup (without the bread and cheese topping) in an airtight container in the fridge for up to 4 days.
Reheat on the stovetop over medium-low heat until warmed through. Add fresh bread and cheese and broil right before serving so the topping stays crisp.
Freezing works great for the soup base alone. Avoid freezing it with the bread already on top, it gets soggy.
FAQ
Can I make this soup vegetarian? Yes. Swap the beef broth for a good vegetable or mushroom broth. You’ll still get plenty of depth from the caramelized onions.
Why did my onions turn out bitter instead of sweet? That usually means the heat was too high and they burned instead of caramelizing slowly. Lower the heat and be patient.
What’s the best cheese if I can’t find Gruyère? Swiss cheese is the closest substitute. Provolone or a mix of mozzarella and parmesan also work in a pinch.
Can I make this in a slow cooker? You can caramelize the onions on the stovetop first, then transfer everything to a slow cooker with the broth and let it simmer on low for 4-6 hours.
Do I have to use wine? No. You can skip it and add a splash of balsamic vinegar or extra broth instead for a similar depth of flavor.
Wrapping Up
This is the kind of soup that makes your whole kitchen smell incredible for an hour straight, and then rewards you with a bowl that tastes like way more effort went into it than actually did.
Give it a try this week, especially if there’s even a slight chill in the air where you live.
And when you do, come back and let me know how it turned out in the comments. I’d love to hear if you tried any of the substitutions, or if you’ve got your own twist on this classic.