Heat oil in a skillet over medium heat. Add onions and sauté until golden.
Add garlic and ginger; sauté for 1 minute.
Stir in turmeric, coriander, cumin, chili powder, paprika, and cayenne. Cook for 30 seconds.
Pour in the coconut milk, vinegar, sugar, and salt. Stir and bring to a simmer.
Add the fish pieces, cover, and simmer gently for 6–8 minutes until the fish is cooked through.
Garnish with chopped cilantro and serve with steamed rice.