This vegan TVP Shepherd’s pie recipe is packed with a delicious textured vegetable protein (TVP) and veggie base layer. I top mine with soft and fluffy mashed sweet potatoes, but you can use white potatoes too.
As a warm and hearty vegan dinner that’s easy to make, it’s well worth your effort to chop some veggies and mash the potatoes!

Get the Veg Out newsletter for vegan recipes + nutrition content!
This post contains affiliate links (including Amazon Associates) and I earn from qualifying purchases.
What is Shepherd’s Pie or Cottage Pie?
Shepherd’s pie and cottage pie are both made with a base layer of meat and vegetables, topped with a layer of mashed potato. Shepherd’s pie technically refers to a dish where lamb is the meat, whereas cottage pie uses ground beef. Most people use the words interchangeably.
Considering this is a vegan recipe, it’s meatless and it shouldn’t matter whether you call it Shepherd’s or cottage pie.
Rather than meat, many vegan Shepherd’s pie recipes use lentils. This is a tasty option, but today I’m sharing a recipe for TVP Shepherd’s pie.
Textured vegetable protein (TVP) is a great vegan meat substitute that’s high in protein and very easy to cook. It’s also an inexpensive vegan protein option (depending on where you buy it; try a bulk food store for better prices).
Made from soy, TVP replicates ground meat extremely well! It creates a dish that’s higher in protein, and lower in carbohydrates, compared to lentil Shepherd’s pie.
Vegan TVP Shepherd’s Pie Ingredients
There are two parts to this recipe, including a base layer of TVP/ veggies and the top layer of mashed sweet potato. All ingredients should be easy to source.
Most grocery stores sell TVP and it’s also easy to buy online. I buy TVP at a bulk food store as it’s very inexpensive this way!
TVP Base Filling
- TVP: Textured vegetable protein (TVP) is essentially soy protein crumbles. It’s extremely easy to cook with and very high in protein while low in carbohydrates and fats. TVP pieces are usually quite small, and when cooked, easily replicate the texture of ground meat. TVP doesn’t have much flavor though, so cook it with lots of herbs and spices.
- Olive oil: Use some olive oil to cook the TVP. You’ll also cook the vegetables in it for a delicious base layer of flavor.
- Onions and garlic: These flavorful vegetables are a great start to building flavor in this Shepherd’s pie recipe.
- Celery and carrots: Along with onions and garlic, celery and carrots add flavor and bulk up the base layer! Carrots offer some sweetness and celery adds a mild, savory flavor.
- Peas and corn: I grew up with peas and corn in my Shepherd’s pie and continue to make it with both tasty vegetables!
- Tomato paste: Some tomato flavor is perfect in the filling. You could substitute for ketchup too.
- Soy sauce: Soy sauce is a great addition to the filling, adding umami flavor and salt. It’s like Worcestershire sauce (typically not vegan) which people often use in Shepherd’s pie. Keep the recipe gluten free by substituting for tamari or anther soy sauce alternative like coconut aminos.
- Apple cider vinegar: Some acidity helps round out recipe flavors, and I chose apple cider vinegar as it’s one I always have on hand. Any type of vinegar could work!
- Dry thyme, sage and celery seed: These herbs work well together to bring delicious, savory flavor. You can certainly use fresh thyme if you have some on hand. Rosemary also works well in this recipe if you want to add it or replace one of the other spices.
- Herbamare: This specialty seasoning is a blend of sea salt, dry vegetables and dry herbs. I use it in lots of recipes when I want some extra savory, salty flavor. It’s like adding the flavors of vegetable broth, but in a dry seasoning. If you don’t have this ingredient and don’t want to purchase it, substitute for ½ teaspoons of salt and ½ teaspoons herb blend of your choice (or dry rosemary).
- Salt and pepper: To round out the seasonings, add salt and pepper to taste. Keep in mind how much salt is in your vegetable broth and that Herbamare is about half salt!
Mashed Sweet Potato
- Sweet potatoes: I love the flavor of sweet potatoes and they’re a great choice for topping vegan Shepherd’s pie. Sweet potatoes are packed with nutrients, including lots of vitamin A which is a vitamin vegans should be aware of! If you like, use white potato or a mix of half white and half sweet potatoes.
- Vegan butter: To create rich and creamy mashed potatoes, add some vegan butter. Margarine works just as well.
- Plant-based milk: Add unsweetened and unflavored plant-based milk to help the potatoes mash into a creamy consistency. I use soy milk as it’s richer and creamier compared to other options (like almond milk) but use what you like or have on hand.
- Nutritional yeast: This is optional, but I can’t resist adding some cheesy flavor and a boost of nutrition to the mashed sweet potatoes!
- Garlic powder: Also optional, garlic flavor can take your potatoes to a new level! If you have roasted garlic on hand, that’s great too. Onion powder could also work.
- Salt: To season the potato layer, you’ll need some salt. You can also add black pepper to taste.
How to Make TVP Shepherd's Pie
While there’s some prep work involved with this recipe, it’s easy to do and well worth it! Read the detailed directions below to learn how I make this flavor-packed, hearty dinner!
Step 1: Prepare Potatoes
Start by prepping your potatoes. While they cook, chop some vegetables for the filling (if you’re comfortable with kitchen multi-tasking).
Peel and dice the sweet potatoes, then add them to a large pot. Cover the potatoes with water and bring to a boil over high heat.
You can put a lid on the pot to speed time to boil; however, potatoes tend to overboil and create a mess. If you put a lid on your pot, keep a close eye on things.
Once boiling, cook the sweet potatoes until they’re soft. It should be easy to mash a piece of sweet potato with a fork.
The potato boiling process takes about 20 minutes total (including time to get to a boil).
Once fully cooked, drain the water from your potatoes. Return the sweet potatoes to your pot along with all the other potato ingredients, including vegan butter, nutritional yeast, plant-based milk, garlic powder and salt.
Mash until the potatoes are smooth and creamy. You can also use an electric hand mixer to whip them.
Set this mashed sweet potato aside while you prep the filling.
Step 2: Hydrate TVP
To cook TVP, simply add liquid and heat it until the TVP absorbs everything. Generally, a 1:1 ratio of TVP to liquid works well. Sometimes I add some extra liquid.
Adding oil to the TVP also helps create a meatier taste considering meats are typically higher in fat and TVP is very low in fat.
In a large pan, toss the TVP with 2 tablespoons of olive oil then add the vegetable broth. Cook over medium heat for about 5 minutes, until your TVP absorbs all the liquid.
Remove the TVP from your pan, then use the same pan to cook vegetables for the filling.
Step 3: Cook Filling
The filling for this Shepherd’s pie is easy to make. Just make sure all the vegetables are prepared before you start cooking it.
Chop the onion, carrot and celery. I like to chop these vegetables into small pieces, about the size of the peas and corn, so my filling has an even texture. You can chop them however you like.
You’ll also need to mince garlic.
In the large pan you used to cook TVP, heat the remaining 2 tablespoons of olive oil. Add the onion, garlic, celery and carrots and sauté over medium heat for 4-5 minutes. This step builds a more flavorful filling.
Once your vegetables start to soften, add the remaining filling ingredients, including cooked TVP, corn, peas, tomato paste, soy sauce, apple cider vinegar, thyme, Herbamare, sage, celery seed, salt and pepper.
Stir to combine. Once you’ve evenly mixed everything together, remove the pan from heat.
Step 4: Assemble, Bake and Serve
Preheat your oven to 350 °F, then prep a 9x13 baking dish by greasing it with oil, vegan butter or a cooking spray.
Add the filling to your baking dish and spread into an even layer.
Top the base layer with your prepared mashed potatoes. If you want your Shepherd’s pie to look fancy, pipe the potatoes onto the top. This is completely optional and only makes the food look better, not taste better!
Once assembled, bake for 30-35 minutes. The edges of your Shepherd’s pie should bubble up and the top of your potatoes will be lightly crisp.
If you want crispy potatoes, broil the dish for a minute or two. Always keep an extremely close eye on food whenever using a broiler as it can burn in a matter of seconds.
Remove from the oven and let sit for about 10 minutes before serving. Waiting helps the pie hold together (although the first piece is always sloppy).
How to Create a Balanced Vegan Meal
I consider a balanced meal one that contains a good source of plant-based protein, carbohydrates, fats and lots of vegetables or fruits.
This recipe has it all! TVP provides plenty of protein while sweet potatoes offer tasty and nutritious carbohydrates.
There are lots of colorful veggies in the filling, plus the sweet potato topping is a vegetable too!
Lastly, there are fats from olive oil and vegan butter, making this recipe more filling and satisfying!
Shepherd’s pie is a great stand-alone meal that doesn’t require side dishes to round it out. You could serve with sides if you like, but typically I don’t bother!
Shepherd’s Pie Variations
There are endless variations and countless ways to make Shepherd’s/ cottage pie. Use any seasonings, vegetables, potatoes, etc. that you’re used to!
There are two main ways I vary this recipe:
- Use lentils instead of TVP (or do a mix of lentils and TVP). Instead of the TVP, use 3 cups of cooked lentils (brown or green work best). You can also do half lentils, half TVP. I like the chewier, meatier texture of the TVP plus I find the recipe more filling with the higher protein content. However, lentils are nutritious, tasty and make for a great Shepherd’s pie!
- Use white potatoes, or a mix of white and sweet potatoes. Topping Shepherd’s pie with white potatoes is classic, delicious and nutritious! I love the taste of sweet potatoes, and the boost of vitamin A they provide. However, white potatoes offer their own benefits (and are often less expensive). You can use all white potato, all sweet potato or a half-and-half mix of both!
You can also serve this recipe with vegan gravy. I never had gravy with Shepherd’s pie when I was young, but if this is how you eat it, go for it!
How to Store Leftover Shepherd's Pie
Let leftovers cool to about room temperature, then refrigerate in an airtight container for up to 5 days. You can also cover the baking dish with plastic wrap (or something similar) before refrigerating.
Reheating leftovers in a microwave is easiest. If you don’t have a microwave, reheat in your oven, set to 350 °F, until the pie is warmed through. I cover the pie when reheating to avoid it drying out.
You can make this recipe a day or two in advance, storing covered in your fridge until ready to bake. If baking the dish from cold, it takes closer to an hour to warm through. I haven’t tested how this recipe freezes either before or after baking. I assume it’d be okay but there’s a chance for the pie to become watery after thawing. If this is the case, add extra cooking time (more time for water to evaporate out).
If you make this recipe, please rate and comment below to help others benefit from your experience!
📖 Recipe
TVP Shepherd’s Pie (Vegan)
Equipment
- Potato masher (or electric hand mixer)
Ingredients
Potatoes
- 4 medium sweet potatoes (1 kg)
- ¼ cup vegan butter (or margarine)
- ¼ cup plant-based milk (I use soy milk)
- ¼ cup nutritional yeast
- ½ teaspoon salt (or to taste)
- ½ teaspoon garlic powder
Filling
- 2 tablespoons olive oil (to rehydrate TVP)
- 2 tablespoons olive oil (to cook vegetables)
- 1 ½ cups TVP (115 g)
- 1 ½ cups vegetable broth (could use wine too!)
- 2 cups onion , diced (250 g)
- 3-4 cloves garlic , minced
- 1 cup celery , diced (115 g)
- 1 cup carrot , diced (140 g)
- 1 ½ cups corn , I use frozen (215 g)
- 1 ½ cups peas , I use frozen (215 g)
- 2 tablespoons tomato paste
- 2 tablespoons soy sauce *
- 1 tablespoon apple cider vinegar
- 1 teaspoon dry thyme
- 1 teaspoon Herbamare **
- ½ teaspoon dry ground sage
- ½ teaspoon celery seed
- ½ teaspoon salt
- black pepper (to taste)
Instructions
Step 1: Prepare Potatoes
- Peel and dice the sweet potato. Add these potato pieces to a large pot and cover with water.4 medium sweet potatoes
- Bring the potatoes to a boil over high heat until they’re soft; about 20 minutes total (including the time to boil water).
- Potatoes tend to overboil and make a mess, so watch them while they cook and lower the heat if needed.
- The potatoes are done when they’re very easy to mash with a fork.
- Once cooked, drain the water. Return the potatoes to the pot and add in the remaining mashed potato ingredients: vegan butter, plant-based milk, nutritional yeast, salt and garlic powder.¼ cup vegan butter, ¼ cup plant-based milk, ¼ cup nutritional yeast, ½ teaspoon garlic powder, ½ teaspoon salt
- Mash until smooth and creamy. You could also use an electric hand mixer to whip the potatoes.
- Set aside.
Step 2: Hydrate TVP
- Add olive oil to a large pan with TVP and vegetable broth.1 ½ cups TVP, 1 ½ cups vegetable broth, 2 tablespoons olive oil
- Cook over medium heat for about 5 minutes, or until the TVP absorbs all the liquid.
- Remove TVP from your pan and set aside.
Step 3: Cook Filling
- Chop the onion, carrots and celery. Mince the garlic. I recommend chopping small pieces, about the same size and the peas and corn.2 cups onion, 1 cup celery, 1 cup carrot, 3-4 cloves garlic
- In the same pan you used to cook the TVP, warm the remaining olive oil over medium heat.2 tablespoons olive oil
- Add onion, garlic, carrot and celery. Cook for 4-5 minutes, until the vegetables begin to soften.
- Next, return the TVP to your pan along with the remaining filling ingredients: corn, peas, tomato paste, soy sauce, apple cider vinegar, dry thyme, Herbamare, dry ground sage, celery seed, salt and black pepper.1 ½ cups corn, 1 ½ cups peas, 2 tablespoons tomato paste, 2 tablespoons soy sauce, 1 tablespoon apple cider vinegar, 1 teaspoon dry thyme, 1 teaspoon Herbamare, ½ teaspoon dry ground sage, ½ teaspoon celery seed, black pepper, ½ teaspoon salt
- Stir until the ingredients are well-mixed.
- Remove your pan from heat.
Step 4: Assemble, Bake and Serve
- Preheat your oven to 350 °F. Grease a 9x13 baking dish (with cooking spray, vegan butter/ margarine or oil).
- Add the filling to your baking dish and spread into a flat, even layer.
- Top this filling with prepared mashed sweet potato. You can simply spread the sweet potato or pipe it on.
- Bake for 30-35 minutes, until your pie bubbles around the edges and the potatoes lightly crisp.
- If you like crispier potatoes, broil the dish for a minute or two (always watch food under a broiler as it can burn very easily).
- Let the pie rest for about 10 minutes before serving.
Video
Notes
Nutrition
More Vegan Main Meal Recipes
Like this recipe? You should also try:
About Nicole Stevens
Nicole is a vegan Registered Dietitian (RD) and founder of Lettuce Veg Out.
She helps people thrive on a vegan diet with balanced recipes and easy-to-understand nutrition science.
Elizabeth says
Made this recipe in a large quantity as meal prep for a friend who is vegan. Dry fried the veg in vegetable stock as they don’t use oil (!!!). Left out butter in mash, added more plant milk. Finished the top off under the broiler.
It was absolutely spectacular! I couldn’t tell it was vegan, and I knew what was in it. Thank you for a great recipe.
Nicole says
Glad you enjoyed!
Kim Scott says
You can't beat the comfort of SHEPHERD'S Pie. This is really good!! Thanks for sharing.