To make the tofu ricotta, crumble the tofu into a large mixing bowl. Combine with basil, sage, nutritional yeast, garlic, olive oil, lemon juice, salt and pepper. Refrigerate this mixture until assembling the lasagna. Can be made a day in advance as well.
To make the pumpkin bechamel add the pumpkin puree to a high powered blender with nondairy milk, nutritional yeast, miso, cornstarch, cinnamon, nutmeg, ginger, salt, pepper, and all spice. Blend until very smooth. You might need to stop the blender and stir with a spatula to get mixture off the sides. Then continue blending until well mixed.
Preheat oven to 400°F.
To assemble the lasagna brush olive oil in an 11 x 8-inch glass baking dish. Add ½ cup pumpkin bechemal and spread evenly on the bottom of the dish. Add a layer of noodles across. I did 3 sheets across but I could have done 4 and slightly overlapped them. Add 2 cups of the tofu ricotta in an even layer, sprinkle 1 cup mozzarella shreds ontop evenly. Then add 1 ½ cups frozen chopped spinach in an even layer and dollop spoonfuls, about ¾ cup, of the pumpkin bechamel on the spinach. Repeat with another layer of noodles, then spread ¾ cup of the bechamel over noodles. Add remaining 2 cups of tofu ricotta, 1 cup of mozzarella shreds, then 1 ½ cups of frozen chopped spinach, then ¾ cup of the bechamel dolloped on top of the spinach. Add another layer of noodles, spread the remaining bechamel evenly over the noodles. Add any remaining mozzarella shreds and 1 cup of the vegan parmesan shreds in an even layer. Cover with foil and bake for 50 minutes. Then remove the foil and bake another 10 minutes or so until the top is melted and and the lasagna is bubbling. I like to broil as well for about 5 of the remaining 10 minutes to get the top to brown.