Place your 500g of fish chunks in a bowl. Rub gently with lime juice, 1/2 tsp salt, and 1/4 tsp turmeric powder. You will see the fish turn a beautiful golden hue. Set aside to marinate for 15 minutes at room temperature; this seasons the fish deep to the bone so it isn't bland inside.
In a high-powered blender, combine the grated coconut, soaked Kashmiri chilies, coriander seeds, cumin seeds, garlic, ginger, tamarind paste, and remaining turmeric. Add 1/2 cup of water and blend until it forms a completely smooth, bright orange-red paste. It should feel velvety between your fingers, with no grainy coconut bits remaining.
Heat 2 tbsp of coconut oil in a deep pan over medium heat. Add the finely chopped onions and green chilies. Sauté for about 5 minutes until the onions turn soft, sweet, and translucent. You want them to dissolve into the gravy later, not stay crunchy.
Add the chopped tomatoes to the pan. Cook for 3 to 4 minutes, pressing down with your spoon, until they soften completely and begin to release their oils around the edges of the pan.
Pour the blended orange masala paste into the pan. Stir continuously over medium-low heat for 5 minutes. You will smell the raw garlic and ginger fade away, replaced by an intensely aromatic, sweet, roasted coconut aroma. Tiny droplets of oil will begin to separate at the edges.
Stir in the thin coconut milk (or water) to adjust the consistency. Bring the gravy to a gentle, lazy simmer. Do not let it boil rapidly, or the coconut may split. Season with salt to taste.
Gently slide the marinated fish pieces into the simmering gravy. Swirl the pan to submerge them completely. Cover and simmer gently for 5 to 7 minutes. You will know the fish is done when it turns opaque and flakes easily when nudged with a fork. Turn off the heat and let it rest for 5 minutes before serving.