I’ll be honest—I used to think shepherd’s pie was only good if it had meat. Growing up, my mom made it with ground beef, and I couldn’t imagine it any other way. But then I started experimenting with mushrooms and realized they give you that same rich, hearty bite without the meat.
This vegetarian version has become one of those recipes I turn to when I want something cozy and filling. The mushrooms get all caramelized and savory, the vegetables add sweetness, and that mashed potato topping? It’s creamy and buttery enough to make everyone at the table happy. Plus, it’s easier than you’d think—most of it happens in one pot.
Whether you’re cooking for vegetarians or just trying to eat less meat, this shepherd’s pie delivers. It’s comfort food that happens to be plant-based, and nobody’s going to miss the beef.

Why You’ll Love This Vegetarian Shepherd’s Pie
- Hearty and satisfying without meat – The mushrooms and vegetables create a rich, savory filling that’s just as comforting as the traditional version, making it perfect for meatless Mondays or feeding vegetarian guests.
- Packed with vegetables – Between the mushrooms, carrots, peas, and potatoes, you’re getting a good variety of veggies in one dish, making it a nutritious comfort food option.
- Great for meal prep – This shepherd’s pie reheats beautifully and tastes even better the next day, so you can make it ahead for easy weeknight dinners.
- Creamy, flavorful mashed potato topping – The Greek yogurt adds extra protein and a tangy richness to the potatoes that takes them to the next level.
What Kind of Mushrooms Should I Use?
For this vegetarian shepherd’s pie, you’ve got plenty of options when it comes to mushrooms. Cremini (baby bella) mushrooms are a solid choice because they have a nice meaty texture and earthy flavor that stands up well in this dish. White button mushrooms work just fine too and are usually the most budget-friendly option at the store. If you want to get a little fancy, you can mix in some shiitake or portobello mushrooms for extra depth of flavor. Whatever you choose, just make sure they’re firm to the touch and not slimy, and give them a quick wipe with a damp paper towel before slicing rather than rinsing them under water.

Options for Substitutions
This recipe is pretty forgiving when it comes to swaps, so feel free to work with what you have:
- Shallots: The recipe already mentions this, but you can use about 1 cup of diced yellow onions plus 2-3 minced garlic cloves instead of shallots. They’ll give you a similar flavor base.
- Fresh mushrooms: Any mushroom variety works here – cremini, white button, or even a mix with shiitake for extra flavor. You can also use 2-3 cups of other hearty vegetables like diced zucchini or eggplant if mushrooms aren’t your thing.
- Red wine: Skip the wine if you prefer by using extra veggie broth plus a splash of balsamic vinegar (about 1 tablespoon) for that tangy depth.
- Fresh herbs: Don’t have fresh rosemary and thyme? Use about 1 teaspoon of dried rosemary and 1 teaspoon of dried thyme instead. Just remember dried herbs are more concentrated than fresh.
- Greek yogurt: Sour cream, regular milk, or even a splash of the cooking liquid from the potatoes will work to make them creamy. For a dairy-free version, try unsweetened plant-based milk with a little extra butter or oil.
- Yukon gold potatoes: Russet or red potatoes work just fine. Russets will give you fluffier mashed potatoes, while reds will be a bit creamier and hold their shape better.
Watch Out for These Mistakes While Cooking
The biggest mistake with shepherd’s pie is making watery filling, which happens when you don’t cook off enough liquid from the mushrooms and vegetables – let them simmer uncovered until the mixture thickens enough to coat the back of a spoon before adding the peas.
Lumpy mashed potatoes will ruin the top layer, so make sure your potatoes are fork-tender before mashing and add the Greek yogurt and butter while they’re still hot for the smoothest texture.
Don’t skip browning the tomato paste for a minute or two before adding the flour, as this step develops a deeper flavor that keeps your filling from tasting flat.
Finally, resist the urge to dig in right away – letting the casserole rest for 10 minutes after baking helps everything set up properly and makes serving much cleaner.

