⬇ Jump to Recipe

There's something absolutely magical about French onion soup that makes it the ultimate comfort food for chilly evenings. The deeply caramelized onions swimming in rich beef broth, topped with crusty bread and melted Gruyère cheese — it's restaurant-quality cooking that's actually doable at home. This is the one I make every single time I want to impress guests without losing my mind in the kitchen. The secret is patience with those onions and building layers of flavor that taste like you've been cooking all day. Trust me, once you master this French onion soup, you'll wonder why you ever ordered it out.

French Onion Soup

Why You'll Love This Recipe

  • It tastes exactly like what you'd order at a French bistro but costs a fraction of the price
  • The deeply caramelized onions create natural sweetness without adding any sugar
  • That broiled cheese crust on top is absolutely worth turning on your oven for
  • Most of it's hands-off cooking time so you can prep other dishes or just relax
  • It actually tastes better the next day so it's perfect for making ahead
  • You only need six main ingredients plus pantry staples to make restaurant-quality soup

Prep Time

15 mins

Cook Time

75 mins

Total Time

90 mins

Servings

6

Ingredients

Here's everything you'll need to create this soul-warming French onion soup from scratch.

For the Soup:

For the Topping:

You can substitute vegetable broth for a vegetarian version, though you'll lose some of that deep umami flavor. If you can't find Gruyère, Swiss cheese works in a pinch, but splurge on the Gruyère if you can — it makes a huge difference. Look for it in the specialty cheese section of your grocery store.

How to Make French Onion Soup

Follow these steps for perfectly caramelized onions and restaurant-quality soup every single time.

  1. Slice the onions. Cut your onions in half from root to tip, then slice them thinly into half-moons about 1/4-inch thick. Uniform slices mean even caramelization, so take your time here. It's okay if you cry a little — that's just the onions proving they're fresh.
  2. Start the caramelization. In a large Dutch oven or heavy-bottomed pot over medium heat, melt the butter with the olive oil. Add all the sliced onions and stir to coat them in the fat. They'll seem like a massive pile at first but they'll cook down significantly. Sprinkle with the sugar and a generous pinch of salt.
  3. Caramelize the onions. Cook the onions, stirring every 5-7 minutes, for about 45-55 minutes total until they're deeply golden brown and jammy. You want them to be the color of dark caramel — not blonde, not burned. If they start sticking, add a splash of water and scrape up those browned bits. This step is where all the magic happens, so don't rush it.
  4. Add the garlic. Once your onions are beautifully caramelized, stir in the minced garlic and cook for about 1 minute until fragrant. The garlic should sizzle but not brown.
  5. Deglaze with wine. Pour in the white wine and use your wooden spoon to scrape up all those gorgeous browned bits from the bottom of the pot. Let the wine simmer for 3-4 minutes until it's reduced by about half and you can't smell the alcohol anymore.
  6. Add the broth and seasonings. Pour in the beef broth, then add the bay leaves, thyme, and Worcestershire sauce. Bring everything to a boil, then reduce heat to low and let it simmer uncovered for 25-30 minutes. The flavors need time to meld together beautifully. Taste and season with salt and pepper — you'll probably need about 1 teaspoon of salt and 1/2 teaspoon of pepper, but adjust to your preference.
  7. Prepare the bread. While the soup simmers, preheat your oven to 400°F (200°C). Arrange baguette slices on a baking sheet, brush both sides with melted butter, and toast for 8-10 minutes until golden and crispy, flipping halfway through. These toasted rounds are what hold up that glorious cheese layer.
  8. Assemble the soup bowls. Remove the bay leaves from the soup. Position your oven rack about 6 inches from the broiler and turn the broiler to high. Ladle the hot soup into oven-safe bowls or crocks, filling them about 3/4 full. Place 2 toasted baguette slices on top of each bowl, slightly overlapping if needed.
  9. Add the cheese. Generously top each bowl with the shredded Gruyère and a sprinkle of Parmesan. Really pile it on — you want a thick, bubbly crust. The cheese should completely cover the bread and extend slightly to the edges of the bowl.
  10. Broil until golden. Carefully place the soup bowls on a sturdy baking sheet (this makes them easier to move and catches any drips). Broil for 3-5 minutes, watching constantly, until the cheese is melted, bubbling, and golden brown with some darker spots. Let the bowls cool for 2-3 minutes before serving — they'll be volcanic hot.

💡 Baker's Tips

Don't rush the onions: That 45-55 minute caramelization time is absolutely essential for developing the deep, sweet flavor that makes this soup incredible. If your onions are still pale after 30 minutes, keep going. Low and slow wins the race here.

Use oven-safe bowls: Make absolutely sure your soup bowls can handle broiler heat before you start assembling. Traditional French onion soup crocks are ideal, but any oven-safe ceramic bowls work. When in doubt, check the bottom for an oven-safe symbol.

