Classic French Onion Soup

Featured in: Everyday Main Dishes

This Classic French Onion Soup features slowly caramelized yellow onions cooked to golden perfection in butter and olive oil, then simmered in rich beef or vegetable stock with white wine, thyme, and bay leaf. The soup is ladled into oven-safe bowls, topped with toasted baguette slices and generous amounts of Gruyère cheese, then broiled until the cheese becomes golden and bubbly. The result is a comforting, deeply flavorful dish that takes about 90 minutes from start to finish and serves four people.

Updated on Wed, 28 Jan 2026 11:24:00 GMT
Steaming Classic French Onion Soup in a crock, topped with a thick layer of melted, golden-bubbly Gruyère cheese. Save to Pinterest
Steaming Classic French Onion Soup in a crock, topped with a thick layer of melted, golden-bubbly Gruyère cheese. | nexusfork.com

The smell hit me before I even opened the door, a sweet, almost sticky scent of onions that had been cooking low and slow for what felt like forever. My neighbor was making French onion soup, and the entire hallway of our apartment building smelled like a bistro in Paris. I knocked, she fed me a bowl, and I spent the next week trying to recreate that exact flavor. It took three attempts and a lot of burned onions before I learned that patience, not heat, is the secret.

I made this for my parents on a cold Sunday afternoon, and my dad, who never comments on food, looked up from his bowl and said it tasted like the soup he had in Lyon thirty years ago. My mom raised an eyebrow because he had never mentioned a trip to Lyon, but we all just kept eating. It is funny how a bowl of soup can pull out memories you did not know were still sitting there, waiting.

Ingredients

  • 3 large yellow onions, thinly sliced: Yellow onions have the right balance of sharp and sweet, and slicing them thin helps them melt into the broth instead of staying chunky.
  • 1 tablespoon unsalted butter: Butter adds a richness that oil alone cannot match, and using unsalted lets you control the seasoning as you go.
  • 1 tablespoon olive oil: Mixing oil with butter keeps the butter from burning during that long, slow caramelization.
  • 2 cloves garlic, minced: Garlic goes in near the end so it stays fragrant and does not turn bitter from too much heat.
  • 1 teaspoon sugar: A little sugar speeds up the caramelization and coaxes out the onions natural sweetness without making the soup taste sugary.
  • 1/2 teaspoon salt: Salt pulls moisture from the onions, helping them soften and brown more evenly.
  • 1/4 teaspoon freshly ground black pepper: Freshly ground pepper has a bite that pre-ground stuff just does not, and it wakes up the whole bowl.
  • 2 tablespoons all-purpose flour: Flour thickens the broth just enough to give it body without making it heavy or gloopy.
  • 1/2 cup dry white wine: White wine deglazes all those sticky, caramelized bits stuck to the bottom of the pot, which is where most of the flavor hides.
  • 1.2 liters (5 cups) beef or vegetable stock: Beef stock gives you that deep, savory backbone, but vegetable stock works beautifully if you want to keep it vegetarian.
  • 2 sprigs fresh thyme: Thyme adds an earthy, slightly floral note that feels very French without overpowering anything.
  • 1 bay leaf: Bay leaf is subtle, but it rounds out the flavor in a way you will notice if you forget it.
  • 4 slices French baguette, about 1 inch thick: Day-old baguette is actually better because it holds up under the soup and cheese without turning to mush.
  • 1 tablespoon olive oil (for bread): Brushing the bread with oil before toasting gives it a crispy, golden surface that does not get soggy too fast.
  • 120 g (about 1 cup) Gruyere cheese, grated: Gruyere melts into those long, stretchy strands and has a nutty flavor that makes every spoonful feel indulgent.

Instructions

