Prepare the salmon. Remove the skin if necessary and cut the salmon into bite-sized cubes. Pat dry with paper towels and season with salt and black pepper.
Sear the salmon. Heat the olive oil and butter in a large, deep skillet or Dutch oven over medium-high heat. Add the salmon in a single uncrowded layer and cook for 2–3 minutes per side, until golden outside but not fully cooked.
Remove the salmon. Transfer the salmon to a clean plate and set aside. Keep the browned bits and remaining fat in the pan for extra flavor.
Sauté the aromatics. Reduce the heat to medium. Add the shallot and cook for about 1 minute. Add the garlic and cook for another 30–60 seconds, stirring constantly.
Add the cooking liquid. Pour in the broth and heavy cream. Scrape the bottom of the pan with a wooden spoon to loosen the browned bits. Bring to a gentle simmer.
Cook the pasta. Add the dry pasta directly to the pan, arranging it so it is mostly submerged. Cover and simmer over medium-low heat for about 8–12 minutes, stirring every 2 minutes. Follow the pasta package directions as your primary guide.
Adjust the liquid. If the pasta needs more liquid before becoming tender, add warm broth ¼ cup at a time. If there is too much liquid after the pasta is al dente, simmer uncovered for 1–2 minutes.
Finish the sauce. Lower the heat and stir in the Parmesan until melted. Add the spinach, lemon zest, and optional red pepper flakes. Stir until the spinach wilts and the sauce becomes smooth and glossy.
Add lemon and salmon. Remove the pan from direct heat and stir in the lemon juice. Return the salmon and any juices from the plate. Fold gently through the pasta and let it stand for 1–2 minutes.
Garnish and serve. Taste and adjust the seasoning with salt, pepper, lemon, or Parmesan. Finish with fresh dill or parsley and serve immediately.