Vegan Lentil Shepherd’s Pie

Jump to Recipe
This is the best vegan shepherd’s pie you’ll try! A hearty, flavor-packed lentil and sticky onion filling meets fluffy mashed potatoes and cauliflower in this protein-rich, healthy plant based dinner recipe. The perfect healthy comfort food for winter.
Prep Time: 15 mins
Cook Time: 1 hr 30 mins
Total Time: 1 hr 45 mins
5 from 155 votes

One of my favorite cozy winter recipes is this healthy Vegan Lentil Shepherd’s Pie. I came up with this recipe when I realized that the shepherd’s pie recipe from my vegan instant pot cookbook was so popular.

And since many of my readers/followers don’t have an Instant Pot, I wanted to adapt the recipe from my cookbook to the stovetop (which is the traditional method of making shepherd’s pie). Sure, it requires a bit more work than the Instant Pot version, but the results are worth it!

Though there are a few different steps involved in this recipe, the actual cooking part is quite straightforward and not complicated.

Table of Contents

1. How to make a healthier lentil shepherd’s pie
2. Ingredient Rundown: Lentil Filling
3. Ingredient Rundown: Mashed Potato Topping
4. Step-by-step Instructions (with photos!)
5. How to maximize efficiency while making this recipe
6. Tips for making this recipe
7. Frequently Asked Questions
8. Video: How to make Lentil Shepherd’s Pie

How to make a healthier vegan shepherd’s pie

This is a healthy(ish) version of shepherd’s pie. For one, it’s not made with ground lamb (or beef), the traditional main ingredient in shepherd’s pie. Instead, the bulk of the filling comes from heart-healthy, protein- and fiber-packed lentils, so we’re already light years healthier than the traditional version.

Secondly, shepherd’s pie typically has a layer of mashed potatoes on top. To keep this version on the more wholesome side, I add cauliflower into the mix. To be clear, I don’t think of potatoes as an “unhealthy food.” Rather, I think of cauliflower as a nutritional superstar that adds extra fiber, vitamins, and antioxidants and very little starch.

That said, this vegan shepherd’s pie still tastes indulgent, just like hearty winter comfort food should.

In the mood for even more cold weather vegan comfort food? Give these a try:

Creamy Mushroom and Black Beluga Lentil Stew
The Best Vegan Mashed Potatoes
Thai Butternut Squash Chickpea Curry

healthy vegan lentil shepherd's pie - flat lay in skillet

Ingredient Rundown: Lentil Filling

This is one of my favorite ways to cook lentils. You can also use these lentils in your weekly meal prep, or stuff them into vegetables, like in this Creamy Lentil Stuffed Butternut Squash.

Onions and Garlic. Traditional shepherd’s pie fillings contain onions, carrots, celery, and peas. However, this version contains just onions. And plenty of garlic.

Why? I find that the most flavor in this recipe comes from onions and garlic, and well, celery and carrots just aren’t that essential. Also, I am not a fan of peas. They’re mushy, so there’s that.

I cook the onions down until they’re nice and browned. I cook them well beyond the stage of sweating and turning translucent. It takes a few extra minutes, but adds lots of savory depth of flavor to this dish.

Fresh Herbs. I used thyme and rosemary in this recipe, but sage and oregano would also be good choices if that’s what you have. If you are worried about leftover fresh herbs going bad and don’t want to waste food, check out the herb- saving technique I use in this video (starts at 03:00 mark).

Tomato Paste. Tomato paste is an underrated, humble, inexpensive ingredient. It adds a thick, rich concentrated tomato-y flavor with a slight natural sweetness, along with notes of umami to this shepherd’s pie.

But we’re not treating tomato paste as it’s often used – simply stirred into a soup or sauce at the end as an afterthought. We’re cooking it down for a few minutes to help caramelize it.. This unlocks the full potential of the tomato paste and brings forth its boldest flavor.

Red Wine. Certain savory dishes get a dramatic flavor boost from red wine, and this is one of them. It brings out the earthy flavors of lentils and intensifies the aromas of this dish in a way that vegetable broth cannot.

Tahini. Not a traditional ingredient in shepherd’s pie, but I like stirring it into cooked lentils to add some richness. It makes the lentils creamy while still keeping them healthy (tahini is simply sesame seed paste).

