Cook lasagna noodles in salted water per package directions until al dente. Carefully drain, and separate laying flat on parchment paper. Set aside.
In a medium size pot, cook onion and ground beef (or Italian sausage) in olive oil. Cook over medium-high heat until no pink remains. Add salt and garlic, cooking for 1 minute longer.
Drain fat from pan adding marinara sauce. Simmer uncovered over medium heat for 10 minutes, then set aside. (This can be done in advance and chilled until assembling).
In a small mixing bowl blend together spinach, ricotta, 3/4 cup Parmesan cheese, basil pesto, red pepper flakes and beaten egg.
Preheat oven to 375°F. Spray a 13x9-inch baking dish with nonstick cooking spray.
Assemble: Spread each lasagna noodle with spinach-ricotta mixture. Sprinkle with one half of shredded mozzarella cheese. Starting at one end roll ending seam side down. (Divide 2 cups cheese between roll-ups reserving 1 cup for the top.)
Ladle half of meat sauce onto bottom of dish. Arrange lasagna roll-ups side by side in the dish seam side down. Repeat until all noodles have been used, then ladle reserved meat sauce on top.
Lay foil loosely on top and bake in preheated oven for 30 minutes. Uncover, sprinkle with reserved 1 cup shredded cheese and 2 Tbsp Parmesan cheese.
Return to the oven and bake uncovered for an additional 15-20 minutes or until the sauce is bubbly and cheese is golden brown.
Let stand for 5 minutes, then serve garnished with chopped fresh parsley.