This vegan Shepherd's pie is the kind of cozy dinner I love making when I want something hearty and comforting without a lot of complicated ingredients. It has a savory vegan meat and vegetable filling topped with creamy mashed potatoes, then everything is baked until hot and lightly golden on top.

I make the filling with vegan ground beef, carrots, peas, red wine, tomato paste, vegetable broth, and Vegan Worcestershire Sauce, then top it with creamy dairy-free mashed potatoes inspired by my Vegan Mashed Potatoes recipe. The result is rich, savory, and hearty, with plenty of flavor in both the filling and the potato topping.
It's especially good for fall and winter dinners, Thanksgiving, or Christmas, and it also works well for meal prep. You can assemble the whole dish ahead of time, refrigerate it, and bake it when you're ready to serve, which makes it really convenient for holidays or busy days.
If you're looking for more cozy baked dinners, try my Vegan Meatloaf, Vegan Lasagna, or Vegan Stuffed Shells. They're all hearty, comforting recipes that are great for family dinners and colder months.
Why You'll Love This Vegan Shepherd's Pie
Why this one is worth trying:
- A hearty, meaty filling: Vegan ground beef, carrots, peas, red wine, tomato paste, and herbs make the filling rich and savory, with plenty of texture in every bite.
- Creamy mashed potato topping: The potatoes are made with non-dairy milk, vegan butter, garlic powder, and nutritional yeast, so the topping is smooth, flavorful, and easy to spread.
- The filling stays thick, not watery: Flour helps create a proper gravy that coats the meat and vegetables instead of leaving excess liquid in the bottom of the baking dish.
- Great contrast in texture: The filling stays saucy underneath while the mashed potatoes turn lightly golden on top, giving you soft, creamy potatoes with a slightly crisp surface.
- Perfect for holidays or make-ahead dinners: You can assemble it in advance, refrigerate it, and bake it when needed, which makes it especially useful for Thanksgiving, Christmas, or busy fall and winter dinners.
Vegan Shepherd's Pie Ingredients

- Potatoes: Yukon Gold or Russet both work well. Yukon Gold give a creamier, slightly richer mash, while Russets make a lighter, fluffier topping.
- Unsweetened Non-Dairy Milk: I use Soy Milk, but any plain, unsweetened plant milk should work. Avoid sweetened or flavored varieties.
- Vegan Butter: Gives the mashed potatoes a richer flavor. You can use olive oil instead.
- Salt: Adjust to taste if needed, especially depending on how salty your broth, vegan meat, and vegan Worcestershire sauce are.
- Black pepper: Freshly ground black pepper works best, but pre-ground is fine.
- Garlic powder: Adds garlic flavor to the mashed potatoes without changing their texture.
- Nutritional yeast: Adds a savory, slightly cheesy flavor to the potato topping. You can leave it out if needed, although the flavor will be milder.
- Olive oil: Used for cooking the filling. Any neutral cooking oil can be substituted.
- Onion: Yellow or white onion both work well.
- Carrots: Chop them fairly small so they soften evenly and blend well into the filling.
- Garlic: Fresh garlic gives the best flavor. Garlic powder can work in a pinch, but fresh is better here.
- Vegan ground beef: Use your favorite plant-based ground beef-style product. Vegan crumbles, my Tofu Ground Beef, cooked or canned lentils, or crumbled Tempeh can also work, although the texture and flavor will be slightly different.
- Dried thyme and rosemary: You can use fresh herbs instead. Substitute 1 tablespoon fresh thyme leaves and 1 tablespoon finely chopped fresh rosemary for the dried herbs.
- All-purpose flour: Thickens the filling and helps create a rich gravy. For a gluten-free version, use a gluten-free all-purpose flour blend or cornstarch.
- Red wine: Adds depth and richness. Use a dry red wine, or replace it with additional vegetable broth for an alcohol-free version.
- Vegetable broth: Use a flavorful broth. Store-bought works well, or you can use my Homemade Vegetable Broth.
- Tomato paste: Adds richness, color, and a deeper savory flavor to the filling.
- Vegan Worcestershire sauce: Make sure to use a vegan version, since traditional Worcestershire sauce usually contains anchovies. Store-bought works well, or you can use my Homemade Vegan Worcestershire Sauce.
- Frozen peas: No need to thaw them first; add them straight from the freezer.
Find the full recipe with exact measurements in the recipe card below.
How to Make Vegan Shepherd's Pie

