Prepare Vegan ricotta: In a food processor or industrial blender, combine the cashews, oil, and garlic. Pulse until finely chopped. Add the tofu, and a pinch of salt. Pulse until finely chopped and resembling the texture of ricotta, add soymilk as needed to thin the mixture out. Add the basil and pulse just until chopped into the mixture.
Set Vegan ricotta and set aside.
Slice zucchini and eggplant into thin, horizontal planks preferably with a mandolin. Place zucchini in a colander and salt. Allow to sit for 30-60 minutes to extract extra moisture. Drain and pat dry with a towel. Bake or sautée slices for a few minutes on each side to ensure all excess moisture is removed (I cooked slices in a non-stick pan for 2-3 minutes on each side). Put aside.
Preheat oven to 350 degrees.
Heat oil in a pan on medium to medium-high heat. Add carrot sticks and cook for 3-4 minutes. Add sliced baby bella mushroom and onion cook for an additional 5 minutes. Add garlic and cook for 2 additional minutes. Add spinach and cook until wilted. Remove from heat.
Put a thin layer of tomato sauce in the bottom of a large baking dish. Place zucchini planks over sauce to cover the bottom of the dish.
Add 1/2 the ricotta mixture, spreading it evenly over the zucchini. Then add 1/2 the mushroom mixture, spreading it over the ricotta. Add another thin layer of sauce. Repeat with zucchini, ricotta and mushroom mixture. Add a last layer of zucchini and cover in sauce. If you like, add a layer of vegan cheese .
Cover the pan with foil and bake for 35 minutes. Remove the foil and cook for an additional 15 minutes. Remove lasagna from the oven and allow to sit for approximately 15 minutes before serving.