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 plant-based dinner. The perfect healthy comfort food for winter!
Prep 15 minutes
Cook 1 hour 30 minutes
Total 1 hour 45 minutes
5 from 525 votes

One of my favorite cozy winter recipes is this Vegan Lentil Shepherd’s Pie. I came up with this recipe when I realized that the shepherd’s pie recipe from my cookbook, The Vegan Instant Pot Cookbook was so popular.

It’s hearty winter comfort food that is packed with bold and rich flavors but is sneakily healthy. It’s impressive enough to serve as a holiday main dish, but works great for any cold weather dinner.

This lentil shepherd’s pie starts with a sticky, umami-packed lentil and onion filling. It gets topped with a buttery mashed potato-cauliflower topping, then baked in the oven until perfectly golden brown. It’s a community favorite adored by both vegans and omnivores alike!

In this post:
1. Ingredients in Lentil Shepherd’s Pie
2. Step-by-step Instructions
3. Tips for making this recipe
4. Frequently Asked Questions
5. Video: How to make Vegan Shepherd’s Pie

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

Ingredients in Lentil Shepherd’s Pie

A traditional shepherd’s pie fillings contain onions, carrots, celery, peas, and of course meat (typically lamb).

My plant-based version starts with brown (or green) lentils and onions, which get cooked down until beautifully browned, alongside plenty of garlic. These ingredients pack in so much savory depth of flavor that there’s no need for carrots and celery. Also, I hate mushy peas.

A few other ingredients help take this recipe over the top:

  • Tomato Paste gets cooked down, bringing a subtle tangy sweetness and amping up the umami.
  • Red wine enhances the meaty earthiness of the lentils (see FAQ below for substitutes if you can’t have red wine).
  • Tamari (or soy sauce) and vegan Worcestershire sauce (optional) add additional bold savoriness.
  • Balsamic vinegar brings a slight sweet tang that balances everything out.
  • And tahini adds a nutty creaminess that pulls the filling together

As for the mashed potato-cauliflower topping, I prefer Russet Potatoes because their high-starch content makes for the fluffiest mashed potatoes. This is especially useful to balance the cauliflower, which is not starchy.

Step-by-step Instructions

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 fresh herbs and cook for 2 minutes.

ad for meal plans program with picture of woman with button

Add the tomato paste and cook until darkened (2-3 minutes), then stir into the onions.

Deglaze the pan with the red wine. Cook for 3-4 minutes until the mixture is jammy.

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

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

Stir well until the lentils are creamy and thickened.

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.

Add the vegan butter, plant milk, nutritional yeast, salt and pepper to the boiled cauliflower and potatoes. Use a potato masher or ricer (or an electric mixer on low speed) to mash until smooth.

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

Bak for 20 minutes at 375°F/190°C. Afterwards, pop under the broiler for a few minutes for extra browning on top.

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

Tips for making this recipe

How to avoid a watery mashed potato-cauliflower topping.

  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. Push down and squeeze out as much water as you can. There will be a lot more water than you think! Or wrap the cauliflower in a clean dish towel and tie it up. Then squeeze it into a ball and wring out all of the excess water.

How to make this recipe more indulgent (great for a holiday meal).

  1. If you taste the mashed potato filling and think it needs a bit more buttery goodness, add some more a little more vegan butter!
  2. Or just use all potatoes and skip the cauliflower. My Miso Butter Mashed Potatoes take this recipe over the top.

How to make this recipe as efficiently as possible.

  • First, prep the lentil filling ingredients. Second, prep the topping ingredients.
  • Third, start cooking the lentil filling. While that’s simmering, boil the potatoes and cauliflower + preheat the oven.
  • Next, drain and dry the potatoes & cauliflower. And make the mashed potato-cauliflower topping.
  • Assemble the shepherd’s pie and bake it off.
slice of vegan lentil shepherd's pie on 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 do you recommend for the topping?

I recommend Russet potatoes when I make the topping with cauliflower. They are fluffier and work better with the cauliflower than, say, Yukon Golds. But if you make a mashed potato-only topping, either variety works great.

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 again in the 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 and reheat shepherd’s pie? Can you freeze it?

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 should I serve this shepherd’s pie with?

A hunk of rustic multigrain bread or sourdough
A fall or winter salad like this Roasted Butternut Squash Kale Salad or this Kale and Brussels Sprouts Salad
Steamed or lightly sauteed broccoli or green beans

closeup of vegan shepherd's pie in a skillet

Watch! How to make Lentil Shepherd’s Pie

My YouTube 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 love this Lentil Shepherd’s Pie recipe, be sure to rate and review the recipe below :)

The Best Vegan Lentil Shepherd’s Pie

5 from 525 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 plant-based dinner. The perfect healthy comfort food for winter!
Prep Time: 15 minutes
Cook Time: 1 hour 30 minutes
Total Time: 1 hour 45 minutes
Course: Dinner
Cuisine: English
Diet Vegan
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.
  • Note: if you want the pie to solidify more, allow it to rest for at least 20 minutes in the pan.
    Store any leftovers in an airtight container in the fridge for up to 4 days.


* If you do not consume alcohol, 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.
**** Vegan worcestershire sauce brands: Annie’s Homegrown, Whole Foods 365, Sprouts, Simple Truth, O Organics. 
***** If allergic to coconut, use full-fat unsweetened oat milk. 
Tip: 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. 

