Spice Mixture: Combine all the ingredients for the spice mix then set aside to be used later.
Place the lentils in a medium saucepan & cover with 3 cups of water. Bring to a boil then reduce the heat to low, cover and simmer. Cook until the lentils are tender, about 25 minutes, stirring occasionally. Drain any remaining water then season with salt and pepper and set aside, covered.
While the lentils are cooking, warm olive oil over medium-low heat in a medium-sized saucepan. Cook the garlic and onions in the oil until translucent, about 5 minutes. Add the harissa and 1 tablespoon of the spice mixture and continue to cook until fragrant, about 3 minutes.
Increase the heat to medium then add the tomatoes and their juices. Simmer the sauce, stirring occasionally, until the flavors are well blended, about 10 minutes. Season with salt and pepper.
Preheat the oven to 400 degrees. Spray a baking pan with cooking spray & set aside. Season the salmon fillets with salt and pepper then coat them on both sides with the remaining spice mixture.
Heat the canola oil & the butter in a large skillet. When the oil is very hot, add 2 salmon fillets to the pan, skin side down. Saute the salmon fillets for 3 minutes (do not turn over). Repeat with the other 2 fillets.
Carefully transfer the fillets to the baking sheet & roast the salmon for about 6-10 minutes, or until the skin is very crisp and the fish is just cooked through.
Spoon the lentils into the center of warmed dinner plates and set the salmon fillets on top, skin side down. Spoon the tomato sauce around the lentils and serve at once.