This vegan shepherd’s pie is the ultimate comfort food. This dish features creamy mashed potatoes on top of a rich vegetable and lentil filling that the whole family will love.

Table of Contents
What is Shepherd's Pie?
Shepherd's pie is a popular dish from the UK, with a mashed potato topping and savoury filling.
The filling is traditionally made with lamb, but, of course, our vegan version uses lentils as a nourishing base instead! Vegetarian shepherd’s pie is also sometimes called Shepherdess Pie or Vegan Cottage Pie.
This vegan shepherd's pie recipe is a family favourite. We often make it for Sunday dinner in the chilly season. It's so cozy and comforting!
Ingredient tips
Here's what you need for this yummy vegan shepherd's pie.

Let's start with the hearty lentil filling:
- Olive oil - used for sautéing
- The veggies - onions, garlic, carrots, mushrooms and frozen peas.
- Thyme and rosemary - fresh is best, but you can substitute dried.
- Lentils - we like to use French 'Puy' lentils. Green, black or brown lentils would work as well.
- Vegetable stock
- Seasonings include soy sauce, tomato puree (or tomato paste in the US), smoked paprika, dijon mustard and black pepper.
- Brown sugar - We'll use just a teaspoon. Light or dark brown is both fine. if you don't have either, other types of sugar will do.
And for the mash:
- Potatoes - use starchy, soft cooking potatoes. Russet potatoes or Maris Piper are our favourites for mashing. Waxy, salad potatoes or new potatoes are not suitable.
- Vegan butter
- Salt
- And non-dairy milk - soy, oat, almond, etc... you can use any!
Step by step pictures
Here's a step-by-step guide with photos for making this vegan lentil shepherd's pie. The full and adjustable recipe and quantities are in the recipe card at the end of the post.

Step 1 - Saute the onion in olive oil until soft.

Step 2 - Add carrots, mushrooms, garlic, thyme, and rosemary, and cook for another 5 minutes.

Step 3 - Add the lentils and vegetable stock and simmer for 20-25 minutes.

Step 4 - In the meantime, boil the potatoes for 15 minutes until fork tender.

Step 5 - Drain the potatoes and mash them together with vegan butter, salt, and non-dairy milk.

Step 6 - Combine the cooked lentils with the peas, soy sauce, tomato paste, smoked paprika, mustard, and brown sugar. Simmer for 5 minutes.

Step 7 - Transfer the lentil filling to the baking dish and top evenly with the mashed potato.

Step 8 - Optionally, run a fork across the surface of the potato to draw a wave, spiral, or another pattern.

Step 9 - Cook in the oven for 15 - 20 minutes at 200℃ (390℉). For a nice golden brown crust, place under the grill/broiler for an extra 5 - 10 minutes.

Substitutions and variations
Gluten-free: This pie is naturally gluten-free, as long as you use a GF plant-based milk and check your other ingredients, such as vegetable broth.
Potatoes: You can also use sweet potatoes to make the mash. A mix of regular potatoes and sweet potatoes is also great.
Root vegetables or cauliflower can also be used as a potato alternative. If you have leftover mashed potatoes, that's a great option too!
Lentils: We haven't tested this recipe with canned lentils. If it's something you want to experiment with, you will need to reduce the amount of vegetable stock and skip the lentil cooking step. Adjust seasoning with salt and pepper to taste.
We don't recommend using red lentils in the filling. They cook differently and will produce a more soft, mushy textured filling.

Serving
This pie is best served with a generous helping of vegan gravy! Get our mushroom gravy recipe here.
As a side dish, sauteed or steamed green veggies such as green beans, kale or broccoli are a good option.

Storage
Store leftovers in the fridge for up to 3 days in a covered dish or container.
Freezing
You can freeze this lentil shepherd's pie before or after baking.
If you use a freezer-friendly oven dish you can freeze it directly in that. When cool, cover the dish with clingfilm / plastic wrap and foil, or an airtight lid, and freeze for up to 3 months. You can also freeze individual portions in an airtight container.
Reheat in the oven for best results. Cover the dish with foil, and place the shepherd's pie in the oven at 180°C / 350°F heat for 30 to 40 minutes until hot throughout. You can remove the foil after 20 minutes to allow the top to crisp up.
To reheat frozen pie, thaw in the fridge overnight, then reheat/bake as above. Or cook from frozen and allow double the about of time (60 - 80 minutes) for it to reheat.
Reheat individual portions in the microwave in 30-second intervals until piping hot.

