Cook the fettuccine to al dente according to the package instructions. Reserve 1/2 cup of the pasta water.
Heat up the olive oil (2 tablespoons) in a large frying pan over medium heat. Add in the onions and cook while stirring until it starts to soften, about 1 to 2 minutes.
Next, add in the garlic and cook the mixture while stirring until it fully soften and fragrant, about 1 to 2 minutes.
Mix in the tomato paste and then the seasonings (paprika, Italian seasoning, red pepper flakes, salt and black pepper) into the onion-garlic mixture. Once fully incorporated, cook the tomato mixture while stirring to develop the flavors, about 2 to 3 minutes.
Slowly whisk in the heavy cream into the tomato mixture until it is evenly distributed. Bring the sauce to a low boil to thicken and develop its flavors, about 2 to 4 minutes.
Check the consistency of the sauce. It should be thick enough to lightly coat the back of a spoon but not too thick. As needed, mix in some of the reserved pasta water, starting with 2 to 4 tablespoons, to loosen up the sauce.
Add the cooked pasta into the sauce and mix to thoroughly coat. Mix in the butter (optional) and continue to cook the pasta for a few more minutes, about 1 to 2 minutes or to preference.
Portion out the pasta into two bowls, top each portion with a salmon fillet and garnish with freshly chopped parsley. Enjoy!