Disclosure: This post may contain affiliate links. I may earn a small commission for my endorsement, recommendation, testimonial, and/or link to any products or services from this website.
Inspired by classic cottage pie, this Hearty Vegan Shepherd’s Pie features a savory lentil, mushroom, and veggie filling and creamy mashed potatoes on top. It’s the ultimate vegan comfort food! Vegan, Gluten-Free and Oil-Free Options.
This Vegan Shepherd’s Pie Recipe is one of my all-time favorite comfort foods, and for good reason. It has everything you could possibly want in a soul-warming winter classic: a hearty lentil and mushroom filling, addictive umami flavors, and buttery mashed potatoes. Add it to your weekly dinner menu for an affordable, satisfying casserole that both vegans and non-vegans will love!
Table of Contents

From Cottage Pie to Shepherd’s Pie: A Humble History
Did you know that shepherd’s pie has been around since 1791? This was back when it was first known as “cottage pie” in the UK. The term “shepherd’s pie” didn’t come around until 1854, even though the dish still strongly resembled the original cottage pie. The only difference is that the traditional minced beef was replaced with minced lamb (a fitting name since shepherds tend to lamb).
While you won’t find any beef or lamb in my Vegan Shepherd’s Pie, you will find all of the comforting flavors from the traditional recipe!
My 100% meat-free lentil shepherd’s pie is made with an herbaceous, savory, and cozy lentil mushroom filling and a buttery mashed potato topping. Baked until bubbly and golden, each scoop feels like a warm hug. Make it for a cold-weather dinner, during the holidays, or anytime you’re craving something cozy that sticks to your ribs.
Ingredients for Vegan Lentil Shepherd’s Pie
This is the best vegan shepherd’s pie recipe because simple and budget-friendly staples are all it takes to give it its rich and comforting flavors! These are the key items you’ll need:

- Potatoes: the mashed potato topping is made from boiled Russet potatoes mashed with vegan butter, non-dairy milk, nutritional yeast, garlic powder, salt, and black pepper. I found that the higher starch content in the Russet potatoes yielded a lighter and fluffier mash compared to mashed potatoes made from Yukon gold or red potatoes.
- Non-Dairy Milk: for the very best mashed potatoes, use a rich and creamy plant-based milk. A can of full-fat coconut milk, full-fat oat milk, or cashew milk all work best. Almond milk does not work here because it’s too thin and will make your mashed potatoes watery.
- Mushrooms: sliced and sautéed cremini mushrooms add another layer of umami to the filling. If you’re not a mushroom fan, just replace them with extra cooked lentils or another veggie, like diced carrots, parsnips, zucchini, or cauliflower.
- Vegan Worcestershire Sauce: while this is technically an optional ingredient, I highly recommend seeking it out! Its powerful umami flavor and hint of tang from tamarind and vinegar take the filling to another meaty level, just like it does in my Vegan Meatballs and Mushroom Pot Pie recipes.
- French or Brown Lentils: I prefer to use cooked French lentils because I like their small size and firm texture. Brown lentils are the next best option, even though they’re a little softer. Canned French or brown lentils work just as well as a freshly cooked batch of dried lentils, but you’ll want to drain, rinse, and dry them well before adding them to the filling in step 3.
- Frozen Vegetables: any blend of frozen veggies goes! If you don’t have a bag of frozen vegetables on hand, use 2/3 cup each of corn, diced carrots, and peas (and/or green beans if you’d like).
- Vegan Beef Broth: an imitation “beef” broth amps up the meaty flavors in the filling, helping it taste just like a traditional minced beef shepherd’s pie. I like Better Than Bouillon’s No Beef Base, but any vegan-friendly brand will work. Or, if you can’t find vegan beef broth, use vegetable broth or vegan chicken broth instead.
How to Make Vegan Shepherd’s Pie

- Cook the potatoes in a pot of boiling water until fork tender. Drain the water, then return the potatoes to the pot.
- Meanwhile, sauté the onion in a large pan until translucent. Stir in the tomato paste, then add the mushrooms, rosemary, thyme, parsley, black pepper, and salt. Sauté until the mushrooms have shrunk.
- Sauté the garlic, vegan Worcestershire, and flour in the pan. Add the lentils, vegetables, and broth and heat to a low simmer. Remove the pan from the heat.
- Mash the potatoes in the pot with the vegan butter, milk, nutritional yeast, garlic powder, salt, and black pepper until creamy.
- Transfer the lentil mixture to a casserole dish. Spread the mashed potatoes evenly over top. Use a fork to create a crosshatched pattern in the potatoes, then brush them with melted butter.
- Bake the shepherd’s pie until it’s bubbly, then finish it under the broiler to crisp the top. Let it cool slightly before serving.
Make this Recipe with Me!

