Indian Fish Curry Recipe

I love Indian food and mamak food in particular. We often go to one particular place in Kuching almost weekly for roti and thosai. The thosai comes with dipping sauces of dhal and coconut chutney but we like the fish curry sauce the best.

One day I got some pieces of fish to go along with the curry. It was delicious! But then we got the bill and it turned out that the fish pieces were 5 ringgit each! Being the pake person that I am, I decided that I should learn to cook fish curry for myself because then I could buy a whole fish for 20 ringgit and save some money.

Armed with just my instincts and the flavor profile that I got from having this fish curry over several visits I decided to try to recreate it.

Indian Fish Curry

indian fish curry

Learning Process

First of all, I knew I was going to need some fish curry powder, which I got at the grocery store. And I knew I was going to need the general condiments that go into curries which are garlic, shallots and ginger. I got some nice tenggiri (mackerel) and, because I love ladies fingers (okra), I made sure to get a lot of that as well.

My first attempt, I threw in some fenugreek just because I had it at home and I had this feeling that it was going to work with fish. I sauteed my aromatics, added the curry powder with water (following the instructions on the back of the package) brought it to a boil, and let it simmer a little bit.

After tasting it, I thought it needed some sourness, so I added a slice of assam keping. Let it simmer some more and tasted it again – whoa, it’s pretty sour so I took the assam slice out. I threw in the ladies fingers and then the fish and let it cook for under 10 minutes or just cooked, and served it.

The first attempt was all right but meh – definitely not as good as the one we had. Some things that didn’t quite work were: I could still taste the “chalkiness” of the powder in the curry – it had not cooked through so there was a raw, powdery flavor. It lacked heat – it needed some chilies to go with it. The assam keping added sourness, but it wasn’t a rounded, well-balanced flavor.

Try, Try Again

So I set out to try again. My second attempt was a little better. This time I kept the assam keping but left it just long enough to give it sourness. I boiled the curry a lot longer before adding the ladies fingers and let that cook for a while too, then I added the fish.

The second time was slightly better. This time the powdery chalky flavor was gone, but I had overcooked the ladies fingers because I let it boil too long before I added the fish.

Tips from a Pro

Before I tried the third time, we had gone to KL for a visit, and my friend took us to a really nice Indian restaurant in Brickfields for some banana leaf rice. She knew the owner and so I had a chance to chat with her when we had finished our meal. During the conversation, it came out that I had tried to make fish curry, and I told her what I did.

She said that I did it all right. Her advice was to not use assam keping but to use tamarind juice instead. She said that cooks in restaurants put the fish in and take it out just as the fish is about done, and then let the curry continue to simmer. They let the curry cook for 2 hours to get rid of the raw taste, then put the fish back in at the end.

The other way to get rid of the raw taste of the the curry powder would be to fry it in oil before adding the liquids, but that makes it more oily because the powder sucks up more oil.

She did confirm that fenugreek is the perfect spice for fish curry.

Third Time’s the Charm

So for my third attempt, I decided to just simmer the curry longer before adding the veggies and the fish. Instead of using assam keping, I used tamarind. Instead of just cutting up the onions, garlic and ginger, I decided to pound it along with a couple of chilies into a paste.

This time round, I would say I came very close to what the restaurant served. It could have used perhaps a little more heat, but seeing as I have two young children, this was the right amount of heat. Nate pronounced it, “very good!”

Indian Fish Curry Recipe

Prep time:20 min, Cook time:50 min


1 lb to 1.5 lb mackerel, cut into steaks about 1 inch thick
10 whole okra (choose young ones)
2 tomatoes, cut into chunks
1 large red onion, large dice

Aromatic paste (blend or mash these ingredients)
3 cloves garlic
3-4 shallots
2 whole red chillies
1 inch of ginger, roughly chopped

3 heaping Tbsp of fish curry powder
1 tsp fenugreek
2 sprigs curry leaves
3 cups water + 1/2 cup water for tamarind pulp
1 Tbsp tamarind pulp

salt to taste

3-4 tbsp cooking oil

Ingredients for Indian Fish Curry

Indian Fish Curry ingredients


1. Start by pounding or blending the garlic, chilies, shallots and ginger into a paste.

2. Heat up the wok medium-medium low heat and add the oil. Throw in the curry leaves and the fenugreek, stirring constantly to make sure the fenugreek doesn’t burn. When the curry leaves start to smell really fragrant, throw in the rest of the paste. Stir-fry that until fragrant, about 3-5 minutes. Make sure you don’t burn your spices.

Frying Curry Leaves and Aromatic Paste

Frying garlic, curry leaves, spices and aromatic paste

3. Add the 3 heaping tbsp curry powder. Stir it quickly. At this point you won’t have enough oil so have ready your 3 cups of water to throw in. Throw in the water, stir, and bring the heat up to high to bring the curry to a boil.

4. Mix the other half cup of water together with the tablespoon of tamarind pulp. Mash the pulp until the water is muddy looking. Using a sieve, add the tamarind juice to the curry, pressing to get all the liquid out of the pulp and into the stock.

At this point, your curry will taste sour and not very flavorful. Don’t worry about it – the fish will add sweetness.

5. Add about 1/2 tsp to a tsp of salt and allow the curry to come to a boil. Throw in your tomatoes and your onions. Turn your heat down and let it simmer on low heat for about 1/2 hr.

Adding Curry, Water, Tamarind, Tomato and Onions

