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 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.
How to make a healthier vegan shepherd’s pie
As you might have noticed in the title, 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.
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.
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..
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.
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.
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!
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.
Omit the cauliflower and sub in more potatoes in the topping.
If you taste the mashed potato filling and think it needs a bit more buttery goodness, add some more a little more vegan butter!
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.
Frequently Asked Questions about Shepherd’s Pie
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
More cold-weather vegan comfort food
In the mood for even more cold-weather vegan comfort food? Give these recipes a try:
- Creamy Lentil Stuffed Butternut Squash
- The Best Vegan Mashed Potatoes
- Thai Butternut Squash Chickpea Curry
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!
- 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.