Vegan Shepherd’s Pie with Mashed Potatoes
This Vegan Shepherd’s Pie is made with a hearty base of beans, corn, and lentils simmered in a savory gravy, topped with creamy mashed potatoes and a layer of melted vegan cheese. It’s a fully plant-based take on the classic, and it doesn’t skimp on the comfort food factor.
I make this on cold nights when I want something filling that happens to be vegan, and it reheats well for lunches through the week. The bean and lentil base gives it enough texture that you don’t miss the meat. I like serving this next to a One Pot Beef and Chickpea Stew or high protein vegetarian meals for a bigger dinner rotation.
If you like hearty, plant-based comfort food like this one, these are worth trying too:
- One Pot Beef and Chickpea Stew Packed with Protein and Fiber
- 20 High Protein Vegetarian Meals
- Bean and Vegetable Stew with Smoked Sausage in Tomato Sauce
- 25 Satisfying High Fiber Lean Protein Meals That Are Low Carb

Ingredients You’ll Need
A mix of lentils, kidney beans, and corn gives the filling enough texture and heartiness to stand in for ground meat. Mashing the potatoes with plant-based milk and butter keeps the topping creamy without any dairy.
Ingredients
2 lbs Yukon gold potatoes, peeled and cubed
1/3 cup unsweetened plant-based milk, warmed
3 tbsp vegan butter
2 tbsp olive oil
1 medium onion, diced
2 carrots, diced
3 cloves garlic, minced
1 cup cooked brown or green lentils
1 can (15 oz) kidney beans, drained and rinsed
1 cup corn kernels
1 1/2 cups vegetable broth
2 tbsp tomato paste
1 tsp dried thyme
1 cup shredded vegan cheese
Salt and pepper, to taste

Directions
- Place the cubed potatoes in a pot and cover with cold water.
Bring to a boil and cook for 15 to 18 minutes, until fork-tender.
Drain and return the potatoes to the pot. - Add the warmed plant-based milk and vegan butter to the potatoes and mash until smooth.
Season with salt and pepper.
Set the mashed potatoes aside. - Preheat your oven to 400°F.
Heat the olive oil in a large skillet over medium heat.
Add the onion and carrots, cooking for 6 to 7 minutes, until softened. - Stir in the garlic and cook for 30 seconds, just until fragrant.
Add the lentils, kidney beans, corn, vegetable broth, tomato paste, and thyme, stirring to combine.
Simmer for 10 minutes, until slightly thickened. - Season the filling with salt and pepper.
Transfer the bean and lentil mixture to a greased 9×13-inch baking dish, spreading it evenly.
Spread the mashed potatoes over the top, covering the filling completely. - Sprinkle the shredded vegan cheese over the mashed potatoes.
Bake for 20 to 25 minutes, until the cheese is melted and the potatoes are lightly golden at the edges.
Let it rest for 5 minutes before serving and enjoy!


Important Recipe Notes
- Warm the plant-based milk before mashing. Cold milk can make the mashed potatoes gluey instead of smooth and fluffy, the same way it would with dairy milk.
- Spread the mashed potatoes all the way to the edges. This seals in the filling and keeps it from bubbling up through gaps while baking.
- This dish gets its texture from the lentils and beans, so don’t skip either one – together they mimic the heartiness of ground meat in the traditional version.
- Vegan cheese varies a lot in how it melts, so choose a brand labeled for melting if you want the smoothest results on top.
- Store leftovers in an airtight container in the fridge for up to 4 days. Reheat in the oven at 350°F for the best texture, or in the microwave if you’re short on time.
- This freezes well once fully cooled. Freeze in an airtight container for up to 3 months and thaw overnight in the fridge before reheating in the oven.
How to Serve, Store & Customize This Recipe
Serving: Serve hot straight from the baking dish with a simple green salad on the side. This is filling enough on its own to make a complete vegan dinner.
Storing: Keep leftovers in an airtight container in the fridge for up to 4 days. Reheat in the oven at 350°F, covered with foil, until warmed through.
Customizing: Add diced mushrooms to the filling for extra umami, or swap the kidney beans for chickpeas. A pinch of smoked paprika in the filling adds a subtle smoky depth.
8
servings25
minutes45
minutes310
kcalIngredients
2 lbs Yukon gold potatoes, peeled and cubed
1/3 cup unsweetened plant-based milk, warmed
3 tbsp vegan butter
2 tbsp olive oil
1 medium onion, diced
2 carrots, diced
3 cloves garlic, minced
1 cup cooked brown or green lentils
1 can (15 oz) kidney beans, drained and rinsed
1 cup corn kernels
1 1/2 cups vegetable broth
2 tbsp tomato paste
1 tsp dried thyme
1 cup shredded vegan cheese
Salt and pepper, to taste
Directions
- Boil the potatoes until fork-tender, then drain.
- Mash the potatoes with plant-based milk and vegan butter, then season.
- Preheat the oven and cook the onion and carrots in olive oil.
- Cook the garlic, then simmer the beans, lentils, corn, and broth together.
- Season the filling and layer it in a baking dish, topped with mashed potatoes.
- Top with vegan cheese and bake until golden, then rest and enjoy!