What to Serve With Shepherd’s Pie?
Shepherd’s pie is pretty much a complete meal on its own, but I love serving it with a simple side salad to balance out all that creamy, savory goodness. A crisp green salad with mixed greens, cucumber, and a light vinaigrette cuts through the richness of the potatoes and adds a fresh contrast. If you want something a bit heartier, roasted Brussels sprouts or green beans with a squeeze of lemon work really well alongside it. Some crusty bread or dinner rolls are also great for soaking up any extra sauce if you’re feeling extra hungry.
Storage Instructions
Store: This shepherd’s pie keeps really well in the fridge for up to 4 days. Just cover it tightly with foil or plastic wrap, or transfer leftovers to an airtight container. It actually tastes even better the next day once all the flavors have had time to meld together!
Freeze: You can freeze the whole assembled pie before or after baking for up to 3 months. If freezing unbaked, cover it really well with plastic wrap and then foil. If it’s already baked, let it cool completely first, then wrap it up tight.
Reheat: To warm up leftovers, cover with foil and bake at 350°F for about 20-25 minutes until heated through. You can also microwave individual portions for a quick lunch. If reheating from frozen, thaw it overnight in the fridge first, or add an extra 30-40 minutes to the baking time.
| Preparation Time | 20-30 minutes |
| Cooking Time | 45-60 minutes |
| Total Time | 65-90 minutes |
| Level of Difficulty | Medium |
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 1600-1850
- Protein: 40-50 g
- Fat: 60-75 g
- Carbohydrates: 235-260 g
Ingredients
For the vegetable filling:
- 1/2 cup red wine (dry red works best)
- 2 tbsp tomato paste (I like San Marzano)
- 1 sprig fresh rosemary
- 3 shallots (thinly sliced)
- 1 sprig fresh thyme (or 1/2 tsp dried)
- 1 tsp salt
- 2 tbsp olive oil (I use extra virgin for better flavor)
- 6 carrots (diced into small pieces)
- 1.5 cups vegetable broth
- 2 tbsp flour (for thickening)
- 1 dried bay leaf
- 2 cups frozen peas (thawed before adding)
- 16 oz fresh mushrooms (cremini or button, finely chopped)
For the mashed potatoes:
- 1/2 cup Greek yogurt (room temperature)
- salt to taste
- 6 Yukon gold potatoes (peeled and quartered)
- 1/4 cup butter (I prefer Kerrygold for richness)
Step 1: Prepare the Potatoes and Vegetables (Mise en Place)
- 6 Yukon gold potatoes
- 1 tsp salt
- 6 carrots
- 16 oz fresh mushrooms
- 3 shallots
- 1 sprig fresh rosemary
- 1 sprig fresh thyme
- 1 dried bay leaf
- 1.5 cups vegetable broth
- 1/2 cup red wine
- 2 tbsp tomato paste
- 2 tbsp flour
- 2 cups frozen peas
Begin by peeling and quartering the Yukon gold potatoes.
Place them in a large pot with enough cold water to cover, adding 1 teaspoon of salt.
Bring to a boil and cook until fork-tender.
While the potatoes cook, dice the carrots and finely chop the mushrooms.
Thinly slice the shallots and measure out the remaining liquid ingredients, so everything is ready to go.
Step 2: Start the Savory Filling Base
- 6 Yukon gold potatoes
- 1/4 cup butter
- 1/2 cup Greek yogurt
- salt to taste
Once the potatoes are tender, drain them thoroughly and return them to the hot pot.
Mash them well, then stir in the butter and room-temperature Greek yogurt until smooth and creamy.
Season with salt to taste.
While the potatoes are still warm, I really like to get them seasoned properly now to ensure maximum flavor in every bite.
Set the mashed potatoes aside.
Step 3: Build the Aromatic Vegetable Gravy
- 2 tbsp olive oil
- 3 shallots
- 16 oz fresh mushrooms
- 6 carrots
- 1 sprig fresh rosemary
- 1 sprig fresh thyme
- 1 dried bay leaf
In a large, heavy-bottomed pot or Dutch oven, heat the olive oil over medium heat.
Add the sliced shallots and cook until fragrant and softened, about 3-4 minutes.
Next, add the chopped mushrooms, diced carrots, rosemary, thyme, and bay leaf.
Cook, stirring occasionally, until the carrots begin to soften, creating a deeper flavor in the base.
I always sauté my vegetables until they are nicely browned as this caramelization brings so much more depth to the dish.
Step 4: Thicken and Simmer the Gravy
- 2 tbsp tomato paste
- 2 tbsp flour
- 1/2 cup red wine
- 1.5 cups vegetable broth
- 1 tsp salt
Stir in the tomato paste and flour into the cooked vegetables, cooking for 1 minute to toast the flour lightly.
Pour in the red wine, scraping up any browned bits from the bottom of the pot, and let it cook down for 1-2 minutes.
Gradually add the vegetable broth, stirring constantly until the gravy thickens to your desired consistency.
Season the gravy with salt.
Step 5: Assemble and Bake the Shepherd’s Pie
- 2 cups frozen peas
Once the gravy has thickened, remove the rosemary sprig, thyme sprig, and bay leaf.
Stir in the thawed frozen peas.
Transfer this savory vegetable filling to an oven-safe baking dish.
Evenly spread the prepared mashed potatoes over the top of the filling, making little peaks with a fork for texture.
Bake in a preheated oven at 350°F (175°C) for about 15 minutes, until heated through.
For a golden crust, I recommend finishing it under the broiler for a few minutes, watching carefully to prevent burning.

