Preheat the oven to 400°F (204°C).
Heat a little olive oil in a non-stick frying pan over medium heat; add the chopped onion and cook until glossy, about 5 minutes.
Add the chopped garlic to the pan and cook 1–2 minutes until fragrant.
Stir in the chopped tomatoes, tomato puree, paprika, oregano, basil, salt, and pepper; simmer for about 5 minutes to make the marinara sauce.
While the sauce simmers, prepare the cashew white sauce: drain soaked cashews and combine in a blender with 1/2 cup dairy-free milk, 1 clove garlic, 1 Tbsp nutritional yeast, nutmeg (if using), salt, and pepper; blend until smooth and creamy.
Press the firm tofu to remove excess water, then crumble it into a mixing bowl with your fingers.
Add the cashew white sauce to the crumbled tofu and mix thoroughly to form the spinach ricotta base.
Finely chop or pulse the washed fresh spinach in a food processor and fold it into the tofu mixture until evenly distributed.
Spoon a thin layer of marinara sauce into the bottom of a 9×7×2-inch (23×18×5 cm) oven-safe dish.
Layer the lasagna: place pasta sheets, spread a layer of marinara, then add a layer of the spinach-tofu ricotta; repeat the pasta→marinara→ricotta sequence so you have three stacked sets (about 3 layers) to fill the dish.
Finish with a top layer of marinara and sprinkle the dairy-free cheese or vegan Parmesan (or extra nutritional yeast) over the surface.
Bake the assembled lasagna in the preheated oven for 30 minutes, until heated through and the top is lightly browned.
Let the lasagna rest a few minutes before slicing and serving.