Heat oil in a deep pan, then add the cumin and cardamoms.
When the spices sizzle, add the onions and very little salt.
Saute until they turn translucent. Then saute ginger garlic for a minute.
Add ginger garlic paste and fry for a min.
Then add in the tomatoes & turmeric. Saute till the tomatoes turn fully mushy.
Add red chili powder and saute for 2 minutes till the raw smell goes away.
Blend this with ¾ cup water to a smooth mixture. If using a blender, then cool this completely & then blend.
Pour this back to the same pan. Then pour ½ to ¾ cup water and add garam masala.
Cook this until the gravy thickens and you see some traces of oil over it.
Stir in the cream and kasuri methi. Taste it and adjust salt if needed.
Meanwhile, mix together all the ingredients mentioned for fish. Smear this over the fish and rest for 5 to 6 mins.
Heat a nonstick pan with 1 tablespoon oil and place the fish over the pan. Fry the fish on both sides until golden and the marinade is cooked well. Alternately you can also thread the fish on to skewers and grill them in a preheated oven at 370 F or 190 C for 12 mins. Move to the top rack and grill or broil for another 3 to 4 mins.
Ensure the fish is cooked through and slightly charred to get the right flavors.
Transfer the fish along with any juices or oil left in the pan to the tikka masala gravy.
Let the fish rest in the gravy for at least 30 mins before you serve. Sprinkle coriander leaves. Serve gently as the fish turns delicate after resting.
Serve salmon tikka masala with roti, chapathi or butter naan