Calories: 360kcal | Carbohydrates: 49g | Protein: 15g | Fat: 12g | Saturated Fat: 2g | Polyunsaturated Fat: 4g | Monounsaturated Fat: 5g | Trans Fat: 1g | Sodium: 1432mg | Potassium: 1040mg | Fiber: 15g | Sugar: 7g | Vitamin A: 842IU | Vitamin C: 41mg | Calcium: 79mg | Iron: 5mg

Did you make this recipe?

Tag @rainbowplantlife and hashtag it #rainbowplantlife

4.95 from 525 votes (196 ratings without comment)

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

715 comments on Vegan Lentil Shepherd’s Pie

  1. Helen

    5 stars
    It was delicious and enjoyed by all as we celebrated the birth of our first grandson.The web pages kept on jumping around on my iPad, so the instructions weren’t easy to follow but I’m glad I persevered.

    1. Kaitlin @ Rainbow Plant Life

      Hi Helen, thank you so much for trying the recipe! We’re happy it was loved by all. In the future, feel free to click the “print recipe” button to go to an ad-free page that won’t skip around!

  2. Ruth H

    5 stars
    This is really delicious!!! Children and adults loved it.

    1. Kaitlin @ Rainbow Plant Life

      Your positive feedback is the best reward for our hard work. Thank you, Ruth!

  3. Rebekah

    5 stars
    Hands down delicious. I found the suggestions really helpful too

    1. Kaitlin @ Rainbow Plant Life

      We’re delighted to hear you found the blog post useful, Rebekah! Thanks for sharing!

  4. Andy Hook

    5 stars
    My family just love this flavour packed hearty recipe! This time I added a finely chopped carrot and some black beans – just as yummy. Thanks Nisha!

    1. Kaitlin @ Rainbow Plant Life

      We appreciate your feedback and support, Andy. Thank you for leaving a review!

  5. Eva

    this sounds delicious! we are not vegan or vegetarian but love lentil dishes.
    we are not very keen on rosemary and thyme though, would parsley be okay? or better just to leave it out? sage is not that widely available, i’ve never seen it a lot.

    1. Kaitlin @ Rainbow Plant Life

      Hi Eva, thanks! Since you don’t enjoy rosemary and thyme, feel free to omit these flavors. Before serving, you can add freshly minced parsley.

  6. M.

    5 stars
    I stumbled across your website and, seeing thw great reviews, I decided to try and make your sheperd pie. O M G!! So flavourful, delicious!!
    I’m saving the recipe so I’ll make it in rotation!
    Looking forward to try more of your recipes!
    Well done, even the kids loved it!

    1. Kaitlin @ Rainbow Plant Life

      Your review made our day, M! Welcome to the site! :)

      Thank you for taking the time to share your thoughts and for trying out the recipe.

  7. Dani

    5 stars
    Absolutely delish. What is the calorie content?

    1. Kaitlin @ Rainbow Plant Life

      We’re delighted you’re such a fan of the shepherd’s pie, Dani! You can find the nutritional info per serving at the bottom of the recipe card on the blog post. Cheers!

  8. Christine Woodward

    5 stars
    Goodness me What a rich blend of flavour and such comfort food We loved it Who needs meat with this amazing pie Simply delicious Will become one of my staples 🙏

    1. Kaitlin @ Rainbow Plant Life

      Hi Christine, Thank you so much for such a fantastic review! Appreciate you taking the time!

  9. Adam

    Hi there! Making tonight. Can i make it earlier in the day, and then put it in the oven for the last step before my guests arrive?

    1. Kaitlin @ Rainbow Plant Life

      Hi Adam, sorry if we are a bit late! We’d suggst prepping everything separately and combining when you’re ready to cook. How did it come out?

      1. Adam

        5 stars
        Phew, I did this! turned out great, and passed recipe on to friends. Thank you for the reply!

        1. Kaitlin @ Rainbow Plant Life

          Awesome to hear! :)

  10. Ally

    5 stars
    Another amazing recipe. I added an eggplant as I added the garlic and herbs and cooked it down an extra 10 minutes. I also added some leftover vegan shiitake bacon that added even more umami flavor. I’d make the lentils on their own!

    1. Kaitlin @ Rainbow Plant Life

      Thanks for the lovely feedback, Ally!

    2. Daria

      3 stars
      How come my lentils hasn’t cooked ???

      1. Kaitlin @ Rainbow Plant Life

        Hi Daria, could your lentils have potentially been old? Old lentils take much longer to cook.

  11. Sylvia

    5 stars
    Made this for guests who are not vegan and it disappeared! It was delicious! Can it be frozen beforehand?

    1. Kaitlin @ Rainbow Plant Life

      Hi Sylvia, great to hear the recipe was a hit! We haven’t tested this at RPL kitchen. Unfortunately, I don’t think this dish would be good if frozen beforehand. The mashed potatoes will form ice crystals and even after thawing will probably lead to a less than favorable texture, a soggy, mushy or grainy texture. I’m sorry and I hope you continue to enjoy this delicious recipe!

  12. Rachele

    5 stars
    Amazing recipe, thank you Nisha! Can’t wait for your new book

    1. Kaitlin @ Rainbow Plant Life

      Thanks for the kind words, Rachele! We can’t wait for you to see it either. :)

  13. Luella Jonk

    5 stars
    It was delicious. I made it twice, the second time even better.

    1. Kaitlin @ Rainbow Plant Life

      Woohoo, those words are music to our ears, Luella! :)

Development Alchemy + Aim