Apply vinegar on fish and wash after 10 minutes. This is to eliminate the possible odor from fish fillets.
Marinate the fish fillets with garlic paste, and a pinch of salt. Let it sit for 10 minutes. Heat oil in a large skillet with deep edges. The gravy and the fish will be cooked in the same pan, so it needs to be large enough.
Add fenugreek seeds, sliced garlic and mustard seeds. Once the garlic turns light golden and the mustard seeds release their aroma, add yoghurt.
Add red chili powder, coriander powder, turmeric, salt and garam masala with the yoghurt. Fry for a few minutes till the oil starts releasing.
Add the fish fillets at this stage, and fry for about 1 ½ - 2 minutes each side. Be careful in turning to make sure they don’t break. In case a large pan isn’t available, fry the fish in a separate pan in 2 or 3 batches, and then add it to the gravy. This is to ensure the fish gets fried properly without breaking. This step requires frying the fish fillets till crisp, not cooking them through.
Add the coconut milk, and tilt the pan side-wards to mix, and avoid using a spoon as the fish can break. Let the mixture come to a light boil, turn heat to low, and cover. Cook on low heat till fish is cooked through.
Once the fish is cooked through, add green chiles, coriander and lemon juice.
Cook for another minute, and take off heat. Sprinkle with chaat masala and serve hot with rice or naan.