Go Back
+ servings
French onion soup recipe featured image.
Print Recipe
5 from 8 votes

French Onion Soup

French onion soup is a comforting combo of caramelized onions in a beef and vermouth broth served in crocks and topped with sliced baguette and melted Gruyere cheese.
Prep Time20 minutes
Cook Time1 hour 50 minutes
Total Time2 hours 10 minutes
Course: Soup
Cuisine: French
Servings: 6


For the caramelized onions

  • 4 pounds yellow onions sliced thinly from root to stem
  • 2 tablespoons olive oil
  • 3 ounces water
  • 1 teaspoon salt
  • 4 tablespoons butter

Making the soup

  • 1 tablespoon flour
  • 1 tablespoon tomato paste
  • 1/2 cup dry vermouth or 1 cup dry white wine
  • 1 tablespoon brandy or sherry optional
  • 1 tablespoon fresh thyme leaves
  • 8 cups low-sodium beef stock see notes below
  • 4 cloves garlic minced
  • 12 slices baguette 1/2" thick, or enough to mostly cover the soup bowl
  • 1 1/2 cups Gruyere sliced or shredded
  • salt and pepper to taste


For the caramelized onions

  • Heat a large Dutch oven or heavy pot with the olive oil over medium heat. Add the onions, water, and salt and mix to coat. Cover with the lid and cook for 15 minutes.
  • Remove the lid and add the butter and continue to cook, stirring occasionally. Keep an eye on the onions and adjust the heat to avoid burning. Add a splash of water every so often to avoid burning if necessary. Full caramelization where the onions become deep brown and sweet will take about 60-90 minutes longer.

For the French onion soup

  • Once the onions are deeply caramelized add the garlic and cook for 1-2 minutes or until fragrant. Add the tomato paste and cook stirring frequently for 5 minutes. If the paste begins to burn, just add a splash of water.
  • Add the flour to the pot and cook for 2 minutes or until all of the flour is no longer white.
  • Add the vermouth or wine and bring to a boil while scraping the bottom of the pan with a wooden spoon to dislodge all of the brown bits.
  • Once boiling add the beef stock and thyme and bring to a simmer. Cook at a simmer for at least 20 minutes.
  • Taste test and adjust salt and pepper to taste. Add the brandy or sherry (optional) and stir to combine. At this point, the soup is done and can be placed into crocks or stored overnight for even more flavor.
  • Turn the broiler to high and set the rack so that a sheet pan with soup bowls can fit.
  • Ladle the soup into oven-safe soup crocks, leaving enough room for the bread and cheese. Place the crocks onto a baking sheet and place 2 pieces of bread or enough to roughly fit 1 layer on top of each bowl. Sprinkle the Gruyere, dividing evenly into each bowl.
  • Broil for 2-3 minutes or until the cheese is bubbly and browned. Garnish with thyme leaves and serve. Enjoy!



  • This soup, like all soups and stews, tastes much better the next day.  It is recommended to make it 1 day in advance and let it sit in the fridge overnight before broiling the soup crocks with the bread and cheese.
  • Homemade beef (or chicken) stock is recommended.  Box stocks can be used but they are often pretty lousy, instead, use low-sodium beef base.
  • This recipe makes approximately 6 crocks of soup.
  • Leftovers can be saved for up to 5 days in the fridge and can be reheated on the stovetop.  


Calories: 486kcal | Carbohydrates: 42.5g | Protein: 18.5g | Fat: 24.9g | Saturated Fat: 12.5g | Cholesterol: 61mg | Sodium: 735mg | Potassium: 632mg | Fiber: 8.3g | Sugar: 16.9g | Calcium: 477mg | Iron: 2mg