More vegan dinner recipes
Enjoy this vegan lentil shepherd's pie! Try these other delicious dinner ideas from Vegan on Board:
📖 Recipe

Vegan Shepherd's Pie
Ingredients
- 1 tbsp olive oil
- 1 onion diced
- 2 (150 g) carrots diced
- 3 cups (200 - 300 g) mushrooms chopped
- 4 cloves garlic minced
- 1 tbsp fresh thyme chopped, or 1 tsp dried thyme
- 2 tsp fresh rosemary chopped, or ¾ tsp dried rosemary
- 1½ cups (300 g) Puy lentils or green or brown
- 3 cups (720 ml) vegetable stock
- 1 cup (130 g) peas frozen
- 2 tbsp (30 ml) soy sauce
- 2 tbsp (35 g) tomato puree tomato paste (US)
- 1 tsp smoked paprika
- 1 tbsp Dijon mustard
- 1 tsp brown sugar
- ½ tsp black pepper
For the mash
- 1.2 kg (2⅔ lb) starchy potatoes peeled, cut into large chunks
- 2 tbsp (25 g) vegan butter
- 1 tsp salt
- ¼ cup (60 ml) non-dairy milk
Instructions
Lentil Filling
- Heat up the olive oil in a large saucepan or stockpot over medium heat.1 tbsp olive oil
- Saute the onion in the olive oil for 5 minutes until soft.1 onion
- Add carrots, mushrooms, garlic, thyme, and rosemary, and cook for another 5 minutes on medium-high heat.2 (150 g) carrots, 3 cups (200 - 300 g) mushrooms, 4 cloves garlic, 1 tbsp fresh thyme, 2 tsp fresh rosemary
- Add the lentils and vegetable stock and bring to a simmer. Turn the heat down to low-medium and simmer for 20-25 minutes. In the meantime, make the mash (see below).1½ cups (300 g) Puy lentils, 3 cups (720 ml) vegetable stock
- Once the lentils are done and have absorbed most of the broth, add the peas, soy sauce, tomato puree / paste, smoked paprika, mustard, brown sugar and black pepper. Stir to combine and simmer for 5 more minutes.1 cup (130 g) peas, 2 tbsp (30 ml) soy sauce, 2 tbsp (35 g) tomato puree, 1 tsp smoked paprika, 1 tbsp Dijon mustard, 1 tsp brown sugar, ½ tsp black pepper
Mash Topping
- While the lentils are cooking, start making the mashed potato by submerging the cut potatoes in water in a second saucepan and bring to a boil.1.2 kg (2⅔ lb) starchy potatoes
- Simmer the potatoes for about 15 minutes until fork tender.
- Drain the potatoes. Put them back in the pan together with vegan butter, salt, and non-dairy milk. Mash until completely smooth.2 tbsp (25 g) vegan butter, 1 tsp salt, ¼ cup (60 ml) non-dairy milk
Bake
- Preheat the oven to 200℃ / 390℉.
- Spread out the lentil filling evenly in a large baking dish.
- Top the lentil filling evenly with the mashed potato, then smooth the surface with a silicone spatula or the back of a spoon.Top Tip: Put some mash along the edges of the dish first before working your way to the center. This way, you can keep your filling from subsiding if it gives way easily, and ensure even distribution.
- Optionally, run a fork across the surface of the potato to draw a wave, spiral, or another pattern.
- Cook in the oven for 15 - 20 minutes at 200℃ / 390℉. For a more golden brown crust, optionally place under the grill/broiler for an extra 5 - 10 minutes.
Notes
Nutrition
This information is calculated per serving and is an estimate only.



Zuzana says
This is a very clever recipe. It tastes SO good that I think even meat eaters would love it. The different textures and flavours are a constant joy and the addition of Dijon mustard is a touch of genius. I could have finished the whole dish myself and, if I could, I'd give it not 5 but10 stars.