Balsamic Vinegar. I also add a splash of good-quality balsamic vinegar to the lentil filling at the end, as the natural sweetness helps balance the salty and savory umami flavors.

Vegan Worcestershire Sauce. Worcestershire sauce brings a depth of flavor that enhances savory, meaty dishes and is commonly used in traditional shepherds’ pie. Check out the recipe note below for recommendations on vegan brands.

shepherd's pie - lentil filling ingredients

Ingredient Rundown: Mashed Potato Topping

Russet Potatoes. I opted for Russet potatoes because their high-starch content makes for the fluffiest mashed potatoes.

Cauliflower. As mentioned, I add cauliflower into the mix to add more nutrients. Since potatoes take longer to boil than cauliflower, I cut the cauliflower into quite large florets and cut the Russet potatoes into eighths. That way, they take about the same time to cook.

Vegan Butter. Since these are mashed potatoes, a little vegan butter (not too much) feels necessary. But if you don’t want to buy or use vegan butter, a good-quality olive oil will also work.

Lite Coconut Milk. This is my favorite plant-based milk to use in mashed potatoes because it’s creamy but not too thick (as regular, full-fat coconut milk would be). If you don’t use coconut milk, another creamy plant milk such as unsweetened oat milk or cashew milk also works..

mashed cauliflower potato topping - ingredients

Step-by-step instructions

For the lentil filling, dice the onions, mince the garlic, and chop the rosemary and thyme.

chopped onions, garlic, thyme, and rosemary on cutting board

Heat the olive oil in a 12-inch ovenproof sauté pan over medium to medium-high heat. Cook the onions until nicely browned, 8-10 minutes. Then add the garlic and herbs and cook for 2 minutes.

garlic, onions, herbs in saute pan

Add the tomato paste and cook until darkened, then stir into the onions.

adding tomato paste to onion garlic and herbs mixture

Deglaze the pan with the red wine and cook for a few minutes until the mixture is jammy.

deglaze pan with red wine

Add the vegetable broth, lentils, bay leaves, and paprika. Simmer for 30 minutes until lentils are al dente.

adding vegetable broth, lentils, bay leaves and paprika to saute pan

While the lentils are cooking, make the mashed potato-cauliflower topping. Boil the cauliflower florets and potatoes in boiling salted water with rosemary for 15 minutes until fork tender. Drain and dry thoroughly.

boiled potatoes and cauliflower

Add the vegan butter, plant milk, nutritional yeast, salt and pepper to the boiled cauliflower and potatoes. Mash until smooth.

mashed cauliflower and potato in bowl

Finish the lentil filling by stirring in tahini, balsamic vinegar, tamari, vegan Worcestershire sauce (optional), and salt and pepper.

lentil filling with tahini, balsamic vinegar, tamari, and worcestershire sauce

Stir well until the lentils are creamy and thickened.

stirred lentil mixture

Spoon the mashed potato-cauliflower topping on the lentil filling in the ovenproof pan and gently spread out out with a offset or silicone spatula. Drizzle the top with extra virgin olive oil, fresh thyme leaves, and freshly cracked black pepper.

potato topping on top of lentil mixture

Bake the shepherd’s pie for 20 minutes at 375°F/190°C. Afterwards, pop under the broiler for a few minutes for extra browning on top.

overhead shot of finished lentil shepherd's pie

You can also find the web story version of these instructions here.

How to maximize efficiency when making this recipe

First, prep the ingredients for the Lentil Filling (i.e., chop the onions, garlic, and herbs).

Second, prep the ingredients for the Mashed Potato Topping (i.e., peel and wash the potatoes, cut the cauliflower into large florets).

Third, start cooking the Lentil Filling.

Fourth, while the Lentil Filling is simmering, boil the potatoes and cauliflower. And preheat the oven.

Fifth, dry and drain the potatoes and cauliflower thoroughly. Then make the Mashed Potato Topping.

Finallyassemble the Shepherd’s Pie and bake it off. Use the baking time to clean up and wash dishes, or if you have a helper/partner/spouse/kids who are eager to help, kick up your feet on the couch and take a break.

