Preheat oven to 190C / 375F / gas mark 5.
Sprinkle the sliced aubergine with salt and place onto kitchen towel for half an hour to absorb any liquid that the salt draws out.
Lay the aubergine slices on to a baking sheet and drizzle with olive oil. Bake in the centre of the oven for 10-15 minutes until soft.
In the meantime, in a large flat-bottomed sauce pan, fry the onion in the olive oil for 5 minutes or until starting to soften. Add the diced peppers and cook for another 5 minutes until the peppers are also beginning to soften and the onions are translucent.
Next add the garlic, dried herbs and spices, and puy lentils to the pan and cook for 2 minutes before adding in the mushrooms. Cook for 10 minutes until the mushrooms have released their liquid and it has evaporated away.
Add the red wine to the pan, followed by the tinned tomatoes and stock, then simmer while you make the bechamel sauce.
Place the non-dairy butter in a saucepan and warm gently until melted. Add in the flour to create a roux and cook on a medium heat for 1 minute, stirring well to make sure it forms a smooth paste.
Remove the pan from the heat and add just a few drops of the soy milk at a time, beating to incorporate it well each time. Make sure you only add the smallest amount of milk at a time otherwise lumps will form.
As the roux goes from a thick paste to a thick sauce you can add the milk in larger quantities.
Once half of the milk has been added blitz the remaining milk together with the silken tofu in a blender until it's completely smooth.
Pour the soy milk / silken tofu mix into the pan and stir until fully incorporated. Let this simmer until it is thick like custard.
Once all of your components have been cooked, you can begin to assemble the dish. Start by layering a few slices of aubergine in the base of your oven dish. Next spoon over some of the lentil and mushroom ragu. Repeat until all of the aubergine and ragu has been used up.
Finish by topping the dish with the bechamel sauce.
Bake in the oven for 45 minutes or until the top is golden brown.