This coconut milk fish curry recipe is perfect for a quick weekday dinner or for creating an impressive dish for guests, as it simplifies the cooking process while offering delightful flavors.
If you are looking for a light dinner that won't leave you with a mountain of dirty dishes, this one-pot fish curry will be an excellent choice. It is rich with warming spices, creamy coconut milk, and tender fish, with all ingredients mixed in a single pot.
This hearty and aromatic dish cooks in one pot, making it a convenient option for the middle of the week. The creamy coconut milk perfectly balances the warmth of the spices, and the fish slowly cooks in the fragrant sauce.
Ingredients
To prepare, you will need:
- 600g firm white fish fillets, cut into large pieces
- 1 tbsp vegetable or olive oil
- 1 onion, finely chopped
- 3 cloves of garlic, minced
- 1 tbsp fresh ginger, grated
- 1 red or green chili pepper, finely chopped (optional)
- 2 tbsp mild curry powder
- 1 tsp ground turmeric
- 1 tsp ground cumin
- 1 can of coconut milk (400 ml)
- 1 can of diced tomatoes (400g)
- 1 tbsp tomato paste
- 1 cup of fish or vegetable broth
- 1 red bell pepper, sliced
- 1 cup of young spinach
- 1 tbsp fresh lemon or lime juice
- Salt and freshly ground black pepper to taste
- Fresh cilantro, chopped, for garnish
How to Serve:
- Steamed basmati rice or naan
- Lemon or lime wedges
- Chapati
Cooking Instructions
- Fish Marination: Pat the fish dry with paper towels and lightly season with salt and pepper. Set aside.
- Creating the Curry Base: Heat the oil in a large, deep pot over medium heat. Add the onion and cook for 3–4 minutes until softened. Then add the garlic, ginger, and chili and cook for another minute.
- Adding Spices: Stir in the curry powder, turmeric, and cumin. Cook for about 30 seconds until fragrant.
- Making the Sauce: Add the tomato paste, diced tomatoes, coconut milk, and broth. Stir well and bring to a gentle simmer.
- Adding Vegetables: Stir in the sliced bell pepper and simmer covered for about 8–10 minutes, allowing the sauce to thicken slightly.
- Cooking the Fish: Gently place the fish pieces into the curry, ensuring they are partially submerged in the sauce. Cover and simmer for 6–8 minutes, depending on the thickness of the fish. Try not to stir too much so the fish does not fall apart.
- Finishing the Curry: Stir in the young spinach and cook for another 1–2 minutes until wilted. Mix with lemon or lime juice and season to taste.
- Serving: Garnish with fresh cilantro and serve hot with steamed basmati rice or naan, adding lemon or lime wedges as desired.
Cooking Tip
Use firm fish such as hake, kingklip, snoek, cod, or monkfish to help it maintain its shape in the curry. For a richer flavor, substitute some of the broth with extra coconut milk. If you prefer a spicier curry, add another chili or a pinch of cayenne pepper.



