Bring a large pot of lightly salted water to a boil. Cook spaghetti in the boiling water, stirring occasionally, until tender yet firm to the bite, 9 to 12 minutes. Drain.
While spaghetti is cooking, season salmon with salt and pepper. Heat 2 tablespoons butter and olive oil in a skillet over medium heat and cook salmon until opaque on all sides, about 5 minutes. Transfer to a plate.
Melt remaining 1 tablespoon butter in the same skillet and cook onion until soft and translucent, about 5 minutes. Add garlic and cook for 20 seconds. Pour in wine and allow to evaporate. Pour in heavy cream and cook for 2 minutes. Stir in tomato paste and cook until sauce has desired consistency, 3 to 5 minutes. Add salmon to the skillet and heat in the sauce.
Season salmon sauce with salt and pepper and serve with spaghetti.