Caitlin’s Cooking Tips
- How to cook French lentils: Add 1 1/2 cups of dried lentils to a pot with at least 5 cups of water. Bring to a boil, then simmer over medium-low heat until fork tender (about 25 to 40 minutes). Drain and let them cool completely before storing them in the fridge for up to 5 days.
- Cut down on prep time or food waste: There are two fantastic ways to save some time here: (1) Cook the lentils up to 5 days in advance and/or mashed potatoes up to 3 days in advance or (2) make this with the leftover cooked lentils or mashed potatoes already in your fridge. Pre-cooked lentils won’t turn to mush when they’re added to the filling and the leftover mashed potatoes will be easier to spread on top of the filling, so it’s a win-win!
- Don’t over mash the potatoes: Always mash the potatoes with a potato masher or run them through a potato ricer before folding in the seasonings. Over mashing (either by hand, with an electric mixer, etc.) will give you gluey mashed potatoes, and no one wants that.
- To prevent the mashed potatoes from sinking, let the filling cool slightly before gently adding dollops of the mashed potatoes on top. Then, carefully spread them into an even layer with a spatula or the back of a spoon. This will help the potato topping stay firm instead of melting into the filling.
Serving Suggestions
A chilly fall or winter evening is no match for this vegan lentil pie! It’s the ultimate cold-weather dinner that pairs perfectly with a slice of bread and some cooked vegetables on the side. Opt for these Garlic Green Beans, these Roasted Parsnips, this Winter Kale Salad, or any of your favorite light and flavorful vegan side dishes.
The warm and herbaceous flavors in this lentil shepherd’s pie also made it a perfect main dish for the holidays. Just like my Tofu Turkey Roast, it pairs so nicely with my Mushroom Stuffing, this Green Bean Casserole, this homemade Cranberry Sauce, and all of your other vegan Thanksgiving or Christmas favorites. Don’t forget the sweet potato pie and Christmas cookies for dessert!
If you’re looking for more cozy vegan main dishes, you’ll also love this Spicy Sausage Fennel Pasta, this Classic Lentil Soup, these Vegan Stuffed Peppers, and this Lentil Bolognese!
How to Store Leftover Shepherd’s Pie
Like traditional shepherd’s pie, this meatless version can be stored in the fridge for up to 5 days or in the freezer (unbaked) for up to 3 months. Defrost the frozen pie in the fridge for a day or two, then bake as normal until it’s warm and golden brown.
Reheat the leftover shepherd’s pie in a 400ºF oven or smaller portions in the toaster oven or microwave until heated through. If the mashed potato topping looks dry, pour a small splash of non-dairy milk over top and place a small pat of vegan butter in the middle. Both will help make the potatoes creamy and mouthwatering again.

Substitutions and Variations
- Oil-Free Option: I don’t love the idea of ditching the added fat (AKA flavor) from this recipe but there are a few ways to reduce the fat content if needed: (1) Sauté the lentil filling in a splash of broth or water, (2) replace the butter in the mashed potatoes with 1/4 cup homemade coconut cream or cashew cream, and/or (3) lightly spray the top with cooking spray before baking.
- Gluten-Free Option: Substitute the all-purpose flour with brown rice flour. Also, double-check that the broth and Worcestershire sauce are gluten-free, as some brands contain wheat products.
- Worcestershire Sauce Substitute: If you don’t have vegan Worcestershire sauce, add 1 extra tablespoon of tomato paste and 1 tablespoon of soy sauce or tamari to the filling.
- Optional Cheesy Topping: Sprinkle vegan cheddar or mozzarella cheese shreds over the mashed potato topping before baking for a gooey melted layer of cheese.

Recipe FAQs
The baked shepherd’s pie is best when it’s served the day it’s made. However, you can make the lentil filling and/or mashed potatoes up to 3 days in advance. Just store them in separate airtight containers in the fridge until ready to use.
The only significant difference between these hearty, savory pies is the type of meat used. Shepherd’s pie is traditionally made with minced lamb, while cottage pie is typically made with minced beef.
This can happen if the filling wasn’t simmered long enough. If the filling looks loose, just keep simmering it on the stove until it has the consistency of thick gravy.
Enjoy! If you make this recipe and decide to share it on Facebook or Instagram, don’t forget to tag me @FromMyBowl + #FromMyBowl! I would also love it if you could leave a comment below with a recipe rating! Thank you for the support 😊

