Cook the lasagna noodles according to package directions for egg-free noodles. Drain, rinse with cold water, and lay the noodles in a single layer on parchment paper 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 cook until softened, about 3 minutes.
Add the sliced mushrooms to the skillet and cook until they brown and release their liquid, about 5–7 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 the other 2 teaspoons granulated garlic until smooth and well mixed.
Make the marinara by combining the crushed tomatoes, Italian seasoning, and 1/2 teaspoon salt in a saucepan. Bring to a simmer, cook for 5 minutes, then remove from heat.
Spray a 9x13-inch baking dish with cooking spray. Spoon 1/2 cup of marinara onto the bottom of the dish to prevent sticking.
Assemble the lasagna: place a layer of cooked noodles over the sauce, spread an even layer of the cheese mixture over the noodles, top with a portion of the mushroom-spinach mixture, spoon on marinara, and sprinkle with shredded mozzarella.
Repeat layering (noodles, cheese mixture, mushroom-spinach, marinara, mozzarella) to create 3–4 layers, finishing with a top layer of marinara and the remaining 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 and scatter basil ribbons over the top. Let the lasagna rest 5–10 minutes before slicing and serving.