Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

Best French Onion Soup Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star 5 from 84 reviews
  • Author: Villerius
  • Prep Time: 10 minutes
  • Cook Time: 1 hour 30 minutes
  • Total Time: 1 hour 40 minutes
  • Yield: 4 to 6 servings
  • Category: Soup
  • Method: Stovetop
  • Cuisine: French
  • Diet: Vegetarian

Description

A classic French Onion Soup made with caramelized yellow onions, flavored with balsamic vinegar, tamari, garlic, and fresh thyme. This rich and savory vegetarian soup is topped with toasted baguette slices smothered in melted Gruyère, aged cheddar, and Parmesan cheeses, then garnished with fresh thyme and optional red pepper flakes for a touch of heat.


Ingredients

Scale

Soup

  • 6 tablespoons extra-virgin olive oil
  • 3 pounds medium yellow onions, halved and thinly sliced
  • ¾ teaspoon sea salt
  • 1½ tablespoons balsamic vinegar
  • 1½ tablespoons tamari
  • 1½ tablespoons fresh thyme leaves
  • 3 garlic cloves, minced
  • 3 tablespoons all-purpose white flour
  • 1 cup dry white wine
  • 6 cups vegetable broth
  • Freshly ground black pepper, to taste

Topping

  • Baguette slices
  • Gruyère cheese, aged cheddar, and/or Parmesan cheese, as desired
  • Fresh thyme, for garnish
  • Pinch of red pepper flakes (optional)


Instructions

  1. Caramelize Onions: Heat the olive oil in a large pot or Dutch oven over medium heat. Add the sliced onions, sea salt, and several grinds of freshly ground black pepper. Toss to combine. Reduce heat to low and cook the onions for about 40 minutes, stirring every few minutes until very soft.
  2. Brown Onions: Increase the heat to medium and continue cooking the onions for an additional 15 to 20 minutes, stirring often until they turn golden brown and deeply caramelized.
  3. Add Flavorings: Stir in the balsamic vinegar, tamari, fresh thyme leaves, and minced garlic. Mix well to combine all the flavors.
  4. Incorporate Flour: Sprinkle the all-purpose flour evenly over the onions and stir continuously for 2 minutes to cook the flour and create a slight thickening effect in the soup.
  5. Deglaze with Wine: Pour in the dry white wine and cook for 2 minutes, stirring often, until the wine has mostly evaporated.
  6. Add Broth and Simmer: Add the vegetable broth to the pot. Bring the soup to a simmer over medium heat and cook uncovered for 30 minutes to allow flavors to meld.
  7. Prepare Topping: Preheat the oven to 450°F (232°C). Line a baking sheet with parchment paper. Place the baguette slices on the sheet and top each slice generously with your choice of Gruyère, aged cheddar, and/or Parmesan cheese.
  8. Bake Topping: Bake the cheese-topped baguette slices in the preheated oven for 8 to 10 minutes, or until the bread is toasted and cheese is melted and bubbly.
  9. Serve: Ladle the hot soup into individual ramekins or bowls. Place a toasted baguette slice on top of each bowl of soup. Garnish with fresh thyme and a pinch of red pepper flakes if desired. Serve immediately.

Notes

  • Use a large heavy-bottomed pot or Dutch oven to ensure even cooking and prevent burning while caramelizing onions.
  • Cooking onions slowly is key to developing a rich, sweet flavor; do not rush the caramelization process.
  • Balsamic vinegar and tamari add depth and umami but can be substituted with red wine vinegar and soy sauce if needed.
  • For a vegan option, use dairy-free cheese or omit cheese and use a vegan-friendly bread topping.
  • If you want a meat-based version, substitute vegetable broth with beef broth for a richer flavor.

Nutrition

  • Serving Size: 1 bowl with bread and cheese topping (approx. 1.5 cups soup + 1 slice baguette with cheese)
  • Calories: 350 kcal
  • Sugar: 8 g
  • Sodium: 650 mg
  • Fat: 15 g
  • Saturated Fat: 6 g
  • Unsaturated Fat: 8 g
  • Trans Fat: 0 g
  • Carbohydrates: 40 g
  • Fiber: 5 g
  • Protein: 12 g
  • Cholesterol: 20 mg