- Place the potatoes in a large pot, cover with cold water, and simmer for 10-15 minutes, until fork-tender.

- Drain well, return to the pot, and mash with the non-dairy milk, vegan butter, salt, pepper, garlic powder, and nutritional yeast until creamy.

- Preheat the oven to 400ºF (200ºC) and lightly grease a 9×13-inch (23×33 cm) baking dish.

- Cook the onion and carrots in the olive oil over medium heat for about 5 minutes, until they start to soften.

- Add the garlic and cook for 1 minute.

- Add the vegan ground beef, salt, pepper, rosemary, and thyme. Break up the meat and cook for 5-7 minutes, until browned.

- Stir in the flour and cook for 1 minute.

- Pour in the red wine and cook for 2-3 minutes, until slightly reduced.

- Add the vegetable broth, tomato paste, vegan Worcestershire sauce, and peas. Cook over medium-high heat for about 5 minutes, until thickened.

- Spread the filling evenly in the prepared baking dish.

- Spoon the mashed potatoes over the filling and spread them evenly. You can use a spatula to make a few swoops and peaks on top if you like.

- Bake uncovered for 25-30 minutes, until lightly golden and hot. Let rest for 15 minutes before serving.
Tips for the Best Results
- Let the filling thicken properly: Before transferring it to the baking dish, make sure there's no excess liquid pooling in the pan. A thicker filling helps the layers stay more defined when you serve it.
- Keep the mashed potatoes fairly thick: The topping should be creamy but sturdy enough to sit on top of the filling without sinking into it. If it feels too loose, let it sit for a few minutes before assembling.
- Spread the potatoes all the way to the edges: This helps create an even layer and keeps the filling from bubbling up too much around the sides as it bakes.
- Create a textured top: After spreading the mashed potatoes, use a spatula to make a few swoops and peaks. The raised areas brown more easily and give the top a nicer finish.
- Let it rest before serving: Give the shepherd's pie about 15 minutes after baking so the filling can settle slightly. It will be easier to portion and the layers will hold together better.

Serving Suggestions
This vegan Shepherd's pie is hearty enough to be a meal on its own, but it pairs especially well with something fresh or green on the side.
For an easy dinner, serve it with my Vegan Caesar Salad, Roasted Broccoli, or Sautéed Brussels Sprouts. These lighter sides balance the rich mashed potato topping and savory filling really well.
For Thanksgiving or Christmas, you can also serve it with Vegan Stuffing, Vegan Green Bean Casserole, or Vegan Gravy as part of a larger holiday meal.
How to Store and Reheat Leftovers
- Fridge: Let the shepherd's pie cool completely, then store it covered or in an airtight container in the refrigerator for up to 4 days.
- Freezer: You can freeze it for up to 2 months. Let it cool completely first, then wrap it well or transfer individual portions to freezer-safe containers. The mashed potatoes may change texture slightly after freezing.
- Thaw: Thaw overnight in the refrigerator before reheating.
- Reheat: Reheat individual portions in the microwave, or warm a larger amount in the oven until heated through.
Frequently Asked Questions
Yes, you can. Assemble the shepherd's pie as directed, cover it, and refrigerate it for up to 2 days before baking. When you're ready to cook it, bake it straight from the fridge and allow a few extra minutes for it to heat through.
Absolutely. Use enough mashed potatoes to cover the filling evenly, about 5 to 6 cups (1.2 to 1.4 kg) for a 9×13-inch (23×33 cm) baking dish. If they're very firm from the fridge, let them soften slightly or warm them briefly so they're easier to spread.
Make sure the filling is thick, with no excess liquid, before assembling the pie. It also helps to let the filling cool slightly before adding the mashed potatoes, then spoon the potatoes over the top in several places and spread them gently with a spatula rather than pressing down.
Yes. Replace the all-purpose flour with a gluten-free all-purpose flour blend, or use cornstarch to thicken the filling instead. Also make sure your vegan Worcestershire sauce, vegetable broth, and vegan ground beef are certified gluten-free if needed.
Definitely. Mushrooms, celery, corn, green beans, or diced zucchini would all work well. Just avoid adding too many extra vegetables, or the filling can become overcrowded and release more moisture.

More Vegan Comfort Food Recipes

