| | |

Durban Fish Curry

This Durban Style Fish Curry is one my mum makes when we want something tangy and spicy at the same time. Tamarind, curry leaves and warming spices simmer down into a thick gravy, and fresh fish goes in at the end, cooked gently until it’s fully infused and falls apart at the touch of a fork. It’s so comforting and goes well with rice or roti for scooping up every bit of gravy.

Why You’ll Love This Durban Fish Curry

  • Quick & Easy: Ready in under 40 minutes, great for weeknights!
  • Rich & Flavorful: A perfect dance of tangy, spicy, and aromatic notes.
  • Family-Friendly: Even the pickiest eaters will enjoy it with rice or warm flatbreads.
  • Authentic: Brings the vibrant flavors of South African-Indian cooking straight to your kitchen.

Ingredients

Vegetable Oil – Provides the base for frying spices and onions. Using medium-low heat ensures the spices release their full aroma without burning.

Mustard Seeds, Cumin (Jeera), and Fenugreek Seeds – These whole spices form the foundation of flavor, giving the curry its signature South African-Indian aroma and a subtle earthy taste.

Red and Green Chillies and Curry Leaves – Add freshness, mild heat, and a fragrant, authentic taste to the curry.

Onions and Garlic – Onions provide sweetness and body to the curry, while garlic adds depth and aromatic richness.

Braising Spice (vadouvan) – Enhances the overall spice profile, balancing heat and aroma.

Ginger-Garlic Paste, Turmeric, and Mixed Kashmiri Chilli Powder – Essential for a robust, colorful, and flavorful curry base. Turmeric adds a warm color, while chilli powder gives gentle heat.

Tomatoes – Softened jam tomatoes are the best to use as it adds tanginess and help create a smooth, flavorful gravy.

Salt – Enhances all the flavors in the curry.

Tamarind Paste – Gives the curry its signature tangy taste, balancing the spices and richness of the fish. If you’re unfamiliar with tamarind, you can read more about it here.

Water – Creates the gravy, allowing the spices and tamarind to blend together perfectly.

Garlic (Crushed) – There is no such thing as too much garlic. Its best to add the crushed garlic towards the end to give a fresh, punchy garlic flavor without overpowering the fish.

Fish – Use firm fish like pink salmon, hake, or kingfish. Any of these will absorb the flavors of the curry while staying intact during cooking, so pick whatever firm white fish is freshest at your fishmonger.

Baby Brinjal (optional) – A popular addition to fish curry. The brinjal soaks up the tamarind gravy beautifully and adds a soft, silky texture alongside the fish. See the variation note below if you’d like to add this into dish.

Fresh Coriander (Dhanya) – Garnish that adds a fresh, herbal aroma and bright green color to the finished dish.

How to Make Durban Fish Curry

Step 1: Temper the Whole Spices

Start by heating the oil over medium-low heat. This gentle heat is key to preventing the spices from burning. Once warm, add the mustard seeds, cumin, and fenugreek seeds. Listen for that satisfying sizzle and inhale the aroma as the spices bloom.

Step 2: Fry the Onions, Chillies and Curry Leaves

Next, toss in the red and green chillies, curry leaves, onions, some whole garlic cloves, and braising spice. Stir and fry everything together until the onions turn translucent and the kitchen is filled with a fragrant, comforting scent. This is the moment when the base really starts to build depth.

Step 3: Add the Ground Spices

Now add the ginger-garlic paste, turmeric, and mixed Kashmiri chilli powder. Mix thoroughly so the spices coat the onions evenly.

Step 4: Cook the Tomatoes

Add the chopped tomatoes and salt, then cook until the tomatoes soften and the mixture thickens slightly. This step not only adds a natural tang but also helps create a smooth, flavorful gravy.

Step 5: Add the Tamarind

Dissolve the tamarind paste in warm water, then pour it along with 1½ cups of water into the pan to form the curry gravy. Bring the mixture to a gentle simmer, allowing all the flavors to meld together. You’ll notice the tangy aroma balancing perfectly with the spices.

Step 6: Add Extra Garlic and Brinjal (optional)

Stir more garlic for an extra punch of fresh flavor. Adding it at this stage keeps the garlic bright and aromatic without overpowering the fish.

If you’re adding baby brinjal, this is the time to slide it in. Let it simmer for 5-6 minutes before adding the fish so it has time to soften and take on the gravy’s flavor.

Step 7: Cook the Fish in the Curry

Carefully slide the fish pieces into the simmering curry. Cook for about 10 minutes, resisting the urge to stir too much. This ensures the fish stays intact while soaking up all the delicious flavors of the gravy.