Tips for making this recipe

To avoid a watery mashed potato topping, you’ll need to drain the cauliflower very well, as it’s a water-heavy vegetable.

  1. Once the cauliflower and potatoes are done boiling, drain them thoroughly in a colander. Let the potatoes sit in the colander to dry out while you work on the cauliflower.
  2. Transfer the cauliflower to a fine-mesh sieve, and place a bowl on top of the boiled cauliflower. If you don’t have a bowl that fits on top of the sieve, use another relatively heavy object. The goal is to push down and squeeze out as much water as you can. There will be a lot more water than you think!
  3. Another option is to place the boiled cauliflower in a clean dish towel and tie it up. Then squeeze it into a ball and wring out all of the excess water. Again, there will be more water than you expect!

To make this recipe more indulgent (great for a holiday meal), follow these modifications.

  1. Omit the cauliflower and sub in more potatoes in the topping.
  2. If you taste the mashed potato filling and think it needs a bit more buttery goodness, add some more a little more vegan butter!
  3. If you want to use the *best* vegan mashed potatoes recipe, try my Miso Butter Mashed Potatoes in this shepherd’s pie. I promise it’ll take this recipe over the top!

To make this recipe more *even more flavorful*, try this tip.

Use homemade vegetable broth in lieu of store-bought broth. Or, use this vegan “chicken” broth seasoning, which adds incredible flavor to savory dishes. Note: it is quite salty, so you’ll need less salt in the lentil filling than the recipe calls for. You can also use a bit less seasoning per cup of water than the directions indicate.

To be able to scoop out solidified pieces of the “pie,” allow the shepherd’s pie to rest for at least 20 minutes in the pan. It will continue cooking and bring more structural integrity to the dish. That said, it still tastes delicious if you don’t let it rest. The texture will just be softer and messier to eat, like below.

Healthy Vegan Shepherd's Pie scooped onto a plate

Frequently Asked Questions

Can you substitute the red wine?

If you do not consume alcohol, skip the step of deglazing the pan with red wine. Instead, just start deglazing the pan with the vegetable broth. It helps to use a vegetable broth that is quite flavorful and rich (a homemade one, or my favorites are Imagine Organic and this vegan “chicken” broth seasoning). While I do think the wine adds something special, many readers have made this recipe without the wine with great results.

What kind of potatoes can I use for the shepherd’s pie topping?

I use Russet potatoes when I make this recipe with cauliflower. Russets seem to have a more similar texture and consistency to cauliflower than yellow potatoes, such as Yukon Gold potatoes.

If you use gold potatoes, use a potato masher or ricer to mash that potatoes and cauliflower, not an immersion blender. An immersion blender is fine to use with Russet potatoes – the result will still be fluffy. But when used on creamier golden potatoes, the potatoes get gummy.

Are my lentils cooked through?

30 minutes should be enough time to cook your lentils al dente, but not overdone or soft. It’s okay if the lentils feel firmer than you’d expect, as they’ll also cook in oven.

What if I don’t have a 12-inch ovenproof skillet?

Make the Lentil Filling in the largest skillet you have and then transfer it to a large (3 quart/3 liter) baking dish. Spread the topping on and bake as instructed.

How do you store shepherd’s pie? Can you freeze shepherd’s pie?

Store leftovers in an airtight container in the fridge for up to 4 days. Or, in the freezer, for up to 3 months

To reheat, transfer portioned out leftovers to an ovenproof dish and tent with foil. Heat at 325°F/163°C until lentils and potato-cauliflower topping are both warmed through. If frozen, I recommend allowing the shepherd’s pie to thaw before reheating (otherwise, the potato-cauliflower topping can be a bit icy and lend watery results).

What to serve with lentil shepherd’s pie 

  • A hunk of rustic bread (a multigrain or seeded baguette would be my preference)
  • A simple green salad, or a winter salad like this Kale and Brussels Sprouts Salad.
  • Steamed broccoli or green beans.

Watch! How to make Lentil Shepherd’s Pie

I had loads of fun making this recipe over on YouTube. The video is packed with tips so give it a look if you’re interested in learning more.

A perfect vegan meal for cold winter days ❄️
A perfect vegan meal for cold winter days ❄️

