This post may contain affiliate links. Please read our disclosure policy.
To make French onion soup, slowly caramelize thinly sliced yellow onions in butter and olive oil for 35 to 50 minutes until deep golden-brown and jam-like, adding a splash of water whenever the pot starts to stick.
Stir in a little flour, deglaze with white wine, add beef broth and simmer for 20 minutes. Top with toasted baguette and Gruyère and broil until bubbling.

French onion soup is the dish I order at restaurants and then think, I can make this at home for a fraction of the price. And you can.
The main ingredient is onions, one of the cheapest vegetables you can buy.
Add butter, broth, a splash of wine, bread and cheese, and that’s pretty much it.
The only real secret is patience.
When I made this batch, there was a moment when the onions looked soft and golden and I thought they were ready.
They weren’t.
Another 10 to 20 minutes turned them deep brown and jammy, and that is where the restaurant flavor comes from.
The second thing I learned: when the onions start sticking, you don’t need more butter.
A tablespoon or two of water loosens the browned bits from the bottom of the pot and keeps the onions from burning.
That one trick makes this French onion soup almost foolproof.

Why You’ll Love This French Onion Soup
- Restaurant quality at home. Deeply caramelized onions, rich beef broth and a bubbling cheese crust, just like the bistro version.
- Minimal ingredients. Onions, butter, olive oil, flour, white wine, broth, bread and cheese. No special equipment.
- Inexpensive. Onions and a baguette are budget staples, and one pot feeds 6 to 8 people.
- A no-burn trick. A splash of water instead of extra fat keeps the onions from scorching.
- Make ahead. The soup keeps 3 to 4 days in the fridge and freezes well. Add the cheesy toast right before serving.
Ingredients for French Onion Soup

- Yellow onions: 5 to 6 large, thinly sliced. They turn sweet and rich as they caramelize. It looks like a mountain of onions, but they cook down a lot.
- Butter and olive oil: butter for flavor, olive oil so the onions coat evenly.
- Salt and a pinch of sugar: salt draws out moisture at the start, and a little sugar helps the browning.
- Flour: just 1 tablespoon gives the broth a little body without making it thick.
- Dry white wine: adds a touch of acidity and lifts the browned bits off the pot.
- Beef broth: I use homemade beef broth. A good store-bought broth works too; just taste before adding salt.
- Bay leaf, fresh thyme, Worcestershire sauce and black pepper: add the bay leaf and 2 to 3 fresh thyme sprigs to the broth as it simmers, then remove both herbs before serving.
- Baguette and cheese: Gruyère is classic. Emmental or Swiss melt just as well and often cost less. Extra fresh thyme is optional for garnish.
Exact amounts are in the recipe card below.
How to Make French Onion Soup

- Soften the onions. Melt the butter with the olive oil in a large, heavy-bottomed pot over medium heat. Add the onions, salt and sugar, stir, turn the heat to medium-low, cover and cook for 10 minutes. They’ll look pale and watery. That’s normal.
- Caramelize slowly. Uncover and keep cooking over medium-low heat, stirring every few minutes, until the onions are deep golden-brown, very soft and much smaller in volume. Plan on 35 to 50 minutes in total, sometimes longer.
- Use the water trick. Whenever the bottom of the pot gets too dark or the onions stick, add 1 to 2 tablespoons of water, scrape up the browned bits and keep cooking. Repeat as needed. Brown bits mean flavor. Black bits mean the heat is too high.
- Add flour and wine. Sprinkle the flour over the onions and stir for 1 minute. Pour in the wine and scrape the bottom of the pot.
- Simmer. Add the beef broth, bay leaf, 2 to 3 sprigs of fresh thyme, Worcestershire sauce and black pepper. Simmer gently for 20 minutes, then remove the bay leaf and thyme sprigs. Taste and adjust the salt.
- Top and broil. Ladle the soup into oven-safe bowls, add toasted baguette slices and plenty of cheese, and broil until bubbling and golden. Finish with a thyme sprig.
How to Know the Onions Are Ready

This is the step that makes or breaks French onion soup. The onions are ready when they are:
- Deep golden-brown, not pale gold
- Very soft and glossy, almost like jam
- Reduced to a fraction of what you started with
They should never be black, dry or bitter. If they still look light golden, give them another 10 to 20 minutes.
Trust how they look more than the clock.
The Cheesy Bread Topping

Toast the baguette slices first so they don’t go soggy.
Place them on the hot soup, pile on the cheese and broil on a baking sheet until melted and golden.

Watch closely, because cheese goes from golden to burnt fast.

No oven-safe bowls? Put the toasted bread on a baking sheet, cover it with cheese and broil it on its own, then float the cheesy toast on the soup.

My Tips for the Best French Onion Soup
- Use a heavy-bottomed pot. It spreads the heat evenly, so the onions brown instead of scorching.
- Slice the onions evenly so they cook at the same rate.
- Don’t turn up the heat to speed things up. Medium-low is the whole secret.
- Water, not more butter, when the pot starts sticking.
- Taste before you salt. The broth and the cheese both add salt.
- Broil right before serving. The cheese crust is best fresh and bubbling.
What to Serve With French Onion Soup

With the cheesy toast on top, a bowl is a light meal on its own. For a bigger dinner, add a simple green salad or roasted vegetables. It also makes a lovely starter for a cozy dinner, and a slice of homemade crusty no-knead bread is never a bad idea.
Make Ahead and Storage

Fridge: cook the soup through the simmering step, cool it and keep it in an airtight container for 3 to 4 days.
Reheat until hot, then add the toast and cheese and broil.
Freezer: freeze the soup without the bread and cheese for up to 3 months.
Thaw overnight in the fridge and reheat.
Make the topping fresh.
Don’t store the soup with the bread on it, because the bread turns soggy.

French Onion Soup FAQ
What are the best onions for French onion soup?
Yellow onions. They get sweet and savory as they caramelize, and they’re the cheapest.
How long does it take to caramelize onions for French onion soup?
About 35 to 50 minutes, sometimes longer with a big batch. Cook until they’re deep golden-brown and jam-like.
Can I use store-bought beef broth?
Yes. Choose a rich-tasting one and adjust the salt.
Can I make French onion soup without wine?
Yes. Deglaze the pot with a splash of beef broth instead.
Why are my onions not browning?
They still have too much moisture. Keep cooking uncovered and stir occasionally.
Browning starts once the water evaporates.
Why do my caramelized onions taste bitter?
The heat was too high and the onions or the browned bits burned.
Keep the heat moderate and add a splash of water when the bottom gets too dark.
What cheese is best for French onion soup?
Gruyère is classic. Emmental and Swiss cheese melt beautifully too.
Do I need oven-safe bowls?
Only if you broil the cheese on the soup. Otherwise, broil the cheesy toast separately.