Love it? Leave a rating!
Vegan Shepherd's Pie
Ingredients
For the mashed potatoes:
- 3 pounds potatoes, Yukon Gold or Russet, peeled and cut into 1-inch (2.5 cm) cubes
- ¾ cup unsweetened non-dairy milk, I used soy milk
- 6 tablespoons vegan butter, softened, or olive oil
- 1 teaspoon salt
- ¼ teaspoon black pepper
- ½ teaspoon garlic powder
- ¼ cup nutritional yeast
For the filling:
- 2 tablespoons olive oil
- 1 onion, finely chopped
- 2 carrots, peeled and chopped
- 4 cloves garlic, minced
- 1 pound vegan ground beef
- 1 teaspoon salt
- ¼ teaspoon black pepper
- 1 teaspoon dried thyme leaves
- 1 teaspoon dried rosemary leaves
- 2 tablespoons all-purpose flour
- ½ cup red wine
- 1 cup vegetable broth
- 1 tablespoon tomato paste
- 1 tablespoon vegan Worcestershire sauce
- 1 cup frozen peas
Instructions
- Add the potatoes to a large pot and cover with cold water. Bring to a boil, then reduce the heat to a simmer and cook uncovered for 10-15 minutes, or until fork-tender.
- Drain the potatoes well and return them to the pot. Add the non-dairy milk, vegan butter, salt, black pepper, garlic powder, and nutritional yeast. Mash until smooth and creamy, then set aside.
- Preheat the oven to 400ºF (200ºC) and lightly grease a 9×13-inch (23×33 cm) baking dish.
- Heat the olive oil in a large skillet over medium heat. Add the onion and carrots and cook for about 5 minutes, stirring occasionally, until they start to soften.
- Stir in the garlic and cook for about 1 minute, stirring frequently.
- Add the vegan ground beef and break it up with a wooden spoon or spatula. Stir in the salt, black pepper, rosemary, and thyme, and cook over medium heat for about 5-7 minutes, or until browned and cooked through.
- Stir in the flour and cook for about 1 minute.
- Add the red wine and cook over medium heat for 2-3 minutes, stirring occasionally, until slightly reduced.
- Stir in the vegetable broth, tomato paste, vegan Worcestershire sauce, and frozen peas. Cook over medium-high heat for about 5 minutes, stirring occasionally, until the filling has thickened and there is no excess liquid in the pan.
- Transfer the filling to the prepared baking dish and spread it into an even layer.
- Spoon the mashed potatoes over the filling and gently spread them into an even layer. I used a spatula to create a few swoops and peaks on the surface, but this is completely optional.
- Bake uncovered for 25-30 minutes, or until the top is lightly golden and the filling is hot. Let it rest for 15 minutes before serving.
Notes
- Let the shepherd's pie cool completely, then refrigerate it covered or in an airtight container for up to 4 days.
- Freeze it for up to 2 months, either whole or in individual portions. The mashed potatoes may change texture slightly after freezing.
- Thaw frozen shepherd's pie overnight in the refrigerator.
- Reheat individual portions in the microwave, or warm a larger amount in the oven until heated through.



















Jasmin childs says
hi i havent managed to try this yet because i am a single person and 6 servings is too much for me to make. i do batch cook but normally only up to about 4 servings. i find it easier to try to work it out for a portion of 1 and then double it up from there, if that makes sense. however, with this one i am unsure of how to work out what 1 portion would be in terms of the amounts of spices. for example, if this 6 serving one requires 1 teaspoon of paprika, how much would i need for 1 portion? i tried to divide it but that comes up with 0.3!!
Iosune Robles says
Hi! Thanks for writing to us 🙂 That's it! You have to divide the recipe into 6! But, maybe, instead of 0.3 teaspoons of paprika, add just a pinch!
Dave Pressman says
Thanks for another sure-to-be delicious recipe. One minor question: The list of ingredients calls for a "12 15-ounce can crushed tomatoes (850 g in total)". Should this read "1 12 or 15-ounce can crushed tomatoes (850 g in total)"?
Iosune Robles says
Hi Dave! It was a mistake but we've already fixed it 🙂 Sorry for the inconvenience!
Dave Pressman says
Again a minor comment from a neurotic writer: It should be "2 15-oz. canS of crushed tomatoes".
Iosune Robles says
Thanks for your comment Dave 🙂 Have a nice day!