Vegan Lasagne with Lentils & Spinach Pesto

As you know I’m naturally drawn to spices, Indian and middle eastern food which means I sometimes forget just how delicious mediterranean and I particularly Italian flavours can be. But I love a really good and rich tomato sauce with good quality olive oil and sourdough, and pizza of course. But it’s been absolutely years since I last ate or made lasagne.
My mum used to make a rather good one but I’d forgotten just how delicious the melting layers of veggies, pasta and ‘cheese’ sauce could be.
The other day I decided to remedy that and I have a pretty special recipe for you here. A gorgeous lasagne packed with veg, red lentils, a creamy ‘cheese’ sauce and to make it really special – layers of delicious spinach and walnut pesto. So good!

It’s takes a little more time to make the component elements but it’s very easy and definitely worth it. I made this for my friends the other night and they loved it – I can rely on them to give honest (very honest) feedback so I think it’s a winner.
I’d love to hear what you think x



  6-8 servings
  40 minutes preparation time
  30 minutes cook time


For the tomato & lentil filling;

  • 2 onions chopped roughly
  • 4 cloves garlic sliced
  • 1 courgette sliced finely
  • 2 red peppers chopped
  • 4 large mushrooms sliced
  • 5 large ripe tomatoes roughly chopped
  • 1 cup red lentils washed well
  • 1 cup water
  • 1/2 tsp ancho chilli flakes or red chilli flakes
  • 1/2 tsp coconut sugar (or sugar or choice)
  • 1/2 tsp sea Salt
  • Black Pepper

For the Cheesy Béchamel sauce

  • 2 tbsp vegan butter
  • 1/3 cup plus 1 tbsp cup plain flour
  • 2 cups almond milk
  • 3 -.4 tbsp nutritional yeast
  • Big pinch sea salt
  • Twist black pepper

For the pesto;

  • 3/4 cup walnuts
  • 1/4 cup toasted pinenuts or an additional 1/4 cup walnuts for a pinenut free version
  • 2 handfuls spinach
  • 1 handful basil
  • Juice 1/2 lemon
  • 1 tsp sea salt
  • 1 clove garlic
  • 3 tbsp nutritional yeast
  • 2 tbsp olive oil
  • 1/3- 1/2 cup water

Top with;


To make the tomato & lentil filling;

  1. Add your oil and onion to a wide bottom pan and fry gently on a low heat for around 10 minutes until soft and browning.
  2. Add the garlic and fry for 30 seconds more then add the peppers, courgette and mushroom. Fry for a futher couple of minutes.
  3. Add the tomatoes, lentils, water and sugar to the pan and cook on a low heat for 25 minutes (covered).
  4. Add the salt, black pepper and chilli flakes to the pan and simmer for a further 5 minutes

To make the Cheesy Béchamel sauce

  1. Add the butter to a frying pan and melt on a low heat then add the flour. Stir to combine well.
  2. Next add the almond milk, and nutritional yeast. Simmer for 5 minutes, stirring constantly to ensure no lumps form.
  3. Finally season well and remove from the heat.

To make the pesto;

  1. Add all the ingredients to your food processor or high speed blender and blitz until everything is combined to the texture you prefer. You may need to scrape the sides down a few times.

To make the lasagne

  1. In a medium roasting dish (I used a 25cm) – Layer the tomato veg filing then 3 lasagna sheets, then half the cheese sauce, top with pesto, then another layer of tomoato veg mix, 3 lasagna sheets, then the remaining cheese sauce (make sure to cover the edges of the lasagna sheets), and finally top pesto and either a sprinkle or vegan cheese or dollops of cashew cheese.
  2. Cover with foil and bake for 30 minutes on Gas mark 4/350 degrees.


  1. Cassie Thuvan Tran on May 13, 2018 at 4:56 am

    It has been quite a while since I have made lasagna myself, and I absolutely love it! I really want to experiment with eggplant and zucchini lasagna sometime. I absolutely love your pesto recipe as well–so fresh and beautiful!

    • Niki on May 15, 2018 at 4:51 pm

      So glad you like it Cassie!
      I’d totally forgetten how good it is!
      Lots of love
      Niki xx

  2. hayley on May 14, 2018 at 11:39 pm

    This looks amazing! I’m going to try and work out how to sub the tomatoes and peppers and make a version of it.

    • Niki on May 15, 2018 at 4:49 pm

      Hi Hayley
      You could sub them for some veg stock. Ie put 1.5 – 2 cups of veg stock instead of the tomatoes, peppers and water.

      Love Niki x

      • Hayley on June 13, 2018 at 10:48 pm


  3. Nathalie on May 15, 2018 at 2:49 pm

    Looks so yum! When do you add he red pepper, zucchini, and mushroom to the onion/garlic mixture?

    • Niki on May 15, 2018 at 4:50 pm

      Hi Nathalie
      So sorry! Just add after cooking the opion and garlic. I’ll amend.
      Best wishes
      Niki xx

  4. Katie on May 24, 2018 at 8:28 pm

    Looks sooooo good ! I can’t eat onions, would you leave them out or any substitutes you recommend?

    • Niki on May 26, 2018 at 6:43 am

      Hi Katie
      Can you eat leeks? That would work really well.
      Otherwise I would just omit them.
      Love, Niki xx

  5. sascha on August 29, 2018 at 9:22 pm

    I added eggplant and used black lentils instead and ooooooomg this was the bomb! Loved the béchamel sauce and pesto, they worked so well together. And just the richness and variety of flavors is amazing! Thank you for this recipe 🙂

    • Niki on August 29, 2018 at 10:41 pm

      Hi Sascha
      Absolutely love your additions!
      So glad you liked.
      Niki xx

  6. Raw at 50 on September 16, 2018 at 7:37 pm

    […] Vegan Lasagne with Lentils & Spinach Pesto […]

  7. Sarah on October 15, 2018 at 11:31 pm

    What kind of lasagna noodles did you use? did you cook them first? Would love to make this for my clients.

    • Niki on October 18, 2018 at 7:45 pm

      Just standard lasagne sheets (without egg).
      No need to pre cook.

Leave a Comment

Subscribe to my Newsletter

Subscribe and receive a free download of my SuperSix recipe book.

The products, recommendations and 3rd party links on are my genuine recommendations.  I only work with people, companies or brands who fit my ethos. I am a qualified health coach, but the recipes and articles on should not be used to diagnose or treat a specific health or medical condition.