In a large pot of boiling salted water, cook the lasagna noodles according to package instructions. Drain and set aside on a parchment-lined sheet to prevent sticking.
In a large skillet, heat the olive oil over medium heat. Add the diced onion and sauté for 2-3 minutes until translucent. Add the minced garlic and sliced mushrooms, and cook until the mushrooms are browned, about 5 minutes. Stir in the chopped spinach and cook until wilted. Season with salt, pepper, and Italian seasoning, then remove from heat.
In a medium bowl, mix the ricotta cheese, heavy cream, and half of the grated Parmesan cheese. Season with salt and pepper to taste.
In a 9x13 inch baking dish, spread a thin layer of marinara sauce on the bottom. Layer 3 lasagna noodles over the sauce. Spread half of the ricotta mixture over the noodles, followed by half of the sautéed mushroom and spinach mixture. Spoon 1/3 of the marinara sauce over the top and sprinkle with a third of the mozzarella cheese. Repeat the layers: noodles, ricotta mixture, vegetable mixture, marinara sauce, ending with noodles on top.
Spread the remaining marinara sauce over the top noodles. Sprinkle with the remaining mozzarella cheese and the rest of the Parmesan cheese.
Preheat your oven to 375°F (190°C). Cover the lasagna with aluminum foil and bake for 25 minutes. Remove the foil and bake for an additional 15 minutes or until the cheese is bubbly and golden.
Allow the lasagna to cool for 10 minutes before slicing. Serve warm.