Chop tofu and marinate in vegetable stock for one hour.
Saute onion and garlic in oil until clear.
Add tomato paste and crushed tomatoes.
Simmer for 35-45 minutes, stirring occasionally.
Slice eggplant then sprinkle with salt, then leave them for 20 minutes. Rinse the salt off and pat the eggplant slices dry.
Grill or fry the eggplant until tender.
Chop the peppers, and mushrooms, then saute in a little oil until tender.
Drain the tofu, then blend with spinach, pine nuts and basil in a food processor until creamy and smooth.
Mix the peppers and mushrooms with half of the tomato sauce.
In an oiled oblong baking tray, layer the lasagna sheets, followed by the tofu mixture, then the vegetable mixture, then the slices of eggplant, the tomato sauce and top with a handful of cheese. Repeat until all used up, then layer the final sheet of pasta on top, followed by anything leftover, and finally a layer of parmesan. Make sure that the lasagna sheets are completely covered with the tomato sauce or they will dry out during cooking.