Bring a large pot of salted water to a boil. Cook the pasta according to the package instructions until al dente. Reserve about 1/2 cup of pasta water, then drain and set aside.
In a large skillet, heat the olive oil over medium heat. Add the chopped onion and sauté until translucent, about 3-4 minutes.
Add the minced garlic and cook for an additional minute until fragrant.
Season the salmon fillets with salt and pepper, then add to the skillet. Cook for about 4-5 minutes on each side or until cooked through. Remove the salmon from the skillet and flake into large pieces once cool enough to handle.
In the same skillet, pour in the vegetable or chicken broth and bring it to a simmer. Stir in the heavy cream, lemon zest, and lemon juice, then season with salt and pepper to taste.
Add the chopped spinach to the sauce, allowing it to wilt for about 2-3 minutes.
Gently fold in the cooked pasta and flaked salmon into the creamy spinach sauce. If the mixture is too thick, add reserved pasta water a little at a time until the desired consistency is reached.
Stir in the grated Parmesan cheese if using, for added creaminess.
Serve immediately, garnishing with fresh dill or parsley for an extra pop of flavor.