Preheat the oven to 350°F. Lightly grease a 9×13-inch baking dish with olive oil.
Heat olive oil in a large skillet over medium heat. Add the onion and mushrooms and cook for about 10 minutes, stirring occasionally, until softened and lightly golden.
Stir in the garlic, spinach, and ¼ teaspoon of salt. Cook until the spinach is fully wilted and excess moisture evaporates. Remove from heat.
In a bowl, mix ricotta cheese, eggs, remaining salt, and black pepper until smooth and well combined.
Spread 1 cup of sauce over the bottom of the baking dish. Arrange a layer of lasagna sheets on top.
Spread half of the ricotta mixture over the noodles. Sprinkle with one-third of the Parmesan and mozzarella cheeses.
Add half of the spinach and mushroom mixture, then drizzle with about ½ cup of sauce.
Repeat the layers once more: noodles, ricotta, cheeses, spinach mixture, and sauce.
Finish with a final layer of noodles, remaining sauce, and remaining cheeses.
Cover loosely with foil and bake for 30 minutes. Uncover and bake an additional 10–15 minutes, until the cheese is melted and lightly browned.
Let rest for 5–10 minutes before slicing and serving.