When it comes to fish dishes, nothing quite compares to the Pakistani fish curry that my mom used to make. While fried and baked fish are convenient options, there’s nothing like the exquisite flavors of a well-prepared fish curry. The recipe I’m about to share is not only simple and easy to follow, but it also captures the nostalgic taste of my childhood. In the USA, we enjoy fish throughout the year, but in Pakistan, it’s a winter delicacy. I filmed this recipe during the winter season, using the freshest fish available to me.

What goes in Pakistani style fish curry
Fish
I used Swai fish from a local market which was cut into steaks with bone and skin still on but this curry can also be made with fish fillets. Any white meat fish such as tilapia, cod, or cat fish will be a good choice for this fish curry.
Onions and tomatoes
Onions and tomatoes are an integral part of desi curries and stews. Onion makes the base and is slightly sweeter, and tomato, on the other hand, is slightly sour, which balances the flavors. I caramelized the onions before adding in ginger garlic and tomatoes. Onions and tomatoes make a perfect balance of sweet and sour for this curry.
Spices
When it comes to seasoning a delicious curry, the choice of spices plays a fundamental role in determining the final taste. In this case, the blend of salt, red chili, cumin, coriander, and turmeric powder brings a rich and aromatic profile to the dish.
Ginger and garlic paste
Subcontinental food is incomplete without some ginger and garlic. I like to make ginger and garlic paste in advance and freeze it in small portions. I used a 1tsp each of ginger and garlic paste in this recipe.
Marination time
Marinate the fish with salt, red chili turmeric, ginger garlic and lemon juice for about 30 minutes. This marination makes a huge difference in the taste. Especially applying garlic and lemon juice will make this fish an authentic Pakistani flavor.
Frying the fish
We are going to shallow fry the fish. I remember when my mom use to fry fish she usually use to fully fry a few pieces and we would enjoy a fried fish and a gravy later. Fry it over medium heat until it has some color on both sides. It tempting to fry over high heat but it will burn all of the marination so stick to the medium heat.
Making gravy
To make this special gravy first caramelize the onions but not like we do for pulao. Only light golden and then add pureed tomatoes followed by the same spices we used for marination and cumin coriander powder.
How to serve fish curry?
My favorite way of enjoying this special Pakistani style fish curry is with white rice. I have a super easy instant pot recipe for white rice. Do check it out. Take out some white rice on a plate and drizzle this luscious fish curry all over it and dig in. It will surely take you back to your childhood when you were enjoying your mother’s special machi (fish) chawal (rice).
How to store fish curry?
Allow any leftovers to cool completely and then store in an air tight container for 3-4 days. You can also just marinate the fish and leave it in the fridge for up to two days. Once ready to cook take it out of the fridge about 30 minutes before cooking to bring back the temperature to normal before frying.

Pakistani Fish Curry
Ingredients
Marination for fish
- 1.2 lbs fish about 1/2 kg
- 1/2 tsp salt
- 1/2 tsp red chili powder or cayenne pepper
- 1/2 tsp turmeric
- 1 tbsp lemon juice
- 1 tsp garlic paste
- 1/2 tsp carom seeds (ajwain) optional but if you want Pakistani taste do add
Spices for curry
- 1/2 tsp red chili powder or cayenne pepper
- 1/2 tsp Kashmiri chili or paprika
- 1/2 tsp salt or to taste
- 1/2 tsp cumin powder
- 1 tsp coriander powder
Other ingredients for gravy
- 1 medium onion thinly sliced
- 2 medium tomatoes pureed
- 1 tsp ginger paste
- 1 tsp garlic paste
- 2 cups water or as needed
- 1/3 cup oil If you like more oil in your curry like me then you can add 1/2 cup
Garnish
- Green chilies sliced
Instructions
- Wash and pat dry fish slices.
Marinate fish
- Now marinate the fish with all of the ingredients for marinate. Rub it on both sides of fish and let it sit while your are prepping for curry.
- Peel and thinly slice onions and blend two tomatoes with 3 tbsp of water. Set it aside
Fry fish
- In a pan over medium-high heat add 1/3 cup of oil and fry fish from each side for 3-4 minutes. Take the fish out on a plate.
Prepare gravy
- In the remaining oil fry onions for 7-8 minutes until they turn light golden brown. Oil is infused with spices from the fish so be extra careful to not over cook onions.
- Add ginger garlic paste and mix. Add tomato puree and all of the spices.
- Mix and cook until oil seperates the masala about 5 minutes over medium heat.
- Add 2 cups of water, cover and let it come to a boil.
- Add fish pieces back to the gravy and cook on low heat for another 5 minutes.
- Add green chilies and your fish is ready!
