This cozy French onion soup layers deeply caramelized onions, beefy broth, and bubbling Gruyère-topped toasts for a restaurant-worthy comfort meal at home. Ready to warm you from the inside out, it’s the ultimate winter recipe that brings the flavor without fuss.

I first made this for my husband on a snowy December evening when we had nothing in the fridge but onions, broth, and leftover baguette. That night turned into a tradition , every first snow, we pull out the big red pot and make a batch together.
Prep Time: 20 minutes . Cook Time: 1 hour 15 minutes . Total Time: 1 hour 35 minutes
Print
French Onion Soup
- Total Time: 95 minutes
- Yield: 6 servings 1x
- Diet: Vegetarian
Description
A cozy French onion soup with caramelized onions, beefy broth, and bubbling Gruyère-topped toasts, perfect for winter comfort.
Ingredients
- 6 large red or yellow onions (about 3 pounds), thinly sliced
- 4 tbsp extra virgin olive oil
- 2 tbsp butter
- 1 tsp sugar
- Kosher salt
- 2 cloves garlic, minced
- 8 cups beef stock, chicken stock, or both
- 1/2 cup dry vermouth or dry white wine
- 2 bay leaves
- 1 tbsp fresh thyme leaves or 1/2 tsp dried thyme
- 1/2 tsp freshly ground black pepper
- 2 tbsp brandy (optional)
- 8 slices (1-inch thick) French bread or baguette
- 1 1/2 cups grated Gruyère cheese
- Grated Parmesan cheese (for sprinkling)
Instructions
- Slice the onions: Cut onions root to stem into thin slices. You should have about 10 cups.
- Start caramelizing: In a large pot, heat 3 tbsp olive oil over medium. Add onions and stir to coat. Cook for 15–20 minutes, stirring often.
- Deepen the color: Add the last tbsp olive oil and butter. Raise heat to medium-high. Stir frequently for 20–40 minutes until onions turn golden brown.
- Sweeten + garlic: Sprinkle sugar, 1 tsp salt, and cook for 10–15 more minutes until deeply browned. Stir in minced garlic and cook for 1 minute.
- Deglaze: Pour in wine/vermouth, scraping up the browned bits.
- Simmer: Add stock, bay leaves, thyme. Bring to a simmer, cover, and reduce heat. Simmer gently for 30 minutes.
- Final touches: Season with pepper, adding more salt if needed. Stir in brandy (optional) and discard bay leaves.
- Make cheesy toasts: While soup simmers, toast oiled bread slices at 450°F until golden (5–7 minutes). Flip, top with cheeses, and return to oven until bubbly.
- Serve: Ladle soup into bowls and top with a cheese toast. Or broil all together in oven-safe bowls for that bubbling finish.
Notes
Use a mix of yellow and red onions for more depth. Gruyère is traditional, but Fontina or Swiss cheese can also work. Deglazing with wine adds rich flavor, but broth alone still delivers. Store soup in the fridge for 4 days or freeze without bread/cheese for up to 3 months.
- Prep Time: 20 minutes
- Cook Time: 75 minutes
- Category: Soups
- Method: Simmering
- Cuisine: French
Nutrition
- Serving Size: 1 serving
- Calories: 375
- Sugar: 6g
- Sodium: 800mg
- Fat: 16g
- Saturated Fat: 10g
- Unsaturated Fat: 6g
- Trans Fat: 0g
- Carbohydrates: 39g
- Fiber: 3g
- Protein: 17g
- Cholesterol: 45mg
Here’s What You’ll Need
- 6 large red or yellow onions (about 3 pounds), thinly sliced
- 4 tbsp extra virgin olive oil
- 2 tbsp butter
- 1 tsp sugar
- Kosher salt
- 2 cloves garlic, minced
- 8 cups beef stock, chicken stock, or both
- 1/2 cup dry vermouth or dry white wine
- 2 bay leaves
- 1 tbsp fresh thyme leaves or 1/2 tsp dried thyme
- 1/2 tsp freshly ground black pepper
- 2 tbsp brandy (optional)
- 8 slices (1-inch thick) French bread or baguette
- 1 1/2 cups grated Gruyère cheese
- Grated Parmesan cheese (for sprinkling)
Step-by-Step Cooking Guide
- Slice the onions: Cut onions root to stem into thin slices. You should have about 10 cups.
- Start caramelizing: In a large pot, heat 3 tbsp olive oil over medium. Add onions and stir to coat. Cook 15–20 min, stirring often.
- Deepen the color: Add the last tbsp olive oil and butter. Raise heat to med-high. Stir frequently for 20–40 min until onions turn golden brown.
- Sweeten + garlic: Sprinkle sugar, 1 tsp salt, and cook 10–15 more minutes until deeply browned. Stir in minced garlic and cook 1 minute.
- Deglaze: Pour in wine/vermouth, scraping up the browned bits.
- Simmer: Add stock, bay leaves, thyme. Bring to a simmer, cover, and reduce heat. Simmer gently 30 minutes.
- Final touches: Season with pepper, more salt if needed. Stir in brandy (optional). Discard bay leaves.
- Make cheesy toasts: While soup simmers, toast oiled bread slices at 450°F until golden (5–7 min). Flip, top with cheeses, and return to oven until bubbly.
- Serve: Ladle soup into bowls and top with a cheese toast. Or broil all together in oven-safe bowls for that bubbling finish.

Betty’s Best Tips
- Use a mix of yellow + red onions for more depth.
- Gruyère is traditional, but Fontina or Swiss work in a pinch.
- Deglazing with wine adds rich flavor, but broth alone still delivers.
Nutrition Breakdown (Per Serving)
- 375 calories
- 16g fat
- 39g carbs
- 17g protein
Make It Yours
- Try sourdough or rye bread for a twist.
- Add a splash of Worcestershire for umami depth.
- Serve with a green salad and glass of dry red.
Leftovers & Storage
- Soup keeps in the fridge 4 days; reheat gently.
- Freeze without bread/cheese for up to 3 months.
- Toast bread and melt cheese fresh for serving.
What I Learned the Hard Way
The first time I made this, I rushed the onions. Big mistake. They need time. Once I slowed down, the flavor deepened tenfold. Don’t skip the full caramelization , it’s the soul of the soup.
Curious Cook Q&A
Q: Can I make this vegetarian?
A: Yes! Use veggie stock and skip the brandy.
Q: What cheese substitutes work best?
A: Swiss or provolone are great melty options.
Let’s Make Soup Memories Tag me @FlavorsByBetty if you make this! I LOVE seeing your cozy bowls