Go Back
+ servings

French Onion Soup

A classic French Onion Soup recipe with caramelized onions, rich beef broth, crispy baguette slices, and melted Gruyère cheese, delivering deep flavors and comforting warmth.
Prep Time 15 minutes
Cook Time 1 hour
Total Time 1 hour 15 minutes
Course Appetizer, Main Course
Cuisine French
Servings 4 servings
Calories 400 kcal

Equipment

Ingredients
  

  • 4 large yellow onions about 1.5 lbs (700 g), thinly sliced
  • 3 tbsp (45 ml) olive oil
  • 2 tbsp (30 g) unsalted butter
  • 1 tbsp (12 g) sugar
  • 2 cloves garlic minced (10 g)
  • 1 tsp fresh thyme
  • 4 cups (950 ml) beef broth
  • 1 cup (240 ml) dry white wine
  • 1 bay leaf
  • Salt and black pepper to taste
  • Several slices of baguette
  • 1 cup (120 g) grated Gruyère cheese

Instructions
 

  • Heat olive oil in a large pot over medium heat. Add sliced onions and a pinch of salt. Cook for 10 minutes until softened. Add butter and sugar, then cook for an additional 15–20 minutes, stirring frequently, until onions are deeply caramelized.
  • Stir in minced garlic and cook for 1 minute. Pour in white wine, scrape the pot, and simmer for 5 minutes until the wine reduces.
  • Add beef broth, thyme, and bay leaf. Season with salt and pepper. Reduce heat and simmer for 20–30 minutes, stirring occasionally.
  • While the soup simmers, toast several slices of baguette until golden and crispy. Optionally, rub with garlic.
  • Ladle the soup into oven-safe bowls, place toasted baguette slices on top, and cover with grated Gruyère cheese. Broil for 3–5 minutes until the cheese is melted and golden.
  • Garnish with fresh thyme if desired and serve immediately.

Notes

Caramelize the onions slowly to develop their natural sweetness.
Use high-quality beef broth for the best flavor.
Keep an eye on the soup under the broiler to prevent burning.

Nutrition

Calories: 400kcal
Keyword Caramelized Onions, Classic French Soup, French Onion Soup, Gruyère Cheese, Homemade Soup, Italian comfort food
Tried this recipe?Let us know how it was!