Creamy Vegetarian Shepherd's Pie
Ingredients
For the vegetable filling:
- 1/2 cup red wine (dry red works best)
- 2 tbsp tomato paste (I like San Marzano)
- 1 sprig fresh rosemary
- 3 shallots (thinly sliced)
- 1 sprig fresh thyme (or 1/2 tsp dried)
- 1 tsp salt
- 2 tbsp olive oil (I use extra virgin for better flavor)
- 6 carrots (diced into small pieces)
- 1.5 cups vegetable broth
- 2 tbsp flour (for thickening)
- 1 dried bay leaf
- 2 cups frozen peas (thawed before adding)
- 16 oz fresh mushrooms (cremini or button, finely chopped)
For the mashed potatoes:
- 1/2 cup Greek yogurt (room temperature)
- salt to taste
- 6 Yukon gold potatoes (peeled and quartered)
- 1/4 cup butter (I prefer Kerrygold for richness)
Instructions
- Begin by peeling and quartering the Yukon gold potatoes. Place them in a large pot with enough cold water to cover, adding 1 teaspoon of salt. Bring to a boil and cook until fork-tender. While the potatoes cook, dice the carrots and finely chop the mushrooms. Thinly slice the shallots and measure out the remaining liquid ingredients, so everything is ready to go.
- Once the potatoes are tender, drain them thoroughly and return them to the hot pot. Mash them well, then stir in the butter and room-temperature Greek yogurt until smooth and creamy. Season with salt to taste. While the potatoes are still warm, I really like to get them seasoned properly now to ensure maximum flavor in every bite. Set the mashed potatoes aside.
- In a large, heavy-bottomed pot or Dutch oven, heat the olive oil over medium heat. Add the sliced shallots and cook until fragrant and softened, about 3-4 minutes. Next, add the chopped mushrooms, diced carrots, rosemary, thyme, and bay leaf. Cook, stirring occasionally, until the carrots begin to soften, creating a deeper flavor in the base. I always sauté my vegetables until they are nicely browned as this caramelization brings so much more depth to the dish.
- Stir in the tomato paste and flour into the cooked vegetables, cooking for 1 minute to toast the flour lightly. Pour in the red wine, scraping up any browned bits from the bottom of the pot, and let it cook down for 1-2 minutes. Gradually add the vegetable broth, stirring constantly until the gravy thickens to your desired consistency. Season the gravy with salt.
- Once the gravy has thickened, remove the rosemary sprig, thyme sprig, and bay leaf. Stir in the thawed frozen peas. Transfer this savory vegetable filling to an oven-safe baking dish. Evenly spread the prepared mashed potatoes over the top of the filling, making little peaks with a fork for texture. Bake in a preheated oven at 350°F (175°C) for about 15 minutes, until heated through. For a golden crust, I recommend finishing it under the broiler for a few minutes, watching carefully to prevent burning.