Cook the egg-free lasagna noodles according to package directions, drain, rinse, and lay in a single layer on parchment to prevent sticking.
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 sliced mushrooms and cook until the mushrooms brown and the onion is softened, about 6–8 minutes.
Add the baby spinach, 2 teaspoons granulated garlic, and 1/2 teaspoon salt to the skillet; cook, stirring, 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; stir until smooth and well mixed to make the cheese filling.
Prepare the marinara by combining the crushed tomatoes, Italian seasoning, and 1/2 teaspoon salt in a medium saucepan. Bring to a simmer, cook about 5 minutes, then remove from heat.
Lightly spray a 9x13-inch baking dish with cooking spray. Spoon about 1/2 cup marinara on the bottom to prevent sticking.
Assemble the lasagna: place a layer of cooked noodles, spread an even layer of the cheese mixture over the noodles, then add a layer of the mushroom-spinach mixture. Spoon marinara over that and sprinkle with shredded vegan mozzarella.
Repeat layering (noodles, cheese mixture, mushroom-spinach, marinara, mozzarella) to make 3–4 layers, ending with a final layer of marinara and remaining mozzarella on top.
Place the baking dish on a sheet pan and bake in the preheated oven for 40–45 minutes, until the lasagna is bubbly and the cheese is melted.
Remove from oven, top with basil ribbons, and let rest 5–10 minutes before cutting and serving.