We Value Your Culinary Privacy
EatMee Recipes uses cookies to provide a personalized browsing experience, analyze recipe popularity, and serve relevant ads. You can review our full disclosure in our Privacy Policy.
Make authentic South African Fish Curry with this foolproof recipe. Packed with rich traditional flavor, step-by-step photos, and cooking tips by Denisiya on EatMee Recipes.

This South African Fish Curry recipe is unlike other Fish Curries from around the world. South Africa has a lot of Indian influence so this fish curry originated in the city of Durban.
Firstly, bring out the fish.

I am using Cape Salmon but other fish may be used, such as Angelfish, Musselcracker, Hake, Shad, etc.

The fish can be left whole if preferred but I prefer to cut them into pieces.

Give it a rinse & place into a bowl.

Next, get out the tamarind (imalee/puli). This can be found at spice stores & my family has always used the Aim brand which I find to be the best seedless tamarind. I have tried other brands & it’s not quite the same, however if it isn’t available then any other brand will suffice.

Add the tamarind to a bowl.

Pour in 1 ½ cups of water to the bowl of tamarind.

Smash the tamarind between your finger tips to allow it to be diluted in the water.

Once done, you should have a brownish coloured water.

Bring out another bowl.

Place a mesh strainer over the bowl.

Pour the tamarind water through the strainer.

This process will get rid of the excess pulp that may have been left over in the water.

Peel & sliver the onion.

Rinse & slit the green chilies. More may be added if you prefer it more on the spicy side.

Peel & rinse the cloves of garlic. I prefer to leave them whole just like my mum & late gran did but it may be cut into smaller pieces.

Next, the tomatoes can be blended or grated – I like to grate them & discard the peel as it gives the curry a much smoother gravy. Simply cut the tomatoes in halves.

Use the finer side of the grater & grate the inner flesh of the tomatoes into a bowl, Discarding the peel.

Once all the tomatoes have been grated, set aside until ready to use.

On medium heat – heat the vegetable oil in a wide pot. Once the vegetable oil is hot, add in the onions, cloves of garlic, green chilies, curry leaves & mustard seeds.

Mix well & allow to sauté until the onions are translucent.

Next, add in the garam masala, cumin (jeera) powder, turmeric powder, chili powder or masala & the ginger & garlic paste.

Mix & simmer for 30 seconds.

Thereafter, add in the grated tomatoes & tomato paste.

Mix until everything is well combined.

Cover with a lid & allow the tomatoes to cook for about 10 minutes or until the oil surfaces.

Give it a quick stir & pour in the tamarind water.

Mix well.

Cover & simmer for 5 minutes.

After 5 minutes, give it a stir. At this point, the distinct aroma of the fish curry should fill your kitchen due to the tamarind.

Add in the fish & salt to taste.

Mix until the fish is coated in the gravy.

Cover & allow to cook for 15 minutes.

Once the fish is cooked, notice how the oil surfaces once again.

Plate & garnish with freshly chopped coriander (dhania).

Serve this South African Fish Curry hot.

Goes well with rice, bread, roti or stiff pap (kali/hard porridge/sangiti).

I personally love having this South African Fish Curry with stiff pap (kali/hard porridge/sangiti). The curry is usually pour over the pap but for the purpose of the images, I have served them on the side.

Take note that this curry tastes much better the next day as the flavours get soaked into the fish but yes it can still be enjoyed the same day it was prepared.

Follow along with Denisiya's step-by-step video guide for South African Fish Curry.
Expert kitchen guidance and troubleshooting for making the best South African Fish Curry
Seafood and delicate fish roe cook very quickly. Once added to the simmering tomato chutney or gravy, reduce the heat to low and do not stir vigorously; instead, gently swirl the pan to coat without breaking up the pieces.
Yes! You can cook the aromatic braised onion, tomato, and masala base in advance. When ready to serve, bring the chutney to a simmer, add the seasoned fish roe or seafood, and cook gently until tender.
Allow the dish to cool before transferring to an airtight container. Store in the refrigerator for up to 3 days. Reheat thoroughly on low heat before serving, only reheating the portion you intend to eat.

Hi, I'm Denisiya! Food lover, recipe developer, and founder of EatMee Recipes. I specialize in authentic South African Durban Indian cuisine, comforting curries, and modern Instant Pot adaptations. Every recipe on this site is tested in my personal kitchen to ensure you get mouth-watering, foolproof results every time.
Have you tried this recipe or have questions for Denisiya? Join the conversation below.
No comments yet. Be the first to share your thoughts on this recipe!
Leave a Comment
Your email address will not be published. Required fields are marked *