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 sausage) in olive oil. Cook over medium-high heat until no pink remains. Add salt and garlic, cooking for 1 minute longer. Drain fat, add 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, ¾ cup Parmesan cheese, basil pesto, red pepper flakes and beaten egg.
To assemble: Spread each noodle with spinach-ricotta mixture. Sprinkle with one half of shredded cheese. (Divide 2 cups between rolls, reserving 1 cup for the top.) Starting at one end roll.
Ladle half of meat sauce onto bottom of dish. Arrange lasagna roll-ups side by side into the dish seam side down. Repeat until all noodles have been used, then ladle reserved sauce on top.
Preheat oven to 375°F. Lay foil loosely on top and bake for 30 minutes. Uncover, sprinkle with reserved 1 cup shredded cheese and 2 tablespoon Parmesan cheese.
Return to the oven and bake for an additional 15-20 minutes or until sauce is bubbly and cheese has browned.
Let stand for 5 minutes, then serve garnished with chopped parsley, if desired.