Tilapia Fish curry (in a spicy onion and tomato sauce)

Tilapia Fish Curry
Tilapia Fish Curry

Fish and shrimp cooked in various forms is what I ate on a regular basis growing up in Mumbai. But when we visited Kochi, a coastal town in Kerala on our annual vacations, seafood is what we ate for practically every meal! And nothing like the ‘Kari meenu'(Pearl Spot fish) curry cooked out of  fresh fish that has just been caught – the meat is so delicate, melt-in-the-mouth kind.   Kari meenu is usually cooked in a spicy onion tomato sauce flavored liberally with coconut oil and curry leaves. Tilapia is a close substitute for this ‘kari meenu or Pearl Spot fish’.   So living here in the US, Tilapia curry cooked similarly has been making up for the kari meenu curry that I would crave so much for!

We have been fortunate to live close to an Asian supermarket that also has a fresh seafood market and we get freshly caught Tilapia fish, which is what is needed for this curry to become the ultimate fish curry ever! However, you could try making this with tilapia filets as well. I cannot promise if it will be as good though!

This recipe will serve about 4 people when served with plain white rice. I have also done a video recording of this recipe – see below.

10-12 pieces of fresh tilapia fish
(or any other fresh water fish)
1 tbsp coconut oil(in liquid form)
2 medium size red onions, thinly sliced (long, thin slices)
2 medium size tomatoes, finely chopped
2 green chillies, slit length-wise
1 tsp fresh ginger, finely chopped
1 tsp fresh garlic, finely chopped
6-8 fresh curry leaves with stem
1 1/2 tsp red chilli powder (cayenne pepper powder)
- use 1 tsp if you want mild
1/2 tsp turmeric powder
1 1/2 tsp salt or per taste
3/4 cup water
1/2 tsp of vinegar (optional)


Wash the fish pieces throughly with cold water and remove any excess water with a paper towel. Set the fish aside.

Take any medium size cooking pot or an earthern pot (if you have one) and place on the stove.  Add the coconut oil. when the oil gets hot, add the onions and saute them on medium to high heat for about 5-6 minutes until the onions get cooked.

Then add the ginger, garlic, green chillies,salt and the curry leaves. continue sauteing for another minute or so.

Next mix the red chilli powder and turmeric powder in a small bowl using 1 tbsp of water and add that paste into the pot and stir for about 2 minutes.

Next add the tomatoes and continue to sauté them until the tomatoes get cooked and turn pulpy. this should take about 7-8 minutes. Make sure you continuously stir to avoid any burning.

When the tomatoes are soft and pulpy and when the oil begins to separate out a little bit, then  its time to add the water. Add the water and let the mixture come to a boil and then add the fish pieces slowly into the pot.

Turn the heat on low and mix the fish with the mixture so that all the fish pieces are well coated with the onion tomato masala. At this point, the gravy will not be very watery but there is no need to add additional water since we need to cook the fish covered.

So cover the pot with a tight fitting lid and cook on low to medium heat for about 15 minutes. Open the pot periodically to give the fish pieces a quick stir to make sure they do not stick to the pot.

Open the pot and check consistency of the curry and if required, cook on open for an additional couple minutes to get your desired consistency. If you like your curry to be really sour, you could add a 1/2 tsp of vinegar at the end just before taking off from heat.

Serve with plain cooked white rice. You may add an additional tsp of coconut oil just before serving.


You could try making this curry with tilapia fillets as well although I have never tried using filets in this curry. If you do use filets, you would need to reduce the final cooking time to cook fish to about 5-6 minutes since the filets cook very fast and they can start coming apart if you overcook them.

You can also watch a step wise video of this recipe:

(Visited 621 times, 1 visits today)

Leave a comment

Leave a Reply

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

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