Blend the tofu, lemon juice, nutritional yeast, garlic, basil, and salt in a food processor. Process for about 2 or 3 minutes, until the mixture is thick and looks like ricotta cheese. Add a little water, a teaspoon at a time if the mixture is too thick. Add the spinach and pulse until it’s mixed in.
Make the Lasagna
Heat the oil in a large pan over medium-high heat. Cook the onion, stirring frequently until it begins to brown, about 5 minutes. Add the mushrooms and cook until they’re soft, about 5 more minutes.
Spoon one-quarter of the tomato sauce over the bottom of a casserole dish. Layer 1/3 of the noodles over the sauce. Spoon half the ricotta over the noodles followed by half of the mushrooms. Then spread quarter of the tomato sauce over the top. Cover with 1/3 of the noodles and repeat with the rest of the ricotta and mushrooms. Spread on another quarter of the sauce on top. Cover with the rest of the noodles and spread the rest of the sauce over the top.
Cover with foil and cook for 30 minutes. Remove the foil and sprinkle the vegan cheese over the top, if using. Bake for another 15 minutes.