Go Back
+ servings
vegetarian french onion soup with lentils with gruyere toasties on top

Vegetarian French Onion Soup with Lentils

A delicious onion soup with protein-packed lentils and gruyere toasties. The recipe takes a while to cook, but does not require a lot of active cooking time.
Course Main Course, Soup
Cuisine French
Prep Time 15 minutes
Cook Time 1 hour 15 minutes
Total Time 1 hour 30 minutes
Servings 5 people
Calories 466kcal


  • enameled cast iron pot (like a Dutch oven) or stainless steel pot
  • wooden spoon


  • 4 large yellow and sweet onions ~3 pounds; can sub any variety
  • 2 tbsp butter
  • 2 tbsp olive oil
  • 2 cloves garlic pressed or minced
  • 1/2 tsp sea salt
  • 2 tbsp all purpose flour
  • 1/2 cup dry white wine I used Pinot Grigio
  • 6 cups vegetable broth
  • 1 tbsp balsamic vinegar
  • 1 tbsp fresh thyme more to taste
  • 1 cup green lentils dried (not cooked), rinsed, and sorted
  • 10 thin slices French baguette for serving
  • 1 cup gruyere freshly shredded


  • Slice the bottoms off the onions and remove their skins, then cut in half from top to bottom. Slice each onion half into thin, half-moon slices.
  • Heat the butter and olive oil in a large pot over medium heat. Add the onions and cook for 5 minutes. Stir, and reduce heat to medium-low. Let the onions cook, stirring occasionally, until they shrink down and get brown in color, about 40-45 minutes. If you want to cook them for a longer time for a stronger caramelized taste, you can.
  • Add the salt, flour, and garlic to the onions once they are caramelized to your liking. Stir and cook for a few more minutes.
  • Pour the white wine into the pot and use your spoon to scrape off any of the bits of caramelized onion stuck to the bottom. Add the vegetable broth, balsamic, thyme, and dried lentils to the pot. Increase heat and bring to a boil. Cover, then reduce heat to low and let the soup simmer for 20-25 minutes, or until the lentils are tender.
  • While the soup is cooking, slice the baguette and shred the cheese. If desired, you can toast the baguette slices by placing them on a baking sheet under the broiler for a couple of minutes.
  • Ladle the soup into oven-safe bowls, top with 1-2 slices of bread, and sprinkle the shredded Gruyere evenly over the bowls. Transfer the bowls to the oven, by placing them directly on the center rack or on a baking sheet, and turn on the broiler to high. Cook for 1-2 minutes or until the cheese is melted. Carefully remove from oven and enjoy!


  • You can use any type of French baguette, but sourdough tastes especially good.
  • No gruyere? Sub cheddar or gouda.
  • For even more of a savory flavor, add a tablespoon of soy sauce or tamari at the same time as the balsamic.
  • To make without alcohol, skip the wine and add 2 more tsp of balsamic vinegar.
  • To make vegan, use all olive oil instead of butter and oil and nix the cheese.
  • Onions can be caramelized ahead of time and frozen or refrigerated to be used later to make this soup.
  • Store in an airtight container in the fridge for 4-5 days or freezer for up to 3 months (thaw frozen soup overnight in the fridge). Reheat on the stove or in the microwave.


Serving: 1serving | Calories: 466kcal | Carbohydrates: 50g | Protein: 20g | Fat: 19g | Saturated Fat: 9g | Cholesterol: 41mg | Sodium: 796mg | Potassium: 697mg | Fiber: 14g | Sugar: 17g | Vitamin A: 1022IU | Vitamin C: 15mg | Calcium: 344mg | Iron: 4mg