Step 8: Garnish and Serve

Finally, garnish generously with fresh coriander (dhanya) for a pop of color. Serve the curry hot with steamed rice or warm flatbreads, and enjoy every spicy, tangy bite.

Variation: Durban Fish Curry with Brinjal

Want to lean into the brinjal? Double the quantity to about 250g of baby brinjal, halved lengthways, and add it right after adding in the tamarind so it gets extra time to break down into the gravy. It turns the dish into something closer to a fish and brinjal curry, which is how a lot of Indian homes actually make it. The brinjal practically melts into the gravy and soaks up all that tamarind tang.

How to Store Fish Curry

  • In the Fridge: After the curry has cooled to room temperature, transfer it to an airtight container. It will keep well for up to 2 days. When you’re ready to eat, reheat gently over low heat so the fish doesn’t break apart and the spices stay balanced.
  • In the Freezer: Freezing isn’t ideal for this curry because the fish can become mushy and lose its texture. For the best results, it’s definitely a dish to enjoy fresh or the next day, when the flavors have had time to meld beautifully.
  • Tip: Curries often taste even better the day after cooking, as the spices deepen and harmonize. Just remember to reheat slowly and carefully to preserve that perfect, rich consistency.

More Curry Recipes You’ll Love

Tried this recipe? Leave a star rating and a comment below – I’d love to hear how it turned out! Your feedback helps other food lovers find this recipe and cook with confidence.

Prep Time 20 minutes
Cook Time 20 minutes
Total Time 40 minutes
Servings 4 people
Course Main Course
Cuisine Indian
A flavorful and aromatic South African-Indian Fish Curry made with firm white fish, tangy tamarind, and fragrant spices. Quick to make in 40 minutes, this curry is perfect for a comforting family dinner served with rice or flatbreads.

Equipment

  • 1 30cm flat pot

Ingredients

  • 1 kg pink salmon
  • 1/4 cup vegetable oil
  • 1 tsp mustard seeds
  • 1 tsp jeera seeds
  • 1 1/2 tsp fenugreek seeds
  • 2 fresh green chillies
  • 2 fresh red chillies
  • 2 sprig curry leaves
  • 2 onions
  • 10 cloves of garlic
  • 1 tbsp braising spice (vadouvan)
  • 1 cup warm water
  • 2 tbsp tamarind paste
  • 1 1/2 tbsp crushed ginger and garlic
  • 1 tsp turmeric
  • 3 tbsp mixed chilli powder
  • 4 jam tomatoes
  • 1 tbsp salt (salt to taste)
  • 1 1/2 cups boiling water to make the gravy
  • 5 cloves crushed garlic
  • 250g baby brinjal (optional)
  • dhanya to garnish

Instructions

  • Start by heating the oil over medium-low heat. Once warm, add the mustard seeds, cumin, and fenugreek seeds. Listen for that sizzle.
  • Next, toss in the red and green chillies, curry leaves, onions, some garlic, and braising spice. Stir and fry everything together until the onions turn translucent.
  • Now add the ginger-garlic paste, turmeric, and mixed Kashmiri chilli powder. Mix well so the spices coat the onions evenly.
  • Add the chopped tomatoes and salt, then cook until the tomatoes soften and the mixture thickens slightly.
  • Dissolve the tamarind paste in warm water, then pour it along with 1½ cups of water into the pot to form the curry gravy. Bring the mixture to a gentle simmer, allowing all the flavors to meld together.
  • Stir in more crushed garlic for an extra punch of fresh flavor.
  • If you’re adding baby brinjal, this is the time to slide it in. Let it simmer for 5-6 minutes to soften and take on the gravy’s flavor.
  • Carefully slide the fish pieces into the simmering curry. Cook for about 10 minutes, resisting the urge to stir too much. This ensures the fish stays intact while soaking up the gravy.
  • Finally, garnish generously with fresh coriander (dhanya). Serve the curry hot with steamed rice or warm roti, and enjoy every spicy, tangy bite.

Notes

  • Tamarind strength varies by brand – start with 1 tbsp, taste the gravy after simmering, and add up to 1 tbsp more if you want it tangier. 
  • Cooking the fish: Once the fish goes in, stir as little as possible – constant stirring is the main reason it breaks up. Cook for 8-10 minutes, or until it flakes easily with a fork. Cooking the fish for too long will make it turn tough and dry.
  • Using baby brinjal? Add it after adding the tamarind, not with the fish – it needs the extra simmer time to go soft and take on the gravy flavor.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.