Vegan Shepherd's Pie with Lentil Filling

The plant-based Sunday dinner - a proper lentil ragu under a cloud of olive oil mashed potato

Vegan Shepherd's Pie with Lentil Filling

Shepherd's pie is Sunday dinner. It is the smell of something rich and savoury in the oven, the sight of a golden-crusted potato top that has crisped at the edges where it met the rim of the dish, the specific satisfaction of breaking through the mashed potato layer to the filling beneath. It is a dish that is associated, as strongly as any, with a particular kind of occasion - the unhurried Sunday, the gathered family, the meal that takes the afternoon and delivers something that earns it.

This plant-based version earns that occasion. Not a simplified version built from a tin of lentils and some frozen vegetables. A proper filling - Puy lentils and mushrooms slow-cooked with red wine, fresh thyme, porcini soaking liquid, and vegan Worcestershire sauce into a ragu with genuine depth. Topped with mashed potato made from floury potatoes, olive oil, and plant milk - a mash that is silky and light and flavourful and genuinely better than a butter-and-cream mash when made with the care this recipe requires.

It takes about 90 minutes from start to table, most of which is the oven doing the work. The active work is 30 minutes. The result is a dish that holds its own alongside any version.


The Filling: Why Puy Lentils

The lentil variety matters significantly in a shepherd's pie filling. Red split lentils dissolve completely into a mush - fine for soup, wrong for a filling that needs structure and individual piece-texture. Brown or green lentils hold their shape moderately well but can become slightly mushy with long cooking. Puy lentils (French green lentils) hold their shape firmly throughout the cooking process, producing individual lentils with a slight earthiness and a firm bite that adds textural interest to the filling.

The additional mushrooms - chestnut mushrooms sautéed until golden, and a small amount of dried porcini (with their soaking liquid) - provide the meaty umami depth that the filling needs to stand up to the rich mashed potato layer above it.

The red wine is not optional. It provides tannins and fruit depth that the filling cannot get from any other single ingredient - and as it reduces, it concentrates into the sauce and becomes the flavour backbone that distinguishes this filling from a lentil soup.


Ingredients

Serves 6 | Active time: 30 minutes | Total time: 1 hour 30 minutes

The Lentil Filling

  • 250g Puy (French green) lentils, rinsed
  • 20g dried porcini mushrooms, rehydrated in 200ml hot water (reserve all soaking liquid, strained)
  • 250g chestnut mushrooms, diced
  • 1 large onion, finely diced
  • 2 medium carrots, diced
  • 3 stalks celery, diced
  • 4 cloves garlic, minced
  • 2 tbsp olive oil
  • 2 tbsp tomato paste
  • 200ml red wine - full-bodied; Merlot, Cabernet, or similar
  • 400ml vegetable stock
  • 400g tinned whole tomatoes, crushed by hand
  • 2 tbsp vegan Worcestershire sauce - Henderson's Relish (widely available in the UK, naturally vegan) or Lea & Perrins vegan formula. Regular Worcestershire sauce contains anchovies.
  • 2 tbsp soy sauce
  • 4 sprigs fresh thyme
  • 2 bay leaves
  • 1 tsp smoked paprika
  • Salt and black pepper

The Olive Oil Mashed Potato

  • 1.2kg floury potatoes (Maris Piper, King Edward, or Russet) - floury potatoes produce the fluffiest mash; waxy potatoes produce a gluey, starchy mash
  • 80ml good extra virgin olive oil - the primary fat in the mash; use one with enough flavour to contribute
  • 100-150ml unsweetened oat milk or soy milk, warmed
  • 1 tsp fine sea salt
  • White pepper to taste
  • Optional: 2 cloves roasted garlic, squeezed into the mash - adds a sweetness that is particularly good here

Method

Step 1: Rehydrate the porcini

