Clean and cut 500 grams of fish (preferably boneless) into medium-sized pieces. Marinate the fish with 1 teaspoon of turmeric powder, 1 teaspoon of red chili powder, and salt as per taste. Set aside for 15-20 minutes.
Heat 3 tablespoons of oil in a pan. Shallow fry the marinated fish pieces until they turn golden brown on both sides. Remove the fish from the pan and set aside.
In the same pan, add 1 tablespoon of oil if needed. Add 1 teaspoon of cumin seeds and let them splutter.
Add 1 finely chopped onion and sauté until it turns golden brown. Add 1 tablespoon of ginger-garlic paste and cook for 2 minutes.
Add 2 finely chopped tomatoes and cook until they turn soft and mushy.
Add 1 teaspoon of coriander powder, 1 teaspoon of red chili powder, 1/2 teaspoon of turmeric powder, 1/2 teaspoon of garam masala, and salt as per taste. Cook the masala until the oil starts to separate from the mixture.
Add 1/2 cup of water to the masala and bring it to a boil. Gently place the fried fish pieces into the gravy and cook for 5-7 minutes on low heat.
Garnish with chopped coriander leaves and serve hot with steamed rice or roti.