Heat the oven. Preheat to 375°F (190°C).
Lightly oil a 9x13-inch baking dish and spread 1 cup of marinara sauce on the bottom.
Cook the noodles. Bring a large pot of salted water to a boil. Cook lasagna noodles until just shy of al dente, about 7–8 minutes. Drain and lay them flat on a lightly oiled sheet pan or clean towels so they don’t stick.
Prep the spinach. If using fresh spinach, heat olive oil in a skillet over medium, add garlic, and cook 30 seconds.
Add spinach and sauté until wilted. Cool slightly, then squeeze out excess moisture and chop. If using frozen spinach, thaw, squeeze very dry, and mix with the sautéed garlic.
Make the filling. In a bowl, combine ricotta, egg, 1/2 cup Parmesan, 1/2 cup mozzarella, spinach, salt, pepper, red pepper flakes, and lemon zest.
Stir until creamy and well mixed. Taste and adjust seasoning.
Assemble the rolls. Spread about 2 tablespoons of filling evenly over each noodle, leaving a small border at the ends. Roll up from one short end to the other, keeping the roll snug but not tight.
Place in the dish. Set each roll seam-side down in the prepared baking dish on top of the sauce.
Spoon the remaining 1 cup marinara over the rolls.
Add cheese. Sprinkle the remaining mozzarella and 1/4 cup Parmesan evenly over the top.
Bake. Cover loosely with foil and bake for 20 minutes. Uncover and bake another 10–15 minutes, until the cheese is melted, bubbling, and lightly golden at the edges.
Rest and serve. Let the rolls rest 5–10 minutes so they set. Garnish with chopped basil or parsley.
Serve warm with extra sauce if you like.