If you give this Lentil Shepherd’s Pie recipe a try, be sure to tag me on Instagram with your recreations and please comment with your feedback below!

The Best Vegan Lentil Shepherd’s Pie

5 from 155 votes
This is the best vegan shepherd’s pie you’ll try! A hearty, flavor-packed lentil and sticky onion filling meets fluffy mashed potatoes and cauliflower in this protein-rich, healthy plant based dinner recipe. The perfect healthy comfort food for winter.
Prep Time: 15 mins
Cook Time: 1 hr 30 mins
Total Time: 1 hr 45 mins
Course: Dinner
Cuisine: English
Diet Vegan
Keyword: gluten-free, nut-free
Serving size: 8


Lentil Filling

  • 1 tablespoon olive oil
  • 3 large yellow onions, diced
  • 8 cloves garlic minced (use less if you’re not a huge fan of garlic)
  • 1 tablespoon fresh thyme leaves, roughly chopped
  • 2 teaspoons fresh rosemary leaves, roughly chopped
  • 3 tablespoons tomato paste
  • 1/2 cup (120 mL) dry red wine (such as Pinot Noir or Malbec)*
  • 1 1/2 cups (10 ounces / 285g) green lentils (or brown lentils)
  • 3 3/4 cups (900 mL) vegetable broth
  • 2 bay leaves
  • 1 1/2 teaspoons sweet or hot paprika
  • 1/4 cup (56g) smooth tahini**
  • 1 tablespoon tamari (or soy sauce)***
  • 1 tablespoon good-quality balsamic vinegar
  • 2 teaspoons vegan Worcestershire sauce (optional)
  • Plenty of kosher salt or sea salt (I used 1 1/2 – 2 teaspoons kosher salt)
  • Freshly cracked black pepper to taste

Mashed Potato Topping

  • 20 ounces (680g) Russet potatoes****
  • 16 ounces (454g) cauliflower, cut into large florets
  • 1 1/2 teaspoons kosher salt, plus more to taste
  • 1 rosemary sprig (optional)
  • 4 tablespoons vegan butter, softened at room temperature (or olive oil)
  • 1/2 cup (120 mL) “lite” coconut milk*****
  • 1 tablespoon nutritional yeast
  • Freshly cracked black pepper to taste

Optional finishes and garnishes

  • Extra virgin oil for baking and finishing
  • Flaky sea salt and black pepper
  • Fresh thyme leaves
  • Chopped flat-leaf parsley


  • Make the Lentil Filling. Heat the olive oil in an ovenproof 12-inch skillet over medium to medium-high heat until hot. If you don’t have an ovenproof skillet, you’ll need to transfer the cooked lentil filling to a baking dish when it’s time to bake.
  • Add the onions with a couple pinches of salt and sauté for 8-10 minutes, or until most of the onions are browned. Stir occasionally to prevent burning, but not too often so that they can brown. Add the garlic, thyme and rosemary and cook for 2 minutes, stirring frequently to prevent burning.
  • Push the onions to the edges of the pan so there’s an empty space in the middle of the pan. Add the tomato paste into the empty space and stir for 2-3 minutes, or until it darkens in color. Reduce the heat to medium, as needed.
  • Pour in the red wine and deglaze the pan, stirring up any browned bits, until the liquid has mostly evaporated and the smell of alcohol has dissipated, about 3-4 minutes.
  • Add the vegetable broth, along with the lentils, bay leaves, and paprika. Stir to combine and increase the heat to bring to a boil. Once boiling, reduce heat to maintain a rapid simmer, and simmer until the lentils are just tender and most of the liquid has been absorbed, 25-30 minutes.
  • Turn the heat to low. Add the tahini, tamari, balsamic vinegar, and vegan Worcestershire sauce (if using). Stir until well incorporated. Taste for seasonings, adding a generous amount of salt (I used about 1 teaspoon kosher salt) and black pepper. Set aside.
  • Make the Mashed Potato Topping. Peel the Russet potatoes and then rinse them under cold water. Chop the potatoes into eighths.
  • Place the potatoes and cauliflower florets in a large saucepan or Dutch oven and add just enough water to cover. Add 1 1/2 teaspoons kosher salt and stir to combine. Place the rosemary sprig on top. Bring to a boil and cook until both potatoes and cauliflower are fork-tender and are very soft when poked, about 15 minutes.
  • Thoroughly drain the potatoes and cauliflower in a colander and discard the rosemary sprig. For the potatoes, pat them dry with paper towels or a clean dish towel. For the cauliflower, you’ll need to squeeze out the excess water or it’ll be very watery.
    NOTE: See the “tips” section in the post for details on how to squeeze out the excess water.
  • Return the vegetables to the saucepan or transfer them to a large bowl. Add in the softened vegan butter, lite coconut milk, nutritional yeast, along with salt and black pepper to taste. You can mash everything together using a handheld potato masher, but I use an immersion blender. Taste for seasonings, adding more salt as needed (I used about 1 teaspoon kosher salt).
  • Assemble the Shepherd’s Pie. Preheat the oven to 375°F/190°C. If your skillet is ovenproof and has enough space, leave the Lentil Filling in there. If not, transfer it to a large (3 quart/3 liter) baking dish. Smooth the Lentil Filling out. Then, spoon and carefully spread out the Mashed Potato Topping on top, covering the whole surface. For more flavor, drizzle the top with extra virgin olive oil and some extra pinches of salt, pepper, and fresh thyme leaves.
  • Bake for 20 minutes, or until the lentil filling starts to bubble up. Remove from the oven and turn on your oven’s broiler. Place the pan under the broiler for a few minutes until the crust is golden brown. To finish, drizzle with more olive oil and garnish with fresh parsley, if desired.
  • Store any leftovers in an airtight container in the fridge for up to 4 days.


