Sides · French

Classic French Onion Soup

Deeply caramelized onions, a splash of dry white wine, and rich beef stock come together in this cozy French classic. Top each bowl with toasted bread and bubbling Gruyere for the ultimate finish. It takes patience with the onions, but the payoff is huge.

Jump to recipe
Classic French Onion Soup

Why you'll love this

  • Rich, deeply savory flavor from slow-caramelized onions.
  • That irresistible layer of melted, bubbling Gruyere on top.
  • Uses simple pantry staples and inexpensive onions.
  • Impressive enough for company but easy to pull off at home.

EveryDayMeal recipe

Classic French Onion Soup

Prep
15m
Cook
55m
Total
70m
Serves
4
Level
Medium

Ingredients

  • 3 1/2 tablespoons butter
  • 1 tablespoon olive oil
  • 2 1/4 pounds (about 6 large) yellow onions, thinly sliced
  • 1 teaspoon granulated sugar
  • 4 garlic cloves, sliced
  • 2 tablespoons all-purpose flour
  • 1 cup dry white wine
  • 4 cups beef stock, hot
  • 4 bread slices
  • 5 ounces Gruyere, grated

Equipment

  • Large heavy-bottomed pot
  • Sharp knife
  • Cutting board
  • Box grater
  • Heatproof bowls
  • Baking sheet

Instructions

  1. Melt the butter with the olive oil in a large heavy-bottomed pot over medium heat. Add the sliced onions, cover, and cook for about 10 minutes until they turn soft and translucent, which gives them a head start before browning.
  2. Sprinkle in the sugar and cook uncovered for about 20 minutes more, stirring often, until the onions are deeply golden and jammy. They should feel soft when pinched. Watch closely near the end so they caramelize without burning.
  3. Add the sliced garlic for the last couple of minutes of cooking, then stir in the flour and cook for a minute to get rid of any raw taste.
  4. Raise the heat and slowly pour in the wine while stirring, letting it bubble and reduce slightly. Add the hot beef stock, cover, and simmer for 15 to 20 minutes so the flavors meld.
  5. Turn on the broiler and toast the bread slices until crisp and golden. Ladle the hot soup into heatproof bowls.
  6. Set a slice or two of toast on top of each bowl, pile on the grated Gruyere, and broil until the cheese is melted and bubbling. Serve right away while hot.

Tips from the kitchen

  • Slice the onions evenly so they caramelize at the same rate. Uneven slices mean some burn while others stay pale.
  • Low and slow is the secret. Don't rush the caramelizing step, since that's where all the deep flavor comes from.
  • Use heatproof bowls if you plan to broil the cheese directly on top, otherwise toast the cheese-topped bread separately and float it on the soup.

Estimated nutrition per serving: 420 cal · 16g protein · 36g carbs · 22g fat

Make it your own

  • Swap the white wine for extra beef stock plus a splash of sherry vinegar for an alcohol-free version.
  • Use Swiss or provolone if you can't find Gruyere.
  • Stir in a splash of brandy or dry sherry with the wine for extra depth.

Storing & make-ahead

Store the soup (without the bread and cheese) in an airtight container in the fridge for up to 4 days. Reheat gently on the stove, then add fresh toast and cheese and broil just before serving. The soup base also freezes well for up to 3 months.

Good to know

What onions work best?
Yellow onions are the classic choice for their balance of sweetness and savory flavor once caramelized. Sweet onions also work well.
Can I make it ahead?
Yes. Make the soup base up to 4 days ahead and refrigerate. Add the toast and cheese and broil right before serving so it stays crisp and bubbly.
My onions aren't browning. What's wrong?
You likely need more time and a touch higher heat. Keep stirring and be patient. Rushing with too high heat burns them instead of caramelizing.
Can I use chicken stock instead of beef?
You can, but the soup will taste lighter. Beef stock gives that signature deep, rich flavor.

Related recipes