Place the dried porcini in a small bowl. Cover with 200ml of just-boiled water. Soak for 20 minutes. Remove with a slotted spoon, squeeze dry, and roughly chop. Strain the soaking liquid through a fine-mesh sieve - remove any grit from the bottom of the bowl.

Step 2: Build the filling base (15 minutes)

Heat 2 tbsp of olive oil in a large, wide pot or Dutch oven over medium-high heat. Add the onion, carrot, and celery. Cook for 8 minutes until the vegetables are very soft and beginning to colour.

Add the garlic and diced chestnut mushrooms. Cook for 5 minutes, stirring, until the mushrooms have caramelised and reduced in volume. Add the chopped porcini mushrooms and cook for 2 more minutes.

Add the tomato paste. Stir and cook for 90 seconds until it darkens slightly. Add the smoked paprika and stir for 30 seconds.

Step 3: Add the wine and simmer (40 minutes)

Pour in the red wine. Scrape the base of the pot. Let the wine reduce for 3 minutes until the alcohol smell has cooked off.

Add the crushed tomatoes, vegetable stock, strained porcini soaking liquid, vegan Worcestershire sauce, soy sauce, thyme sprigs, and bay leaves. Stir to combine.

Add the rinsed Puy lentils. Bring to a simmer, then reduce to a gentle simmer. Cook for 35-40 minutes, stirring every 10 minutes, until the lentils are completely tender and the sauce has thickened to a filling consistency - it should be thick enough to hold its shape when spooned, not watery or loose.

This is critical: A watery filling produces a soggy pie. The filling must be thick - almost dry-looking - before going under the mash. The potato topping provides moisture during baking; the filling should compensate by being drier than you might expect.

Remove the thyme sprigs and bay leaves. Season generously with salt and pepper. Taste and adjust - the filling should be deeply savoury, slightly smoky, and well-seasoned. It will taste slightly underseasoned at this stage because the mash topping is unsalted - they will balance in the finished pie.

Step 4: Make the mashed potato (20 minutes)

Peel and cut the potatoes into even-sized chunks. Place in a large pot of cold, generously salted water. Bring to a boil and cook for 15-18 minutes until a fork slides through without resistance.

Drain thoroughly. Return to the pot over low heat and shake gently for 1-2 minutes to drive off excess moisture - wet potatoes produce watery mash.

The ricing step: Pass the cooked potatoes through a potato ricer or food mill into the pot. This is the step that produces silky, lump-free mash without overworking the potato starch (which produces gluey mash). A potato masher works but produces a slightly less smooth result. Never use a food processor - it overworks the starch catastrophically.

Add the warm oat milk in two additions, folding gently after each. Add the olive oil in a steady stream, folding until fully incorporated. Season with salt and white pepper. The mash should be smooth, silky, and rich - it should hold its shape when spooned but not be stiff.

Step 5: Assemble and bake

Preheat the oven to 190°C (fan). Transfer the lentil filling to a large baking dish (approximately 30×22cm) or individual serving dishes. Spread evenly.

Spoon the mashed potato over the filling in large mounds. Using the back of a spoon or a spatula, spread the mash to cover the filling completely, reaching the edges of the dish to seal the filling beneath.

For the decorative surface: Use a fork to create ridges across the surface of the mash - these ridges brown more deeply than the smooth surface, producing a visually distinctive and texturally superior crust.

Bake for 25-30 minutes until the potato topping is golden at the ridges and edges, and the filling is bubbling at the sides where it meets the dish.

Rest for 10 minutes before serving - the filling settles and the portions are cleaner.

Step 6: Serve

Serve in the baking dish at the table, scooped into bowls or onto plates. Accompany with:

  • Steamed peas or green beans
  • A simple green salad
  • Gravy - see below

The Gravy (Optional but Excellent)

Ingredients:

  • 300ml rich vegetable stock or the saved porcini soaking liquid from the filling
  • 1 tbsp vegan Worcestershire sauce
  • 1 tbsp soy sauce
  • 1 tbsp cornflour dissolved in 2 tbsp cold water
  • 1 tbsp olive oil
  • Salt and pepper