Vegan Shepherd’s Pie
Ingredients
For the Potato Topping:
- 3 lbs. russet potatoes peeled and cubed (about 3-4 large)
- 4 tablespoons vegan butter divided (1/2 stick)
- 2/3 cup creamy non-dairy milk see notes
- 2 tablespoons nutritional yeast
- 1/2 teaspoon garlic powder
- 1/2 teaspoon kosher salt
- Freshly ground black pepper to taste (optional)
For the Filling:
- 2 tablespoons olive oil
- 1 medium yellow onion diced
- 6 ounces cremini mushrooms finely chopped
- 1/4 cup tomato paste
- 3 tablespoons flat-leaf parsley finely chopped*
- 1 tablespoon fresh rosemary minced*
- 1 tablespoon fresh thyme leaves*
- 1/2 teaspoon kosher salt
- 1 teaspoon freshly ground black pepper
- 1 tablespoon Vegan Worcestershire sauce Optional, but recommended
- 3-5 cloves garlic minced
- 2 tablespoons all purpose flour or brown rice flour for gluten-free
- 4 cups cooked green lentils see note
- 2 cups frozen vegetable blend* peas, carrot, and corn
- 1 1/2 cups imitation "beef" broth or sub vegetable broth
Instructions
- Prep: Cook the lentils, if you haven’t already. Peel and chop your potatoes first, then prepare the rest of the ingredients. Set a 9×13” casserole dish aside. Preheat the oven to 400F.
- Cook the Potatoes: Add the potatoes to a large pot or Dutch oven and cover with water. Bring to a boil over high heat, then reduce to medium-high heat and boil for 10 to 15 minutes, until fork-tender. Remove the pot from the heat, drain the potatoes well, and return to the pot to cool.
- Prep the Filling: In the meantime, warm the oil in a large sauté pan over medium heat. Add the onion and sauté onion 3 minutes, until translucent. Then, add in the tomato paste and stir it into the onion. Fry for an additional 3 minutes. Add in the mushrooms, rosemary, thyme, parsley, black pepper, and salt. Sauté for 3 to 5 minutes, until the mushrooms have reduced in size. Add the garlic, vegan Worcestershire (optional), and flour, then sauté for an additional minute. Finally, add in the lentils, vegetables, and broth. Mix well and bring to a low simmer, then remove from the heat and set aside.
- Mash the Potatoes: Add 3 tablespoons of the vegan butter, milk, nutritional yeast, garlic powder, salt, and black pepper (to taste) to the potatoes in the large pot. Mash well with a potato masher, then use a spoon or spatula to mix well, until you get a creamy uniform texture.
- Assemble: Transfer the lentil mixture to the base of the casserole dish, then dollop spoonfuls of mashed potatoes evenly over the mixture. Use a spatula to spread the potatoes evenly. Then, use a fork to create a wavy or crosshatched textured pattern over the top of the potatoes – this helps them brown more. Melt the remaining tablespoon of butter, then brush it over the top of the potatoes.
- Bake: If the casserole dish is full, place it on top of a baking dish when putting it in the oven, so it does not spill onto the oven base. Bake in the middle rack of the oven for 27 to 30 minutes, until bubbly. Transfer the casserole to the top rack of the oven and broil for 5 to 10 minutes, with the door slightly ajar, for a crispier finish. Let the shepherd’s pie cool (and set) for 15 minutes before serving. Serve warm; leftovers can be stored in the refrigerator for up to 5 days, and reheated in the oven, toaster oven, or microwave.
Recipe Video
Recipe Notes
- Lentils: I prefer to use French lentils because they are smaller and firmer, but brown lentils will work in a pinch. To cook your lentils, add 1 1/2 cups dried lentils to a pot with at least 5 cups of water. Bring to a boil, then simmer over medium-low heat until fork tender, 25 to 40 minutes.
- Herbs: FFresh herbs help to give this dish its best flavor, but you can also use dried. If you choose to do so, use 1 tsp fresh rosemary, 1 tsp dried thyme, and 1 tbsp dried parsley instead of the fresh measurements, as dried herbs are more potent.
- Milk: full-fat coconut or oat milk will work best for this recipe, but cashew milk will work well, too. I would advise against store-bought almond milk, as it’s rather thin and not creamy.
- Other Substitutions: Cremini mushrooms can be substituted with another variety, or replaced with an extra 1/2 cup of lentils if you don’t like them. If you aren’t using Worcestershire Sauce, add 1 extra tablespoon of tomato paste and 1 tablespoon of soy sauce or tamari along with the spices for a more balanced flavor.
- Frozen Vegetables: if you can’t find a frozen vegetable blend, use 2/3 cup each of corn, carrots, and peas. You could also add in some green beans, if you’d like!
- Make-Ahead: The lentil filling can be made up to 3 days before baking the shepherd’s pie and stored in the refrigerator until ready to use. I would recommend making the potatoes day-of baking.
- Low Fat / Oil Free: This recipe tastes best with the amounts of butter/oil as stated in the recipe. However, you can cut the oil in half, or reduce it in and sauté the filling in vegetable broth. Use 1/4 cup of coconut cream or cashew cream with the potatoes if you do not wish to use butter. You can skip brushing the potatoes with butter, or spray them with nonstick cooking spray before baking.
- This recipe is inspired by The Wholesome Dish








