Preheat the oven to 375°F (190°C).
In a large pot, cook the lasagna noodles according to package instructions. Drain and set aside.
In a skillet, heat the olive oil over medium heat. Add the chopped onion and cook until translucent, about 5 minutes.
Add the garlic and sliced mushrooms to the skillet. Sauté until the mushrooms are browned and the liquid has evaporated, about 8 minutes.
Stir in the fresh spinach and cook until wilted, about 2-3 minutes. Season with salt, pepper, and Italian seasoning. Remove from heat and let cool slightly.
In a mixing bowl, combine the ricotta cheese, egg, half of the mozzarella, and half of the Parmesan cheese. Mix until well combined.
To assemble the lasagna, spread a thin layer of marinara sauce on the bottom of the baking dish. Place three lasagna noodles over the sauce.
Spread one-third of the ricotta mixture over the noodles, followed by half of the mushroom and spinach mixture. Add another layer of marinara sauce, then repeat the layers (noodles, ricotta mixture, mushroom mixture, marinara).
For the final layer, place the last three lasagna noodles on top. Spread the remaining marinara sauce over them and sprinkle with the remaining mozzarella and Parmesan cheese.
Cover the baking dish with foil and bake for 25 minutes. Remove the foil and bake for an additional 20 minutes until the cheese is bubbly and golden.
Let the lasagna rest for 10 minutes before slicing. Serve warm.