Adding curry, water, tamarind, and tomatoes and onions

6. Throw in your fish and vegetables. It should be almost stew like. If you are using okra, leave them whole as if you cut them, they will release their sticky sap and thicken your soup. (If you do want to cut the okra, deep fry them first.)

If you don’t like okra, you can use other vegetables, like eggplant or long beans. But who doesn’t like okra?

Adding Okra and Mackerel to Indian Fish Curry

Adding okra and mackerel

Simmer for 10 minutes or until the fish is done. Adjust the flavors. if it needs a little bit more sweetness, you can add a bit of fish sauce or some ikan bilis bouillon. (I normally use about a 1/2 teaspoon.)


Serve it over rice. If you like it to be more spicy you can throw in a couple more whole chili padi.

Indian Fish Curry

indian fish curry

Good For You

Indian fish curry is a really good alternative to coconut-based Malaysian curries because the flavors are punchy yet the ingredients are so much more healthy and good for you. However, it’s almost impossible to eat this dish with just a little bit of rice, so that will still get you in the end. (You could, of course, eat it with chapati or roti. Curry sauce is a wonderful dip for these flat breads.)

Cheers, Annie

For its use of fenugreek, I am entering this post in the Weekend Herb Blogging roundup, hosted by Haalo of Cook Almost Anything.

Check out other recipes using fenugreek:
Chicken Drumsticks, Ethiopian Style by Simply Recipes
Sujuk, Armenian Style Sausage by Tony Tahhan
Whole Roast Chicken with Fenugreek by The Culinary Life
Indian Lentil Soup with Fenugreek by Herbivoracious
Fenugreek Seeds with Potatoes by eCurry

20 thoughts on “Indian Fish Curry Recipe”

  1. What a beautiful dish! All the photos are nice and make the whole process clear and easy to follow. I wish I could taste some from the pretty bowl 🙂 Well done!

    1. Dorach,

      the place we like to go to is called Amah’s Curry House on Ban Hock Road. There is another place called Restoran Cahaya on Green Road across from Wisma Saberkas that also serves roti and thosai.

  2. Good to know KCH now has good Indian restos for roti and thosai. I’m a fan of Indian foods, so will check out the restos you mentioned (cfr comment dd 6th Nov) when visiting KCH next time.
    BTW, Annie’s fish curry looks absolutely gorgeous. Yummy!! 😛

  3. Oooooh been wanting to b able to cook up a decent fish curry for a long time now.. My attempts have all been pretty dismal.. Annie u r AWESOME !!!!

  4. Wow! I love Indian fish curry, also try to replicate but can’t seem to get it. My aunt who married indian hubby cook such nice curries, i still can’t learn her tricks. so my mama taught me this – buy the curry sauce from indian stall, go home add fish & ladyfinger.. hahaha
    btw, just want to share I have 3 baking books to giveaway on my blog. come join if you love baking 🙂

  5. I shd’ve read this post earlier bc a few days ago i cooked curry fish n blew up my face when i fried the fish. Irony was, the indian doc in the emergency room informed me tt th fish in curry fish doesnt need to be fried. I did so bc my MIL fries her fish for fish curry n i dint want hub to say “how come ur curry is not the same as my mom’s?” lesson learnt, face is marred.

    1. Dear Terri,

      Oh I’m sorry you got burnt. We hate frying because the oil splashes everywhere. You are so nice for wanting to cook food “the way Mom used to do it”.

  6. Now that is a beautiful dish I could certainly wrap my taste buds around. I think I’m going to venture into the kitchen this week and try it out. Thanks for being awesome and including the recipe, and I love the photos!

  7. Accidentally jump into your space…… Thank you so much for sharing lots of tasty food. I am a Malaysian who is living in Beijing now. Your blog has made me fell homesick……

  8. Your fish curry looks almost like mine. Okra for fish curry, my mother would saute them in a pan (without oil), till the ridges turns a bit dark. This reduces the stickyness in okras. As for fish spices, you are right with the fenugreek. Also, in asian stores spices for fish curry are sold. I had to mix my own and they consists of fenugreek, black mustard seeds, cumin, fennel, urad dhal. Put a teaspoon of each ingredient (less of fennel) and mix all together and from there, if you are making fish curry, add a teaspoon of this mixed spices first into the oil. When you hear the first splatter, you can add the onions etc etc. Thanks for sharing this post, I loved every bit of it.

  9. Great blog,Nate and Annie!Lovely post,btw I’m Indian and cook fish curry often.If you wish, can splutter some mustard seeds and throw in some curry leaves and fennel in the beginning,while sautéing.

  10. Hello Annie and Nate!

    Chanced upon your website as I’m making fish curry today. Though I’ve made it several times, I like to look at what other people do before I start on mine. It’s great to see you guys collaborating on this blog 🙂

    I do my fish curry a bit differently. I saute the onion rings after the fenugreek get fragrant and add curry leaves only when the curry is simmering. Think I’ll try adding the leaves with the fenugreek this time round. That should release flavours from the leaves and onion. As for the powder, I used to just add it dry but my sister in law who is a great cook gave me a tip to make the powder into a paste before adding it to the pot. You might want to try it too.

    Ok got to go cook but will be returning to check out the other yummy-looking food you have here 🙂


  11. Hi Annie,
    Thanks v much for this…I tried making this today, following your recipe. Used a mixture of batang and leftover sutchi from yesterday’s dinner. It was delish! My family finished it all 🙂

Leave a Reply

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