Clean and scale the fish if not already done. Make a few shallow cuts on both sides of the fish to allow the flavors to penetrate.
In a bowl, combine turmeric powder, cumin powder, coriander powder, and chili powder (if using). Add a bit of water to make a thick paste.
Rub the spice paste all over the fish, including inside the cuts and cavity. Let it marinate for at least 30 minutes.
Heat vegetable oil in a large pan over medium heat.
Add the chopped onion, minced garlic, and sliced green chilies. Sauté until the onion is soft and translucent.
Add the grated ginger and chopped tomato. Cook until the tomato is soft and the oil starts to separate.
Place the marinated fish into the pan. Cook for about 4-5 minutes on each side, or until the fish is cooked through and has a golden-brown crust.
Pour the coconut milk over the fish. Reduce the heat to low and let it simmer for about 10-15 minutes, or until the fish is fully cooked and the sauce has thickened slightly.
Add lemon or lime juice to the pan. Stir well and adjust the seasoning with salt.
Garnish with fresh coriander if desired.
Enjoy your meal!