In a mixing bowl, take 1 kilogram of shoal or snakehead fish, washed, deskinned, and cut into small pieces. Add 1 teaspoon of paprika, ¾ teaspoon of turmeric, 1 teaspoon of black pepper, 1 teaspoon of salt, 1 tablespoon of lemon juice to it. Now, mix all the ingredients well. Cover the bowl and keep it aside for an hour to marinate.
Now, heat a sufficient quantity of oil in a kadai or a deep fryer and deep fry the marinated pieces of fish, few at a time, until golden brown and crispy. When done, remove them.
Now, heat 30 milliliters oil in a skillet. When it is hot, add 1 teaspoon of coriander seeds along with 1 teaspoon of cumin seeds. Stir and fry them for half a minute on a medium flame. Then, add 200 grams of onions in it and fry until the onions turn translucent. Now, add 250 grams of tomato and sauté until it turns soft and pulpy.
Cook it for 5 to 7 minutes on a medium heat. Switch off the flame when done and let it cool down a bit. When it does, transfer it into a blender and blend it into a smooth puree.
Now, heat 30 milliliters oil again in heavy skillet on a medium flame. When the oil is hot, add 5 pieces of cloves, 4 pods of green cardamom, and a piece of bay leaf in it. Stir and fry them for about 20 seconds or so. Then, add 1 tbsp of ginger garlic paste. Stir and fry them all for a minute or two.
At this stage, turn the flame to low and add 1 tsp of red chili powder, 1 tsp of garam masala powder, 1 tsp of tandoori chicken masala powder, and 1 tsp of salt. Mix them all nicely with the ingredients in the skillet. Then, add the blended mixture in it and give it a nice stir.
Now, add 150 milliliters of water and mix it well. Then, add 1 tablespoon of dry fenugreek leaves and 150 milliliters of fresh cream and mix them nicely. Bring it to a boil.
Now, add the fried fish in it and mix it well. Cook for 3 to 5 minutes on medium heat. When done, remove it in a serving bowl.
Your tasty and spicy fish tikka masala is ready. Garnish with coriander. Serve it hot with naan, paratha, steamed rice or roti.