Make the sauce:
In a large, heavy saucepan, heat the olive oil over medium heat. Place the onion in the saucepan and sauté until soft, about 5 minutes. Add the garlic; cook 5 minutes more.
Place the tomatoes, tomato purée, basil and parsley in the saucepan. Stir well, turn the heat to low and let the sauce simmer covered for 1 hour. Add the salt and pepper.
While the sauce is cooking bring a large kettle of salted water to the boil. Boil the lasagne sheets for 9 minutes, then drain and rinse well.
Preheat the oven to 200 C / Gas mark 6.
Place the tofu blocks in a large bowl. Add the garlic, basil, parsley, salt and pepper, and mash all the ingredients together by squeezing pieces of tofu through your fingers. Mix well.
Assemble the lasagne:
Spread 250ml of the sauce in the bottom of a 23x33cm (9x13 in) baking dish. Arrange a single layer of lasagne sheets, sprinkle 1/3 of the tofu mixture over the pasta. Distribute the spinach evenly over the tofu. Next ladle 375ml sauce over the tofu, and top it with another layer of the lasagne. Then sprinkle another 1/3 of the tofu mixture over the pasta, top the tofu with 375ml sauce, and place a final layer of lasagne over the sauce. Finally, top the lasagne with the final 1/3 of the tofu, and spread the remaining sauce over everything.
Cover with aluminium foil and bake the lasagne for 30 minutes. Serve hot and enjoy.