Lentil Shepherd’s Pie

This is a straightforward lentil shepherd’s pie built around a simple vegetable base and a mashed potato topping. It’s filling, practical, and designed for batch cooking without much effort. I make this when I want something that feels like a proper dinner and holds up well for leftovers.

Why this recipe works

  • Uses staple ingredients and basic vegetables
  • Easy to scale for batch cooking
  • Oven‑finished, so minimal active cooking
  • Reheats well without losing structure

Lentil Shepherd’s Pie

A herby blend of lentils and potatoes baked into a savoury casserole that's sure to satisfy
A baked lentil and vegetable dish topped with mashed potatoes, suited to batch cooking and simple, filling meals.
Print
Prep Time 20 minutes
Cook Time 30 minutes
Total Time 50 minutes
Servings 4

Ingredients

  • 1 tsp oil
  • 2 large onions finely chopped
  • 400 g lentils tinned or cooked
  • ½ tsp dried sage
  • ½ tsp dried oregano
  • 2 cloves garlic crushed
  • Pinch cayenne pepper
  • Salt to taste
  • 2 kg potatoes peeled and boiled
  • 300 ml hot milk
  • Butter or margarine to taste
  • 200 g vegetarian cheese optional

Instructions

  • Preheat the oven to 200°C.
  • Heat the oil in a large pan and cook the onions for about 5 minutes until softened.
  • Add the lentils and cook for another 5 minutes.
  • Stir in the sage, oregano, garlic, cayenne, and salt. Set aside.
  • Mash the potatoes with the hot milk and butter until smooth.
  • Lightly oil an ovenproof dish and spread the lentil mixture across the base.
  • Spoon the mashed potatoes over the top and spread evenly.
  • Bake for 25 minutes until heated through.
  • (Optional) Top with cheese and finish under the grill until golden.

Variations & substitutions

  • Add carrots or celery to the lentil base for more texture
  • Use sweet potato mash instead of regular potatoes
  • Skip cheese for a lighter or vegan version

Storage & leftovers

Keeps for up to 3–4 days in the fridge and reheats well. Can also be frozen in portions.

If you like this, try: