Peel and finely chop the onion and carrot. Saute in oil until vegetables are softened. Grate finely chop the drained and rinsed tofu. Drain and rinse the lentils.
Add the tofu to the pan with the vinegar and stir for five minutes more. Add the drained lentils and the tomato puree and water. Stir well, lower heat and simmer for 10-20 mins. Season to taste.
Meanwhile, to prepare the creamy topping mix together the soya milk and the tofu. Season to taste.
For the aubergine layer, slice the aubergine in 1/2 cm round slices.
To assemble, use a square baking dish. Put half the tomato sauce in the bottom and cover with half the aubergine slices. Repeat these 2 layers and finally pour the creamy topping over. Bake at 180 degrees C for about 20-30 minutes until topping is set and aubergines are soft.