Bring a pot of lightly salted water to a boil and cook the penne to al dente. Drain the pasta, reserving 3/4 cup of the water.
Saute the onions on medium high in some olive oil for 3 minutes. Once translucent add the garlic and continue to saute another 2 minutes
Reduce heat to medium, add the spinach and saute for 5-10 minutes, tossing occasionally. The spinach should be fully wilted and a third of its original size.
Add the ricotta and pasta water and stir to fully combine. Then stir in the parmesan.
Fold in the salami, bring the sauce to a boil, then reduce to simmer for 5 minutes.
Stir in the penne, adjust seasoning with salt and pepper, then serve.