Product image
Keep kitchen knives sharp for safer slicing, chopping, and precise prep during everyday cooking.
Check price on Amazon
Start the caramelization:
Heat the butter and olive oil in a large pot over medium heat until the butter melts and starts to foam. Add the sliced onions and stir them around until every piece is coated and glistening, then let them cook, stirring every few minutes, until they shrink down and turn a deep amber color, which takes about 35 to 40 minutes. Add the sugar and salt halfway through to help them along, and do not rush this part because it is where all the magic happens.
Add the garlic:
Toss in the minced garlic and stir it around for about a minute until your kitchen smells like a French bakery. Do not let it brown or it will taste sharp and burnt.
Thicken with flour:
Sprinkle the flour over the onions and stir constantly for about 2 minutes. The flour will disappear into the onions and start to smell faintly toasty, which means it is doing its job.
Deglaze with wine:
Pour in the white wine and use a wooden spoon to scrape up all those dark, sticky bits stuck to the bottom of the pot. Those bits are pure flavor, so do not leave them behind.
Simmer the soup:
Add the stock, thyme, and bay leaf, then bring everything to a gentle simmer. Lower the heat and let it cook uncovered for 20 to 25 minutes so the flavors can blend and deepen. Fish out the thyme sprigs and bay leaf before serving, and taste for salt and pepper.
Toast the bread:
Turn on your oven broiler and arrange the baguette slices on a baking sheet. Brush both sides with olive oil and slide them under the broiler for 1 to 2 minutes per side until they are golden and crispy, watching closely so they do not burn.
Assemble and broil:
Ladle the hot soup into oven-safe bowls, place a toasted baguette slice on top of each one, then pile on the grated Gruyere. Set the bowls on a baking sheet and broil for 2 to 3 minutes until the cheese is melted, bubbly, and starting to brown in spots.
Serve immediately:
Bring the bowls to the table while the cheese is still bubbling. Let everyone know the bowls are hot, and watch their faces when they break through that cheesy top layer.
Product image
Keep kitchen knives sharp for safer slicing, chopping, and precise prep during everyday cooking.
Check price on Amazon
Golden, toasted baguette slices sit atop a rich Classic French Onion Soup, garnished with fresh thyme sprigs. Save to Pinterest
Golden, toasted baguette slices sit atop a rich Classic French Onion Soup, garnished with fresh thyme sprigs. | nexusfork.com

I brought this soup to a potluck once, still hot in a big pot with the cheese and bread packed separately so people could build their own bowls. By the end of the night, three people had asked for the recipe, and one guy admitted he had gone back for thirds. It is one of those dishes that makes you feel like you know what you are doing in the kitchen, even if you are still figuring it out.

Choosing Your Stock

Beef stock gives the soup a rich, almost meaty backbone that feels classic and hearty, but vegetable stock keeps it lighter and works perfectly if you want to keep things vegetarian. I have also used a mix of beef and chicken stock when that is what I had on hand, and it turned out beautifully. Homemade stock is great if you have it, but a good quality store-bought version works just fine. Just taste as you go and adjust the salt because some stocks are saltier than others.

Cheese Alternatives

Gruyere is the gold standard for French onion soup, but Emmental and Comte are close cousins that melt just as well and bring their own nutty, slightly sweet flavors. I have even used a sharp white cheddar in a pinch, and while it was not traditional, it still tasted great. If you are avoiding dairy, there are some good melting vegan cheeses out there now, though I recommend testing a small amount under the broiler first to see how it behaves. Whatever cheese you use, grate it yourself because pre-shredded cheese has coatings that can make it clumpy and weird when melted.

Storing and Reheating

Leftover soup keeps in the fridge for up to four days and honestly tastes even better after a night of sitting because the flavors have time to settle in together. I store the soup separately from the bread and cheese, then reheat it on the stove and build fresh cheesy tops when I am ready to eat again. You can also freeze the soup (without the bread and cheese) for up to three months, just let it cool completely before transferring it to a freezer-safe container.

  • Let the soup cool to room temperature before refrigerating to avoid warming up your whole fridge.
  • If reheating from frozen, thaw it overnight in the fridge first for the most even heating.
  • Refresh leftover soup with a splash of stock or wine if it has thickened too much in the fridge.
Product image
Prep meals effortlessly by chopping vegetables, slicing meats, and serving dinner with the right knife always ready.
Check price on Amazon
A rustic bowl of Classic French Onion Soup with a gooey, browned cheese crust and savory broth. Save to Pinterest
A rustic bowl of Classic French Onion Soup with a gooey, browned cheese crust and savory broth. | nexusfork.com

This soup has a way of turning a regular Tuesday into something that feels a little special, and that is worth the hour it takes to make. Serve it hot, let the cheese do its thing, and enjoy every bite.

Questions & Answers

How long does it take to caramelize the onions properly?

Caramelizing the onions takes approximately 35-40 minutes over medium heat with frequent stirring. Adding sugar and salt halfway through helps accelerate the caramelization process and develops deeper flavor.

