Cook the lasagna noodles according to package directions, drain, rinse, and lay in a single layer on parchment or a tray to cool slightly.
Preheat the oven to 375°F (190°C).
Heat the olive oil in a large skillet over medium-high heat. Add the diced onion and cook until softened, about 3 minutes.
Add the sliced mushrooms to the skillet and cook until browned and any liquid has evaporated, about 5–7 minutes.
Stir in the baby spinach, 2 teaspoons granulated garlic, and 1/2 teaspoon salt; cook until the spinach is wilted, about 3–5 minutes. Remove from heat and set aside.
In a medium bowl, combine the vegan ricotta, vegan Parmesan, and 2 teaspoons granulated garlic until smooth to make the cheese filling.
Make the marinara by combining the crushed tomatoes, Italian seasoning, and 1/2 teaspoon salt in a medium saucepan. Bring to a simmer, cook for 5 minutes, then remove from heat.
Spray a 9x13-inch baking dish with cooking spray. Spread 1/2 cup of marinara on the bottom of the dish.
Assemble the lasagna: place a layer of cooked noodles over the sauce, spread an even layer of the cheese mixture, then top with some of the mushroom-spinach mixture, a layer of marinara, and a sprinkling of shredded mozzarella.
Repeat layering 3 to 4 times as needed, ending with a final layer of marinara and the remaining shredded mozzarella.
Place the baking dish on a sheet pan and bake in the preheated oven for 40–45 minutes, until bubbly and the cheese is melted.
Remove from the oven, top with basil ribbons, and let the lasagna rest for 5–10 minutes before cutting and serving.