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 degrees C.
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 1 cup of the sauce in the bottom of a 23x33cm 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 1 1/2 cups 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 1 1/2 cups 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.