Can I make this soup without wine?

Yes, you can substitute the white wine with additional stock or a splash of apple cider vinegar for acidity. The wine adds depth, but the soup will still be delicious without it.

What type of onions work best?

Yellow onions are ideal for this dish as they have the perfect balance of sweetness and flavor when caramelized. Sweet onions can also be used, though they may result in a slightly sweeter soup.

Can I prepare this soup ahead of time?

Absolutely. The soup base can be made up to 3 days in advance and refrigerated. When ready to serve, reheat the soup, then add the bread and cheese topping before broiling.

What cheese can I use instead of Gruyère?

Emmental, Comté, or Swiss cheese make excellent substitutes for Gruyère. Choose a cheese that melts well and has good flavor. Avoid pre-shredded cheese as it contains anti-caking agents that prevent smooth melting.

Do I need oven-safe bowls?

Yes, oven-safe bowls are essential for broiling the cheese topping. Traditional French onion soup crocks work best, but any ceramic or heat-resistant bowls rated for broiler use will work perfectly.

Classic French Onion Soup

Deeply caramelized onions in savory broth, topped with toasted bread and melted Gruyère cheese.

Prep duration
15 minutes
Cook duration
75 minutes
Overall time
90 minutes
Recipe by Nexus Fork Wyatt Evans


Skill level Medium

Cuisine type French

Portions 4 Number of servings

Diet preferences Vegetarian-friendly

Ingredient list

Onions

01 3 large yellow onions, thinly sliced
02 1 tablespoon unsalted butter
03 1 tablespoon olive oil

Soup Base

01 2 cloves garlic, minced
02 1 teaspoon sugar
03 1/2 teaspoon salt
04 1/4 teaspoon freshly ground black pepper
05 2 tablespoons all-purpose flour
06 1/2 cup dry white wine
07 5 cups beef or vegetable stock
08 2 sprigs fresh thyme
09 1 bay leaf

Topping

01 4 slices French baguette, about 1 inch thick
02 1 tablespoon olive oil for bread
03 1 cup Gruyère cheese, grated

Step-by-step guide

Step 01

Caramelize the onions: Heat butter and olive oil in a large pot or Dutch oven over medium heat. Add sliced onions and stir to coat. Cook, stirring frequently, until onions are soft and deeply caramelized, about 35 to 40 minutes. Add sugar and salt halfway through cooking to promote caramelization.

Step 02

Infuse with garlic: Add minced garlic to the caramelized onions and cook for 1 minute until fragrant.

Step 03

Create the roux: Sprinkle flour over the mixture and cook, stirring constantly, for 2 minutes to develop a light roux.

Step 04

Deglaze with wine: Pour dry white wine into the pot while scraping the bottom with a wooden spoon to release all browned bits and caramelized flavor.

Step 05

Build the broth: Pour in the stock and add thyme sprigs and bay leaf. Bring to a simmer, then reduce heat and cook uncovered for 20 to 25 minutes. Remove thyme and bay leaf. Season with black pepper and additional salt to taste.

Step 06

Toast the bread: Preheat oven broiler. Arrange baguette slices on a baking sheet, brush both sides with olive oil, and toast under the broiler until golden, about 1 to 2 minutes per side.

Step 07

Assemble the bowls: Ladle hot soup into oven-safe bowls. Top each with a toasted baguette slice and cover generously with grated Gruyère cheese.

Step 08

Finish under the broiler: Place filled bowls on a baking sheet and broil for 2 to 3 minutes until cheese is melted, bubbly, and golden brown. Serve immediately.

Equipment you'll need

  • Large pot or Dutch oven
  • Wooden spoon
  • Baking sheet
  • Oven-safe soup bowls
  • Cheese grater

Allergy notes

Look at every ingredient for allergens and get help from a medical expert if unsure.
  • Contains dairy: butter and Gruyère cheese
  • Contains gluten: baguette and all-purpose flour
  • Use gluten-free bread and flour for gluten-free adaptation
  • Use vegan butter and cheese alternatives for dairy-free adaptation
  • Always verify packaged ingredient labels for potential cross-contamination with other allergens

Nutrition details (per serving)

For informational purposes only. Always check with your healthcare provider.
  • Calorie count: 390
  • Total fat: 16 g
  • Carbohydrates: 43 g
  • Proteins: 16 g