All ingredients ready? Let's begin!
Wash and dry the fish with paper towels, cut it into the desired size, or leave it whole.
Marinate fish with ginger paste, garlic paste, turmeric, red chili powder, and salt.
Heat about 1 teaspoon of oil in a flat frying pan and fry the fish pieces until fragrant. For about 2 to 3 minutes on each side. Set the fish aside.
In a large pot, heat 2 tablespoons of oil to start preparing the sauce.
Add cumin powder and when it starts sizzling, add the onions and sauté until golden.
Add ginger and garlic paste and fry for 30 seconds, stirring with a spatula. Add tomatoes and salt, and fry until the tomatoes are mushy and soft.
Now, add coconut or coconut milk, red chili powder, and turmeric. Sauté until fragrant – for about 2-3 minutes.
Cool the mixture and add to a blender jar with a few tablespoons of water. Blend until smooth or slightly coarse, according to your preference. You can also use an immersion blender. Set the sauce aside.
Prepare the fish curry: Add 2 tablespoons of oil to the same pot and heat on low. When the oil is heated, add the curry leaves and green chilies.
When fragrant, add the sauce you made earlier and the garam masala. Fry until it smells delicious.
Pour water into the pot and bring to a boil. Cook until some oil floats to the top and the stew starts to thicken. Carefully add the fish pieces and cook covered over medium heat for 3-4 minutes. Gently turn the fish pieces to the other side and cook until the fish starts to lump a bit. This means the fish is cooked. Taste the curry and add more salt and red pepper powder if needed.
Garnish fish masala with fresh coriander leaves and serve with fluffy basmati rice.