I like to make up a big batch of this sauce as it freezes well. Then freeze in smaller portion and thaw overnight or even just before use! This is great on salmon, chicken, paneer, or even meatballs.
Combine the cumin, salt, pepper, garlic, and ginger in a small bowl and then rub onto the salmon filets. Place the filets onto a foil-lined, rimmed baking sheet and set aside to marinate at room temperature for 10 minutes. Preheat the oven to 200ºF.
Heat a medium sized pot to high heat and add oil and onions. Cook until the onions are translucent, about 10 minutes, stirring often. Then add the garlic and ginger and stir, cooking until fragrant, about one minute. Add the garam masala and cayenne, cook for another minute. Add tomato paste and tomatoes as well as the sweetener. Reduce heat to medium low and cook for about 30 minutes. Add the cream and salt off heat and puree the sauce well with a blender (an immersion blender works wonderfully here). This can be made ahead and rewarmed the next day, though you will want to keep it from boiling.
While the sauce cooks, bake the salmon at 200ºF for 20 minutes, or until the fish is just beginning to flake, or registers 120ºF inside. It will have a more raw appearance but be cooked at this point.
To serve, place salmon onto serving plates, top with sauce and fresh cilantro, if desired.