Preheat the oven to 375°F and grease a 9×13-inch baking dish.
If using regular noodles, cook in salted water until just flexible. Drain and lay flat. (Skip if using oven-ready noodles.)
Heat olive oil in a large skillet over medium-high heat. Add mushrooms and cook until browned and the pan is mostly dry, 10–12 minutes. Add onion and cook 2–3 minutes. Add garlic for 30 seconds. Season with ½ teaspoon salt, ¼ teaspoon pepper, and Italian seasoning.
Add spinach and cook until wilted. Transfer to a colander, cool slightly, then squeeze dry. Chop and stir back into mushrooms.
Make the sauce: melt butter in a saucepan over medium heat. Whisk in flour and cook 1 minute. Slowly whisk in milk. Simmer 5–7 minutes until thickened. Reduce heat and stir in Parmesan, salt, pepper, and nutmeg (optional).
Mix ricotta layer: combine ricotta, egg, Parmesan, salt, pepper, and parsley (optional).
Assemble: spread a thin layer of sauce in the dish. Add noodles, ricotta, mushroom-spinach mixture, mozzarella, then sauce. Repeat layers, finishing with sauce and remaining mozzarella + a sprinkle of Parmesan on top.
Cover with foil and bake 25 minutes. Uncover and bake 15–20 minutes until bubbly and golden.
Rest 15–20 minutes before slicing and serving.