
Let’s make some Classic French Onion Soup! You’ll love this recipe because it’s simple to make, savory, and loaded with healthy ingredients.
My version of “Vegan French Onion Soup” is one of the most popular recipes on this site. The main difference between these two recipes is this classic recipe uses beef stock instead of veggie stock and, of course, adds the Gruyère cheese for that classic French onion soup experience.
Both versions are wonderful!
Don’t rush the onions. Caramelize 4 large yellow onions slowly in butter and olive oil for 30 to 40 minutes, deglaze the pot with a splash of white wine, then add beef broth, fresh thyme and a bay leaf and simmer for 20 to 30 minutes. Top each bowl with a toasted baguette slice covered in Gruyère that you’ve melted under the broiler.

French Onion Soup Health Benefits
This classic dish, with its rich broth, caramelized onions, and melted cheese, is elevated to new heights with the addition of fresh thyme, bringing an earthy and aromatic depth to the soup.
- Onions are loaded with fiber and plant nutrients, and one of the most heartwarming and flavorful ways to use fresh thyme is in making French Onion Soup.
- Garlic and thyme are both loaded with phytonutrients and antioxidants, in addition to adding to the classic French Onion Soup flavor.
- When it comes to the broth, high-quality beef broth can also be a healthy addition to your diet. Read labels and avoid preservative-laden broths. Beef bone broth is a great way to add protein to this soup as well. Classic French Onion Soup is made with beef broth, but chicken stock/broth or any broth you want to use up can work.
- If you want to avoid dairy, you can use all olive oil and skip the butter and cheese (see the vegan version of this soup here).
French Onion Soup Ingredients:
- 3 tablespoons of unsalted butter
- 2 tablespoons of extra virgin olive oil
- 4 large yellow onions, thinly sliced
- 2 garlic cloves, minced
- 1/4 cup + 2 tablespoons of dry white wine OR 2 tablespoons red wine vinegar to deglaze the pan
- 4 cups of beef broth or bone broth (or vegetable broth for a vegetarian/vegan version)
- 5 sprigs of fresh thyme, plus more for garnish
- 1 bay leaf
- Kosher salt or fine-grain sea salt and freshly ground black pepper, to taste
To top:
- 1-2 baguette slices per serving, toasted
- 1 ½ cups of grated Gruyère cheese (or a similar melty Swiss-style cheese)
Instructions:
- Caramelize the Onions: In a large pot or Dutch oven, melt the butter with the olive oil over medium heat. Add the sliced onions and a pinch of salt, and cook, stirring occasionally, until the onions are deeply caramelized and golden brown, about 30-40 minutes. If you want more time, lower the heat and let them cook for 60-90 minutes. You’re looking for a deep brown, but not burnt, color before removing to the next step.
- Deglaze the Pot: Add the minced garlic to the onions and cook for an additional 1-2 minutes until fragrant. Pour in the white wine or vinegar to deglaze the pot, scraping up any browned bits from the bottom with a wooden spoon.
- Simmer the Soup: Add the beef broth, fresh thyme sprigs, and bay leaf to the pot. Bring the mixture to a simmer, then reduce the heat to low and let it cook for about 20-30 minutes, allowing the flavors to come together. Season with salt and pepper to taste; start with 2 teaspoons salt if your broth is unsalted, less if it’s salted.
- Prepare the Cheese Topping: Preheat your broiler. Place the toasted slices of baguette on a baking sheet and sprinkle generously with grated Gruyère cheese. Broil until the cheese is bubbly and golden brown (about 90 seconds), watching closely to prevent burning.
- Serve: To serve, remove the thyme sprigs and bay leaf from the soup. Ladle the soup into bowls and top each with a cheese-topped baguette slice. Garnish with additional fresh thyme leaves for an extra touch of flavor and presentation.

