Cook the lasagna noodles in a large pot of salted boiling water for about 8-10 minutes until al dente. Drain and set aside, drizzling with a little olive oil to prevent sticking.
In a blender, combine the drained tofu, soaked cashews, lemon juice, nutritional yeast, garlic, a pinch of salt, and pepper. Blend until smooth and creamy, scraping down sides as needed. Taste and adjust seasonings if necessary.
Heat the olive oil in a skillet over medium heat. Add chopped onion and sauté until fragrant and translucent, about 3 minutes. Add crushed tomatoes, chopped basil, salt, and pepper. Simmer for 15-20 minutes until sauce thickens and flavors meld, stirring occasionally.
In a separate pan, wilt the fresh spinach over medium heat for about 2 minutes until just tender. Squeeze out excess moisture and roughly chop. Mix the wilted spinach into the tofu ricotta for extra flavor and texture.
Spread a thin layer of the tomato sauce on the bottom of your baking dish. Place a layer of cooked noodles over the sauce, then spread a generous layer of the tofu ricotta mixture on top. Repeat the layering process — noodles, sauce, ricotta, until all ingredients are used, ending with a layer of sauce on top.
Sprinkle nutritional yeast or vegan cheese on top for a golden finish. Cover the dish with foil and bake in a preheated oven at 180°C (350°F) for 35-40 minutes until bubbling and heated through.
Remove the foil and bake for an additional 5 minutes if you'd like a crispier top. Let the lasagna rest for at least 10 minutes before slicing—this helps it set and makes serving easier.
Slice into portions with a sharp knife, revealing the tender noodles, cheesy filling, and rich tomato sauce. Serve warm, garnished with fresh basil if desired, and enjoy a comforting, plant-based feast.