Boil the noodles: Bring a large pot of salted water to a boil. Cook lasagna noodles until just shy of al dente (usually 1–2 minutes less than package). Drain and lay them flat on a lightly oiled sheet pan to prevent sticking.
Sauté the aromatics: Heat olive oil in a large skillet over medium heat.
Add onion with a pinch of salt and cook until soft and translucent, 5–6 minutes.
Cook the mushrooms: Add sliced mushrooms to the skillet. Cook, stirring occasionally, until they release moisture and turn golden around the edges, 7–9 minutes. Season with salt and pepper.
Add garlic and spinach: Stir in minced garlic and cook 30 seconds.
Add spinach in batches, letting it wilt, 1–2 minutes. If using frozen spinach, add it squeezed dry and warm through. Remove from heat and cool slightly.
Mix the filling: In a bowl, combine ricotta, half the mozzarella, half the Parmesan, egg, nutmeg, Italian seasoning, and red pepper flakes if using.
Add the cooled spinach-mushroom mixture. Season generously with salt and pepper. Taste and adjust.
Prep the pan: Spread 1 cup marinara over the bottom of a 9x13-inch baking dish.
This prevents sticking and keeps the rolls moist.
Assemble the rolls: Working with one noodle at a time, spread about 3 tablespoons of filling evenly over the noodle. Roll from the short end to create a tight spiral. Place seam-side down in the dish.
Repeat with remaining noodles and filling.
Sauce and cheese: Spoon remaining marinara over the tops of the rolls. Sprinkle with the rest of the mozzarella and Parmesan.
Bake: Cover loosely with foil and bake at 375°F (190°C) for 20 minutes. Uncover and bake another 10–15 minutes, until bubbling and lightly golden on top.
Rest and serve: Let the rolls rest 5–10 minutes so they set.
Garnish with chopped basil or parsley and serve warm.