Heat oil in a large pan over medium heat.
Add chopped onions and sauté until golden brown.
Stir in minced garlic and grated ginger, cooking for another minute.
Add chopped tomatoes and cook until soft.
Mix in curry powder and stir until fragrant.
Pour in the coconut milk and bring to a simmer.
Season with salt and pepper to taste.
Add fish pieces to the curry sauce, gently stirring to coat.
Cover and cook for about 10-15 minutes until the fish is cooked through.
Garnish with fresh cilantro before serving.