Bring a large pot of salted water to a boil, then add the lasagna noodles and cook until just al dente, about 8-10 minutes. Drain and set aside.
In a skillet, heat olive oil over medium heat. Add chopped onion and sauté until translucent and fragrant, about 5 minutes. Add minced garlic and cook for another minute until aromatic.
Add crushed tomatoes to the skillet with the sautéed aromatics. Stir in dried oregano, salt, and pepper. Let simmer on low for 20-25 minutes until thickened and fragrant, stirring occasionally.
Meanwhile, drain soaked cashews and blend them with lemon juice, nutritional yeast, a pinch of salt, and a splash of water until smooth and creamy. Adjust the consistency with more water if needed, and taste to tweak lemon or yeast for flavor.
Once the tomato sauce is ready, add the fresh spinach and cook just until wilted, about 2 minutes. Remove from heat and set aside.
To assemble, spread a thin layer of tomato sauce at the bottom of the baking dish. Place a layer of cooked noodles over the sauce, then spread some cashew cheese evenly. Sprinkle with shredded vegan mozzarella.
Repeat the layers—sauce, noodles, cashew cheese, mozzarella—until all ingredients are used, ending with a top layer of sauce and cheese for a bubbly, golden finish.
Cover the dish tightly with aluminum foil and bake in a preheated oven at 180°C (350°F) for 30 minutes. Then, remove the foil and bake for an additional 10 minutes until the top is bubbly and golden brown.
Once baked, let the lasagna rest for at least 10 minutes. This helps it set and makes slicing easier without collapsing the layers.
Garnish with fresh basil leaves, slice into portions, and serve warm. Enjoy the cheesy, comforting layers with family or friends.