Preheat the oven to 400°F (204°C).
Peel and finely chop the onion. Heat a little olive oil in a non-stick frying pan and cook the onion until glossy and softened, about 4–5 minutes.
Add 2 chopped garlic cloves to the pan and cook 1–2 minutes until fragrant.
Stir in the chopped canned tomatoes, sieved tomato puree, paprika, dried basil, dried oregano, salt and pepper; simmer for about 5 minutes to make the marinara.
While the sauce simmers, prepare the cashew white sauce: combine soaked cashews, 1 clove garlic, 1/2 cup dairy-free milk, 1 Tbsp nutritional yeast, nutmeg (if using), and salt and pepper in a blender and blend until very smooth and creamy.
Press the firm tofu to remove excess water, then crumble it into a large mixing bowl by hand.
Add the cashew white sauce to the crumbled tofu and mix thoroughly to create the spinach ricotta base.
Wash the fresh spinach leaves, chop them finely (a food processor works well), then fold the chopped spinach into the tofu-cashew mixture.
Assemble the lasagna in the prepared oven-safe dish: spread a thin layer of marinara on the bottom, then layer pasta sheets, marinara, and the spinach-tofu ricotta filling. Repeat the layering so you have three stacked sets (or until the dish is filled).
Finish with a top layer of marinara and sprinkle the dairy-free grated cheese, vegan Parmesan, or extra nutritional yeast over the surface.
Bake for 30 minutes at 400°F (204°C) until heated through and the top is lightly browned; remove from oven and let sit a few minutes before slicing.