This French Onion Soup recipe showcases the wonderful pairing of thyme with caramelized onions, creating a comforting and richly flavored dish.
It’s a perfect example of how simple onions and fresh thyme can transform a simple soup into an incredible dish.
French Onion Soup FAQs
Can I make French onion soup without wine?
No wine? No problem. Use 2 tablespoons of red wine vinegar to deglaze the pot instead. It gives you that same little bit of tang. You can also just use a splash of broth.
How long does it take to caramelize onions?
About 30 to 40 minutes over medium heat. If you have more time, turn the heat down and let them go for 60 to 90 minutes. You want a deep brown color, not burnt. This is where all the flavor comes from. (If you love caramelized onions as much as I do, try my Caramelized Onion Pasta.)
What cheese goes on French onion soup?
Gruyère is the classic. It melts beautifully and has a nutty flavor. Any similar melty Swiss-style cheese works too.
Can I make French onion soup ahead of time?
The soup part, yes. Keep it (without the bread and cheese) covered in the fridge for up to 4 days, or freeze it for up to 3 months. Reheat it on the stove and make the cheesy toasts fresh right before serving.
Can I make it vegetarian?
Swap the beef broth for vegetable broth, and you’re there. For a dairy-free version, use all olive oil and skip the butter and cheese. My Vegan French Onion Soup has all the details.
More Healthy Soup Recipes:
- Classic Broccoli Cheese Soup
- The Best Chicken Stock Recipe
- 20-Minute Spinach Soup Recipe
- Creamy Cauliflower Soup Recipe
- Red Lentil Soup with Lemon
- Easy Tomato Basil Soup
Want to save all of your recipes in one place? Be sure to download the recipe & meal planning app, Butler, to get started.
Classic French Onion Soup
- Prep Time: 10 minutes
- Cook Time: 1 hour 15 minutes
- Total Time: 1 hour 25 minutes
- Yield: 4 servings
- Category: Soup
- Method: Chop, Simmer
- Cuisine: French
Description
Indulge in the rich and comforting flavors of Classic French Onion Soup with this step-by-step recipe. It’s perfect for a cozy, comforting meal any day of the week.
Ingredients
- 3 tablespoons unsalted butter
- 2 tablespoons extra virgin olive oil
- 4 large yellow onions, thinly sliced
- 2 garlic cloves, minced
- 1/4 cup + 2 tablespoons of dry white wine OR 2 tablespoons red wine vinegar to deglaze the pan
- 4 cups of beef broth or bone broth (or vegetable broth for a vegetarian/vegan version)
- 5–6 sprigs of fresh thyme, plus more for garnish
- 1 bay leaf
- Kosher salt or fine-grain sea salt and freshly ground black pepper, to taste
To top:
- 1–2 baguette slices per serving, toasted
- 1 1/2 cups of grated Gruyère cheese (or a similar melty Swiss-style cheese)
Instructions
- Caramelize the Onions: In a large pot or Dutch oven, melt the butter with the olive oil over medium heat. Add the sliced onions and a pinch of salt, and cook, stirring occasionally, until the onions are deeply caramelized and golden brown, about 30-40 minutes. If you want more time, lower the heat and let them cook for 60-90 minutes. You’re looking for a deep brown, but not burnt, color before removing to the next step.
- Deglaze the Pot: Add the minced garlic to the onions and cook for an additional 1-2 minutes until fragrant. Pour in the white wine or vinegar to deglaze the pot, scraping up any browned bits from the bottom with a wooden spoon.
- Simmer the Soup: Add the beef broth, fresh thyme sprigs, and bay leaf to the pot. Bring the mixture to a simmer, then reduce the heat to low and let it cook for about 20-30 minutes, allowing the flavors to come together. Season with salt and pepper to taste; start with 2 teaspoons salt if your broth is unsalted, less if it’s salted.
- Prepare the Cheese Topping: Preheat your broiler. Place the toasted slices of baguette on a baking sheet and sprinkle generously with grated Gruyère cheese. Broil until the cheese is bubbly and melted, about 60-90 seconds (watch it closely to prevent burning).
- Serve: To serve, remove the thyme sprigs and bay leaf from the soup. Ladle the soup into bowls and top each with a cheese-topped baguette slice. Garnish with additional fresh thyme leaves for an extra touch of flavor and presentation, if desired.





I believe this is one of the best soups ever🥰
Just love the recipe. Thanks😊
Glad to hear it! I love this one, too 🙂