Pre-heat your oven to 180℃ / 350℉ fan-forced (about 10 minutes before you are ready to bake the lasagne).
I personally like to soak all legumes overnight in water with a splash of vinegar, so do this with the puy lentils if you like (you don't have to, but I'd recommend it).
I used my Thermomix to do all the chopping, but you can easily use a regular food processor or grate/ finely dice all the veggies by hand. No need to wash or rinse the food processor in between each step too.
In a food processor or Thermomix chop your garlic. If using a Thermomix, 5 secs, speed 5 and then add onion 5 secs, speed 4.
Heat a large pan over a low heat and add the olive oil (or you can use ghee or butter if not vegan). Add the chopped garlic/onion and gently sauté whilst processing the other veggies.
Now pop the celery, carrots and zucchini into your food processor and pulse to chop - you are looking for a course consistency so be careful not to over process. If using a Thermomix use the turbo button, quick pulses until the right consistency, about 2-3 should do it look through the lid after each pulse. Alternatively grate the carrot and zucchini and finely dice the celery. Add this to the pan with the onion.
Sauté for a few minutes with the bay leaves and thyme leaves.
Pulse the mushrooms in the food processor until just chopped. If using a Thermomix pulse 1-2 times.
Add them to the pan with the Puy lentils, tomato paste, stock and diced tomatoes. Season, stir to combine and allow to simmer with the lid ajar, stirring occasionally, until the sauce thickens and the lentils are cooked. This will take about 30 minutes.
Once cooked, add the chopped spinach and stir though to wilt it. Taste, adjust the seasoning if you need to (salt brings out the flavour so don't be shy). Remove from the heat and set aside.