My vegetarian French onion soup recipe is the kind of winter comfort food you've been waiting for. An incredibly flavorful broth (it'll make you wonder why other versions bother with beef broth at all), along with perfectly caramelized onions, melty gruyere, and crusty baguette make for the most decadent, delicious soup of your wildest dreams!
If you recently tried to buy yellow onions and they were sold out, you might have me to blame. I swear I've gone through more onions in the past few weeks of testing this recipe than I have in my entire life.
But it's all been in pursuit of perfect vegetarian French onion soup, and my goodness, I've done it.
To me, French onion soup is one of those foods with such an obvious vegetarian alternative: using vegetable broth instead of beef broth!
I've made this for people who are meat eaters and they honestly had no idea it didn't have a beef broth.
Vegetarian French onion soup ingredients
- Yellow onions (you'll need two pounds of them, or about two large)
- Olive oil
- Butter
- Sugar
- Salt
- Garlic
- Bay leaves
- Thyme
- Vegetable broth
- Gruyere cheese
- Swiss cheese slices
- Sliced baguette
- Worcestershire sauce (here's a vegan version from Annie's)
- A pinch (really, just a pinch) of cinnamon
How do you make French onion soup from scratch?
French onion soup is deceptively easy.
Truly the hardest part of the entire process is chopping those dang onions. *teaaaars* And while it takes time to caramelize the onions (there's no shortcut to caramelized onions, my friends! Perfection can't be rushed) it's so, so soooo worth it.
So please, before you read the rest of this recipe, take a gander at these tips/notes for making the best French onion soup, vegetarian style!
- TAKE YOUR TIME: If you're looking for a super quick recipe, this is not it. It takes about an hour to get your onions caramelized just right. Cook them on a medium low temperature, and stir regularly. It's not hard work, but it is steady work. Don't worry though, it pays off.
- Test and adjust the seasoning: The saltiness of a vegetable broth varies a lot from brand to brand. I give you a guideline for adding salt, but be sure to taste test your soup as you go and adjust according to your preference.
- If you can't find gruyere cheese (it's often at the cheese counter with the specialty cheeses) shredded Swiss and parmesan cheese can work too.
- This recipe makes two entree-sized servings. If you're serving it as a starter, you can use four ramekins or smaller soup bowls. For the entree-sized portions, make sure your bowls are big enough. (Here are some 12 oz. French onion soup bowls). Whatever bowls you use, make sure they're oven-proof!
- Did I mention you need to take your time caramelizing the onions? Do not rush it – they will burn and your soup will suck!
That extra touch
One of the things that makes my vegetarian French onion soup recipe standout is the addition of Swiss cheese. And not on top like you might expect.
No, we put a slice of Swiss cheese in the bottom of the bowl BEFORE adding the soup!
Then, as you're eating each delicious spoonful, you can be sure you're getting cheese coming at you from all sides.
The crusty topping
To top the soup, you're going to use baguette slices.
To make them, you'll just take a fresh baguette and cut it into thick slices – about three per bowl!
Then, you'll either brush them with olive oil or spray them with cooking spray, and bake them for ten minutes at 400F (flipping at the five minute mark).
They don't need to be hot when they go on the soup, so this can be done well ahead of time if you'd like.
What are the best onions to use for French onion soup?
If you ask me, it's got to be yellow onions! They're perfectly sweet and they caramelize so wonderfully.
If you're not picky, you could go for a regular white onion (some people also use shallots or red onions). But I encourage you to go for yellow onions!!!
What kind of wine is best for vegetarian French onion soup?
In most traditional recipes, French onion soup is made with white wine. It's often a great complement to the sweetness of the onions.
But to give this vegetarian French onion soup a "beefier" flavor, we use red wine instead of white!
At the same time, red wine contributes to a darker broth so it looks more like beef broth.
And if you're like me and you don't like wine (yes, it's true!) don't worry! The wine cooks off and does its job deglazing the pan without making the soup taste like wine.
What is the difference between French onion soup and onion soup?
My dad asked me this once when I served him French onion soup and I had to look up the answer. The biggest differences lie in the bread and cheese. If you want to dig more into this topic, check out this article from Mashed.
I do know not every element of my vegetarian French onion soup recipe is inline with the traditional version, but please, let's not split hairs! I don't claim to be a French chef after all!
The soup will satisfy your craving for the traditional recipe though, I can tell you that much!
Let's dig in!
📖 Recipe

Perfect Vegetarian French Onion Soup
Ingredients
- 2 lbs yellow onions about 4 large onions, peeled and cut into thin slices
- 2 tablespoon olive oil
- 1-2 tablespoon unsalted butter
- ½ teaspoon salt plus more, to taste
- 1 teaspoon white sugar
- 3 cloves garlic chopped
- ⅓ cup dry red wine I use malbec
- 4 cups vegetable broth
- ½ tablespoon fresh thyme plus more for garnish
- 2 bay leaves discard before serving
- ½ tablespoon Worcestershire sauce*
- 1¼ cup gruyere, shredded measure generously
- 2 slices Swiss cheese place one in the bottom of each soup bowl
- pinch cinnamon really, just a pinch!
- black pepper to taste
For the Bread Topping
- French baguette sliced
- olive oil or cooking spray
Instructions
- Heat the olive oil over medium high heat in a large pot. When it's hot, add the sliced onions. Cook and stir often with a wooden spoon until the onions start to soften, about 20 minutes.
- Add the butter and cook for another 20 minutes, continuing to stir every 2-4 minutes. Keep a close eye on your onions that they don't burn. Reduce heat if necessary.
- Add the salt and sugar and continue cooking for another 15 minutes (this is when they'll really start to brown). Once you reach the 12 minute mark, add the chopped garlic.
- Pour in the red wine to deglaze the pan. Using your wooden spoon, scrape the bottom and sides of the pan to get at any caramelized bits. Let cook for a minute or two, or until most of the wine has cooked off.
- Add the vegetable broth, worchestire sauce, bay leaves, thyme, several grinds of black pepper, and just a pinch of cinnamon. Bring to a simmer. Cover and cook for 30 minutes, stirring every couple of minutes.
- While the soup simmers, preheat the oven to 400F. Cut a French baguette into thick slices**, about three per bowl. Spray or brush one side of each slice with olive oil. Place on a tin-foil covered tray. Bake for ten minutes, flipping half way through, or until lightly golden and toasty. Set aside. Keep pan handy for later use.
- Discard the bay leaves from the soup. Taste test the soup and adjust for salt/pepper.Place one slice of Swiss cheese in the bottom of each oven-safe soup bowl before adding the soup. Divide the soup evenly among the bowls.Top with three slices of toasted baguette.
- Sprinkle the cheese on both bowls. Place the bowls on the tin-foil covered tray. Turn your oven to broil and broil the soup for a few minutes, until cheese is very bubbly and slightly golden. Top with more thyme (optional) and pepper, or even more bread for dipping on the side.Serve hot and enjoy. Soup and bowls will be very hot!
Notes
Nutrition
Other vegetarian soup recipes
- SMOKY TOMATO AND LENTIL SOUP (VEGAN)
- CREAMY CELERY SOUP WITH POTATO: PERFECT WINTER SOUP
- CREAMY CARROT COCONUT TOMATO SOUP
I'm so excited to finally put this out there to the world! I hope you love it as much as I do.
XO,
C
Joan Hartzell
Made this today on a chilly, rainey day. It was fabulous. Recipe was perfectly spot on!
Chelsea Kram – XO&So: Vegetarian Comfort Food
I'm SO happy to hear that! The perfect thing for a chilly, rainy day 🙂 Thank you for your review, Joan!