Method: Combine stock, Worcestershire sauce, and soy sauce in a small saucepan. Bring to a simmer. Stir in the cornflour slurry. Simmer for 2 minutes until thickened and glossy. Finish with olive oil for gloss.


Make-Ahead Notes

The filling: Makes excellent advance prep. Cook the filling completely, cool, and refrigerate for up to 3 days. The flavour improves overnight. Reheat gently before topping with mash.

Assembled but unbaked: Assemble with mash topping, cover tightly with foil, refrigerate for up to 24 hours. Bake from cold, adding 10-15 minutes to the baking time.

Freezing: Freeze the assembled, unbaked pie for up to 3 months. Thaw overnight in the refrigerator. Bake covered for 30 minutes, uncovered for 20 minutes.


Variations

With Sweet Potato Topping

Replace the regular mashed potato with mashed roasted sweet potato (800g sweet potato, roasted at 200°C for 45 minutes until very soft, scooped and mashed with olive oil and smoked paprika). The sweet potato topping adds warmth and a slight sweetness that pairs particularly well with the smoky filling.

With Puy Lentil and Butternut Squash Filling

Add 300g of butternut squash (2cm cubes, pre-roasted for 20 minutes) to the filling in the final 5 minutes of simmering. The squash adds sweetness and a different texture - some pieces break down slightly into the sauce, others remain as distinct chunks.

Individual Serving Pies

Divide the filling and mash between individual ovenproof ramekins or small casserole dishes. Bake for 20 minutes. Individual pies are more visually striking and allow for personalisation of toppings.


Pro Tips

  • The filling must be thick before assembly. A filling that is watery or loose before the mash goes on will produce a soggy, structureless pie. If it is too wet, simmer uncovered for 10 more minutes until it thickens. The test: spoon some filling onto a cold plate. If liquid pools around it within 30 seconds, it is too wet.
  • Rice the potatoes while hot. Potatoes that have cooled before ricing become gluey and difficult to work with. Rice immediately after draining and steam-drying.
  • Warm the plant milk before adding. Cold liquid added to hot mashed potato produces lumps and a slightly gluey texture. Warm the oat milk in the microwave for 60 seconds before folding in.
  • The fork ridges are not decoration. The ridged surface of the mash has significantly more surface area than a smooth surface - more surface area means more Maillard browning, which means more flavour and a better crust. Always ridge the surface before baking.

Common Mistake: Using Waxy Potatoes for the Mash Waxy potatoes (Charlotte, Jersey Royal, new potatoes) have a higher moisture content and less starch than floury varieties. In mash, this produces a dense, slightly gluey, sticky result rather than the light, fluffy mash that a shepherd's pie needs. Always use a floury variety - Maris Piper, King Edward, Russet, Desiree. The variety name is usually on the bag; in any good supermarket, floury potatoes are labeled as such.


FAQ

Q: Can I use brown or green lentils instead of Puy?

Yes - brown or green lentils produce a slightly softer, less distinctly flavoured filling but work well. They may need slightly less cooking time (check from 25 minutes). Red split lentils should not be used - they dissolve into a purée rather than maintaining distinct pieces.

Q: Can I add more vegetables to the filling?

Yes - mushrooms, peas, parsnips, turnip, and swede all work in the filling alongside the lentils. Add denser vegetables (parsnip, swede) with the carrots at the beginning. Add tender vegetables (peas, spinach) in the final 5 minutes of simmering.

Q: My mash is gluey. What went wrong?

Either the potatoes were overworked (a food processor or vigorous mashing breaks down the starch cells and releases gel-forming starch) or waxy potatoes were used. For gluey mash that has already been made: there is no recovery. For next time: use floury potatoes, pass through a ricer rather than mashing, and fold the liquid in gently rather than beating.


🔗 Continue Cooking