Bring a large pot of salted water to a boil and add the spaghetti. Cook until al dente according to the package instructions. Reserve a small cup of pasta water before draining, as it helps adjust the sauce later.
Heat olive oil and butter in a large frying pan over medium heat. Add the salmon fillets and cook gently for 3–4 minutes on each side until just cooked through. Remove from the pan and set aside.
In the same pan, add the chopped onion and cook for about 4 minutes until soft and translucent. Stir in the garlic and cook for another 30 seconds, just until fragrant.
Add the tomato paste and cook it for a minute to deepen the flavor. Pour in the tomato purée and sprinkle in the dried Italian herbs, stirring well to combine.
Lower the heat and slowly stir in the cream. Let the sauce simmer gently for 5 minutes until it thickens slightly and turns a soft pink color.
Flake the cooked salmon into large chunks and gently fold it into the sauce. Season with salt and black pepper, tasting as you go.
Add the drained spaghetti directly to the sauce. Toss everything together, adding a little reserved pasta water if needed for a silky finish.
Remove from heat and stir in the grated Parmesan. Sprinkle with fresh parsley just before serving for freshness and color.