* If you do not consume alcohol or don’t cook with it, just skip this step and start deglazing the pan with the vegetable broth instead of wine
** The tahini brands I regularly use are Soom Tahini, Seed + Mill, and the Whole Foods 365 brand. If you typically refrigerate your tahini, try to bring it to room temperature, as it’ll be easier to stir into the lentils.
*** To keep this dish soy-free, omit the tamari and just add a bit more salt to taste.
**** You can substitute this with unsweetened soy milk or oat milk.
***** If using golden potatoes instead of Russets, do NOT use an immersion blender – the potatoes will get gummy. Use a potato masher or ricer instead. 

Did you make this recipe?

Tag @rainbowplantlife and hashtag it #rainbowplantlife

Leave a Comment & Rating

If you enjoyed this recipe, please consider giving it a star rating along with your comment! It helps others discover my blog and recipes, and your comments always make my day :) Thank you for your support!

Your email address will not be published. Required fields are marked *

Rate this recipe

166 comments on Vegan Lentil Shepherd’s Pie

  1. Tamara Ludgarda

    5 stars
    OMG, I made this and it is DELICIOSO.

    Greetings from Chile ♡

    1. Support @ Rainbow Plant Life

      Thanks for sharing, Tamara!

  2. Aija

    5 stars
    The flavors in this dish are amazing! I did add carrots, peas, and mushrooms.

    1. Support @ Rainbow Plant Life

      Thanks for the lovely feedback, Aija!

  3. Emily

    5 stars
    This recipe is BEYOND AMAZING! The layering of flavors is easy but creates the perfect dish that is complex, delicious, and tastes like a gourmet comfort meal! 11/10 would recommend to everyone. I’m currently making batch #2 of the weekend so I’ll have leftovers for lunch this week :)

    I did make a couple of changes that were really good as well:
    1) I don’t really like tahini, so I substituted some homemade cashew cream to add the creamy texture. It worked great.
    2) I love extra veggies in all of my food, so I put diced carrots, celery, and mushrooms into mine that I sautéed with the onions. Super yummy!
    3) I grew up with shepherds pie that had a layer of corn under the potatoes so I added that as well.

    1. Support @ Rainbow Plant Life

      Thanks for sharing your additions and substitutions, Emily! That Shepherd’s Pie sounds so delicious!

  4. Amanda O.

    5 stars
    Superb flavors!!

    1. Support @ Rainbow Plant Life

      Thanks for the lovely feedback, Amanda!

Development Alchemy + Aim