Cook the penne pasta according to package instructions until al dente. Drain and set aside.
In a large skillet, heat the olive oil over medium heat. Add the diced onion and sauté for 3-4 minutes until translucent.
Add the minced garlic and cook for an additional 1 minute until fragrant.
Stir in the fresh spinach and cook until wilted, about 2-3 minutes.
Pour in the heavy cream and bring to a simmer. Reduce the heat and stir in the flaked salmon, lemon juice, salt, and pepper.
Add the cooked pasta to the skillet and toss to combine, ensuring the pasta is well coated in the creamy sauce.
Stir in the grated Parmesan cheese and cook for another 2 minutes until heated through.
Garnish with fresh dill if desired and serve immediately.