Grate your own cheese: Pre-shredded cheese has anti-caking agents that prevent it from melting smoothly. Buy a block of Gruyère and shred it yourself for that perfect stretchy, gooey cheese pull we're all here for.

Recipe Variations

Vegetarian French Onion Soup

Swap the beef broth for a rich vegetable broth and add 2 tablespoons of soy sauce or tamari for that savory umami depth you'd normally get from beef. You can also add a splash of balsamic vinegar at the end for extra complexity. The caramelized onions are so flavorful that you honestly won't miss the meat.

French Onion Soup with Beer

Replace the white wine with 1 cup of dark beer (like a stout or porter) for a deeper, maltier flavor profile. This version is especially amazing in the fall and winter. The beer adds a slight bitterness that balances beautifully with the sweet caramelized onions and rich cheese topping.

Slow Cooker French Onion Soup

Caramelize the onions in your pot first (this step can't be skipped), then transfer everything to your slow cooker with the broth and seasonings. Cook on low for 6-8 hours or high for 3-4 hours. When you're ready to serve, ladle into bowls, top with bread and cheese, and broil as directed. Perfect for busy days when you want comfort food waiting for you.

What to Serve With French Onion Soup

This soup is hearty enough to be a meal on its own, but here are some perfect pairings:

Storage & Make-Ahead Tips

This soup is actually one of those magical dishes that tastes even better the next day.

Common Mistakes to Avoid

✗ Rushing the Onion Caramelization

Trying to speed up caramelization by cranking the heat will give you burnt onions instead of sweet, golden ones. Keep the heat at medium or even medium-low, stir regularly, and give yourself the full 45-55 minutes. If you're short on time, make the soup another day — this step can't be rushed.

✗ Using Non-Oven-Safe Bowls

Regular serving bowls can crack or shatter under the broiler's intense heat. Always use bowls specifically labeled as oven-safe or broiler-safe. If you're not sure about your bowls, you can toast the cheese-topped bread separately on a baking sheet and then place it on top of the soup in regular bowls.

✗ Skipping the Wine Reduction Step

Adding wine and immediately adding broth leaves a raw alcohol taste in your soup. Let that wine bubble and reduce for the full 3-4 minutes until the alcohol smell disappears. This step deepens the flavor and adds acidity that balances the sweet onions perfectly.

✗ Overfilling the Bowls

If you fill your bowls too full, the soup will bubble over in the oven and make a mess (and potentially cause a fire). Fill bowls only 3/4 full to leave room for the bread and cheese topping. You can always serve seconds — it's better than dealing with a smoking oven.

Frequently Asked Questions

Can I use a different type of onion?

Yellow onions are ideal because they have the perfect balance of sweetness and sharpness when caramelized. Sweet onions like Vidalia will work but might make the soup too sweet. Red onions can work in a pinch but they'll give the soup a slightly different flavor and a purplish tint. Avoid white onions — they're too sharp and don't caramelize as beautifully.

What if I don't have oven-safe bowls?

No problem. Toast the bread slices, top them with cheese, and broil them on a baking sheet until the cheese is melted and bubbly. Then carefully place the cheesy toasts on top of soup bowls filled with hot soup. You'll still get that amazing cheese-bread-soup combo, just assembled differently.

Can I make this soup without wine?

Absolutely. Replace the wine with an equal amount of beef broth plus 1 tablespoon of red wine vinegar or balsamic vinegar. The vinegar provides the acidity you'd normally get from wine, which balances the sweetness of the caramelized onions. Add it when you'd normally add the wine and let it reduce

French Onion Soup

A rich, deeply caramelized onion soup topped with melted Gruyère cheese and crusty bread.

Prep: 15 min Cook: 1 hr 30 min Total: 1 hr 45 min Serves: 6

🧂 Ingredients

  • 4 lbs yellow onions, thinly sliced
  • 4 tbsp unsalted butter
  • 2 tbsp olive oil
  • 1 tsp sugar
  • 1 tsp salt
  • 1/2 cup dry white wine
  • 8 cups beef stock
  • 2 bay leaves
  • 4 sprigs fresh thyme
  • 12 slices baguette, toasted
  • 2 cups Gruyère cheese, grated
  • Black pepper to taste

📋 Instructions

  1. Melt butter with olive oil in a large heavy-bottomed pot over medium heat.
  2. Add onions, sugar, and salt, stirring to coat.
  3. Cook onions for 50-60 minutes, stirring frequently, until deeply caramelized and golden brown.
  4. Add white wine and scrape up browned bits from the bottom of the pot.
  5. Add beef stock, bay leaves, and thyme, then bring to a simmer.
  6. Simmer uncovered for 30 minutes, then season with black pepper.
  7. Preheat broiler and arrange oven-safe bowls on a baking sheet.
  8. Ladle soup into bowls, top each with 2 baguette slices and generous Gruyère.
  9. Broil for 2-3 minutes until cheese is bubbly and golden.
  10. Let cool 2 minutes before serving.
Calories: 385 Cuisine: French Category: Soup Difficulty: Medium