Go Back
+ servings
You won’t miss the meat in this hearty but healthy vegetarian lentil shepherd’s pie! A rich lentil and mushroom base gets topped with a creamy cauliflower and parsnip crust and is capped off with melted gruyere.
Print Recipe Pin Recipe

Lentil Shepherd’s Pie with Creamy Cauliflower Crust (Vegetarian, GF)

This shepherd’s pie is nourishing and nutritious, but it tastes darn right indulgent. A rich lentil and mushroom stew gets topped with a creamy cauliflower and parsnip puree and is then capped with a melted layer of Gruyere cheese. It’s a satisfying main course or a gorgeous side dish (it’s also great for potlucks, as it travels well and can be reheated). This recipe calls for packaged steamed lentils, which are a huge time saver. However, you can absolutely cook your own lentils—see the notes below for instructions. A touch of truffle oil lends umami richness, but you can omit it if preferred. Make sure your cauliflower is right around the two-pound mark for the best consistency in the topping.
Prep Time25 mins
Cook Time35 mins
Total Time1 hr
Course: Main Course
Cuisine: American
Keyword: healthy shepherds pie, lentil shepherds pie recipe, meat-free shepherds pie, vegetarian shepherds pie
Servings: 4 people


Cauliflower crust:

  • 1 garlic clove, peeled and smashed
  • 1 medium parsnip, peeled and finely chopped
  • ½ cup whole milk
  • 1 2- pound head cauliflower, cored and cut into florets
  • Salt
  • 3 tablespoons butter
  • 2 teaspoons fresh lemon juice


  • 2 tablespoons extra virgin olive oil
  • 1 medium onion, finely chopped
  • 2 medium carrots, finely chopped
  • 1 celery stalk, finely chopped
  • Salt and freshly ground black pepper
  • 8 ounces cremini mushrooms, sliced ¼-inch thick
  • 1 tablespoon tomato paste
  • 3 garlic cloves, minced
  • 2 teaspoons chopped fresh thyme
  • 1 ½ cups (9 ounces) cooked lentils
  • ½ cup dry red wine
  • ½ cup low sodium vegetable or chicken broth
  • ½ teaspoon sherry vinegar
  • Pinch sugar
  • 1-2 teaspoons truffle oil
  • 1 cup shredded Gruyere or Comté cheese


For the cauliflower crust

  • Place the garlic clove and parsnip in the bottom of a medium saucepan, and pour in the milk. Pile the cauliflower on top, and season with salt. Bring the milk to a boil over high heat. Reduce the heat to a simmer, cover and cook, stirring occasionally, until the cauliflower is very tender, about 20 minutes (while the cauliflower cooks, prep the filling).
  • Transfer everything from the pot (including the liquid) into a food processor and add the butter. Process until smooth and creamy. Add the lemon juice, and process to incorporate. Season with salt as needed.

For the filling

  • Preheat the broiler.
  • Heat the oil in a 10-inch cast iron or oven-proof skillet over medium-high heat. Add the onion, carrots and celery, and season with salt and pepper. Cook, stirring occasionally, until the vegetables are tender, about 5 minutes.
  • Add the mushrooms, and season with more salt and pepper. Cook, stirring occasionally, until the mushrooms are softened, about 5 minutes. Add the tomato paste, garlic and thyme, and cook, stirring, until everything smells heavenly, about 1-2 minutes.
  • Stir in the lentils, and season with salt and pepper. Pour in the wine and bring to a boil, scraping up any bits from the bottom of the pan. Cook until the wine is almost completely evaporated, about 1-2 minutes. Add the broth and bring to a boil. Cook until slightly thickened, about 1 minute longer. Remove the pan from the heat, and stir in the sherry vinegar, sugar and truffle oil (to taste). Taste and season with salt and pepper as needed.
  • Spoon the cauliflower puree over the filling and spread in an even layer. Sprinkle with the cheese. Broil on the top rack until bubbling and golden, about 5 minutes. Let cool 5 minutes before serving.


  • The cauliflower puree can be made up to 1 day in advance. Bring it to room temperature before using.
  • To cook lentils, place 1 cup of green lentils (preferably Le Puy lentils) in a medium pot with 4 cups of water (feel free to add aromatics, such as a smashed garlic clove, a parsley sprig and/or a bay leaf). Bring the water to a boil, then reduce the heat to a simmer. Let cook 15-20 minutes, or until the lentils are tender but not mushy (they should still have a slight bite). Drain. (This will yield more lentils than you need for this recipe—use leftovers in salads or freeze them for meals down the line).