Cook the noodles: Bring a large pot of salted water to a boil. Cook lasagna noodles until just shy of al dente.
Drain, then lay flat on parchment or lightly oiled sheet pans to prevent sticking.
Sauté the vegetables: Heat olive oil in a large skillet over medium heat. Add onion and a pinch of salt; cook 3–4 minutes until soft. Add mushrooms; cook, stirring occasionally, until they release liquid and brown, about 6–8 minutes.
Stir in garlic for 30 seconds.
Add spinach: If using fresh, add by handfuls and cook until wilted. If using frozen, stir in the well-drained spinach. Season with salt, pepper, and red pepper flakes if using.
Transfer mixture to a bowl and let it cool slightly.
Make the filling: In a mixing bowl, combine ricotta, egg, Parmesan, 1 cup mozzarella, Italian seasoning, and a pinch of salt and pepper. Fold in the cooled spinach-mushroom mixture until evenly combined.
Prep the pan: Spread 1 cup of marinara sauce over the bottom of a 9x13-inch baking dish.
Assemble roll ups: Working with one noodle at a time, spread 2–3 tablespoons of filling evenly from end to end, leaving a small border. Roll gently from one short end to the other.
Place seam side down in the sauced baking dish. Repeat with remaining noodles.
Sauce and cheese: Spoon remaining marinara over the tops of the roll ups. Sprinkle with the remaining 1/2 cup mozzarella and a little extra Parmesan.
Bake: Cover with foil and bake at 375°F (190°C) for 20 minutes.
Uncover and bake 8–10 minutes more, until the cheese is melted and bubbling and the centers are hot.
Finish and serve: Rest 5 minutes. Garnish with chopped basil or parsley. Serve two to three roll ups per person with a green salad or garlic bread.