Vegetarian French Onion Soup with Mushrooms
This Vegetarian French Onion Soup skips the beef broth and instead gets its rich, savory flavor from slow-cooked onions, hearty portobello mushrooms, and a fragrant, rosemary-infused vegetable broth. Finished with melty cheese on toasted baguette slices, it's every bit as cozy and satisfying as the traditional version.

If you love the deep, savory flavors of French onion soup, this vegetarian recipe proves you can achieve them without beef broth. The portobello mushrooms add a meaty bite and an extra layer of umami, while rosemary brings an earthy, aromatic note.
This soup is great for a cold evening, a dinner party starter, or as a show-stopping course for a holiday menu. If you like cozy, plant-forward meals, you might also like my Vegetarian Irish Stew with Lentils and Mushrooms or Tuscan White Bean Soup with Kale. You can also find a full collection of my Vegetarian Soup Recipes here.

Ingredients
This soup builds deep flavor from just a handful of simple, fresh ingredients. You'll start with a generous amount of yellow onions, thinly sliced so they cook down evenly. Mushrooms add an earthy richness and shallot lends a subtle aromatic note, while rosemary infuses the broth with herbal warmth. For the base, use a high-quality mushroom broth or vegetable broth. An optional splash of wine balances the sweetness of the onions. To finish, you'll need a crusty baguette and Gruyere or swiss cheese for that signature melty topping.
Equipment
You'll need oven-safe soup crocks if you want to melt the cheese on top of the soup under the broiler. If you don't have them, melt the cheese on top of the soup in the microwave for about 20 seconds instead.

Substitutions
- Broth: Use mushroom broth for a stronger umami punch, or vegetable broth in a pinch.
- Gruyere: Look for vegetarian Gruyere if needed. Swiss, provolone, mozzarella, or your favorite dairy-free cheese all work well, too.
- Baguette: Use gluten-free bread or omit the bread entirely.
- Portobello mushrooms: Other types of mushrooms, such as crimini or white mushrooms, also work.
Meal Prep and Storage
French onion soup is all about slow-cooked flavor, so plan for extra time to let the onions fully caramelize, about 45 minutes. This part can be done ahead. Cook the onions and mushrooms up to 3 days in advance and store them in an airtight container in the refrigerator.
When ready to serve, reheat with the broth, seasonings, and wine, then top with bread and cheese.
If you're making the soup for a dinner party, assemble the bowls with toasted bread and cheese just before serving. Broil until the tops are golden and bubbling.

FAQ
Yes! Simply replace beef broth with vegetable or mushroom broth and use vegetarian cheese for strictly vegetarian diets. Adding portobello mushrooms helps replace the rich flavor that beef broth would normally provide.
Vegetable broth works, but mushroom broth is even better for a deeper, earthier taste. You can also use a mix of the two.
Patience. Slowly caramelizing the onions until golden and sweet is key to building the soup's rich, layered flavor.
Rushing the onion-cooking process, using low-quality broth, or skipping herbs can lead to a flat-tasting soup. Also, avoid over-salting. The broth reduces as it cooks, which causes the saltiness to increase.
Overwhelmed by "What's for Dinner?"
Get 100+ nourishing meal and snack ideas featuring vegetarian and plant-forward recipes that support energy, satisfaction, and food freedom.
📖 Recipe

Vegetarian French Onion Soup with Mushrooms
Equipment
- Stockpot or Dutch oven
- Oven-safe soup crocks
- rimmed baking sheet
- Broiler
Ingredients
- 4 tablespoons olive oil or as needed to coat pot
- 2 medium sweet onions, sliced
- 1 shallot, sliced (optional)
- 2 large portobello mushroom caps, chopped into 1 ½-inch pieces
- 4 cups vegetable broth or mushroom broth
- 1 cup water
- 4 sprigs fresh rosemary
- Salt and pepper to taste
- 4 slices baguette or sliced bread of choice
- 4 slices vegetarian Gruyere cheese (see note)
- Fresh thyme leaves (optional)
Instructions
- Heat a heavy-bottomed pot or Dutch oven over medium heat and add the oil. Once the oil is hot, add the onions and a pinch of salt, then stir to coat. Cook the onions slowly, about 40 minutes, stirring every few minutes, or until they soften and turn golden brown. If the onions start to stick or darken too quickly, lower the heat and add a splash of water or broth to deglaze the pan. By the end, the onions should be deeply golden, jammy, and full of flavor.
- Stir in shallot and mushrooms and cook 5 minutes, or until the mushrooms turn dark brown.
- Pour in broth and water and stir in rosemary sprigs. Cover, bring to a boil, and then reduce heat to low and simmer 10 minutes, or until the flavors meld together. Season with salt and pepper to taste.
- Preheat the broiler and spread baguette slices on a rimmed baking sheet. Transfer baking sheet to the oven and toast bread 2 minutes on each side, or until golden brown. Remove from the oven and set aside. (Leave the broiler on because you will use it again.)
- Arrange 4 oven-safe soup crocks on the baking sheet. Divide the soup between the crocks. Place a piece of toasted baguette and slice of Gruyere cheese on top of each. Carefully return the baking sheet with the soup crocks to the oven and broil 2 minutes, or until the cheese is melted. Remove from the oven, garnish with fresh thyme leaves if desired, and allow to cool slightly before serving. (The soup crocks will be very hot. Serve on plates if desired.)
Notes
- Prep ahead: Caramelize onions and cook mushrooms in advance; store in the fridge for up to 3 days before finishing the soup.
- Refrigerate: Store cooked soup in an airtight container for up to 4 days.
- Freeze: Freeze soup (without bread/cheese topping) for up to 3 months.
- Before serving: Toast bread and melt cheese fresh to keep it crisp and gooey.
- Vegetarian: Gruyere cheese can be made with animal rennet, but some brands (such as Boar's Head, at the time of article publishing) make vegetarian versions. If you can't find suitable Gruyere cheese, substitute swiss, provolone, or mozzarella.
- Vegan and dairy-free: Omit cheese or substitute dairy-free cheese slices.
- Gluten-free variation: Omit bread or substitute sliced gluten-free bread.
- No oven-safe soup crocks? Melt the cheese on top of the soup in the microwave for about 20 seconds instead of broiling.

I am not vegetarian, but I can't have beef so I was looking for a way to make French onion soup without beef broth. I just happened to have 2 cups of mushroom broth in my freezer from cooking a ton of mushrooms. I used that 2 cups with 3 cups of water and chicken bouillon powder, 2 cloves of garlic instead of a shallot, omitted the actual mushrooms, and used dried Italian seasoning instead of the herbs. I had some clearance crusty bread in my freezer and dairy free mozzarella. It was phenomenal. I realize it's a completely different recipe than what you made, but your recipe gave me the perfect blueprint. Thank you!
Thanks, Cari! Your version sounds amazing and love that you made use of things in your freezer and pantry!
Was interested in trying this recipe but it doesnt seem possible to make french onions soup in 40 minutes. Onions need to be caramelized for a french onion soup and caramezation can take up to 2 hours. This soup may be tasty, but wouldn't give the same flavors a French onion soup would.
Hi Velma, thanks for your comment. I wanted to create a version that is as convenient and accessible as possible. I'll consider your comment next time I test this recipe and will potentially increase the cooking time. In the meantime, feel free to cook the onions until they reach your desired level of caramelization.