This was amazing, I only added some shredded mozzarella to the top of the potatoes and some Italian seasoning as a topping garnish. Sooo good !! Will definitely make again.
Happy you loved it, Tyse! Thank you so much.
We loved this recipe! Thank you!
AMAZING! My boyfriend (nonvegan)was incredibly impressed!!! This will be a staple now! It’s a bonus that it makes so much! It’s protein packed, flavorful, and not too much work. I made my lentils in an instant pot which made things easier. I think next time I will follow her note to prep the lentil filling a day ahead, or at least the lentils. I will recommend this to friends! So delicious!
Thank you so much, Ruby! I’m so glad you enjoyed the Shepherd’s Pie 🙂
Made this recipe last night and the whole family loved it!!! It’s hearty, satisfying, nutritious, comforting, and delicious. It’s also easy & pretty inexpensive. I used brown lentils because my local store did not have French- still came out great. Thanks for the recipe 🙂
So glad the whole family enjoyed! And good to know about the brown lentils, too!
This is an awesome recipe, I made it for last Thanksgiving and will be making it again next week. Excited to share with non vegan family 💚🧡
Thanks, Tami! Glad you enjoy the recipe 🙂
This is by far the best vegan version I’ve tried.
Fantastic!
This is so good!! I made it with a sweet potato topping and it came out great. I also added fennel seeds when I was sauteeing the onion and it was a really nice little pop of flavor. I would make this dish for someone who thinks they don’t like lentils. It’s so flavorful I think it would convert them!
So happy to hear that, Molly! They really might end up converting! 😉
We made the potatoes differently and had to sub some Prego for the tomato paste, but it still turned out delicious! Most of my family actually preferred this to the meat that was served (we had it on Christmas). This will definitely be a recipe we make again in the future. Thank you Caitlin!
You are so welcome! Glad you enjoyed it 🙂
AMAZING!!!! This is the first time my partner has asked for seconds on a vegan meal. This is for sure going to be a staple on our house and I am now on my way to Target to pick up your cookbook <3 Been a fan of yours for years and this is my favorite recipe yet!
Thank you so much for the support, Aly! ❤️
This was seriously one of the best meals I have enjoyed since going vegan. Thank you!
Wonderful, Jess! So glad to hear you enjoyed it. 🙂
Thank you so much for this hearty and delicious recipe! I enjoyed it last weekend with my sister and mum. We loved it very much! It’s really creamy and tastes sooo good!!!
Thank you so much for the feedback, Jules 🙂
Fantastic dish!!!!
Thank you, Lenore! 😊
Hearty and delicious – the height of vegan comfort food. After searching 3 grocery stores for French lentils I had to give up, so I used canned black lentils instead: they held up really well in the filling and weren’t mushy at all – yay! This will definitely be a repeat recipe. Thanks, Caitlin!
Yes, black lentils are a great sub because they are still pretty firm! Thanks for leaving a review Vienna 🙂
It was so easy to pull this pie together for our Thanksgiving dinner. I substituted the lentils with one package of Impossible Meat and it was amazing!
Oooh, I bet that WAS delicious! Thank you for leaving a review Briana 🙂
This was very easy to make and the flavors were great. My family loved this as our thanksgiving main dish.
That’s so good to hear! Thank you Julia 🙂
Just made this and it smells so good, can’t wait to try it. Tks for a delicious recipe!
You are so welcome! Hope you loved it 🙂
Girl, thank you! Finding your YouTube channel/blog has been a game changer for trying to get my family on board the vegan ship! This was so delicious! My hubs said we can have this once a week!🙌🏼 We already have your fried rice once a week with stir fry veggies! We’re on our way☺️
Wow Bethany, that’s exciting! I’m happy you found my YT channel/blog and I’m glad your family loves my recipes!💕
Hi Caitlin!
A Brits opinion (sorry we are rather direct!) Mushroom stock is a better alternative if you can get it. No corn over here in the dish it’s too sweet.
Cashew or oat milk is best for the mash and add a little dijon mustard or wholegrain it’s sooo tasty.
A tiny drop of dark soy sauce works wonders instead of worcester sauce if you don’t have any but it’s all personal preference. I like both!
We call cremini mushrooms chestnut mushrooms 😊
Other than that it’s pretty much the recipe I grew up minus the animal parts!
You’re feedback is appreciated, Sarah! Thank you.
Best vegan shepherds pie!! Great for a cozy Sunday family meal 🙂
Glad you liked it, Emilie!