North Indian (Punjabi style) fish masala is a fish curry made with onions,tomatoes, ginger, garlic, ground spices and scented with kasuri methi(dry fenugreek leaves). It is super easy to make and takes about 30 minutes.
If you are looking for a simple & easy curry recipe, you will love this spicy fish masala! It is our weeknight favorite with steamed basmati rice or jeera rice. Comes together in about 30-35 minutes with basic things available in your pantry.

In north India, masala fish recipes do not include coconut. If you love fish curries with coconut, might I suggest my indian salmon curry ? Easy & quick fish and seafood recipes like fish masala, fish tikka or shrimp masala are a true savior on busy weeknights!
Punjabi curries are spicy and tangy with warmth from garam masala powder and ginger. Whenever I get my hands on good white firm fish, I make this fish curry. Kids love it and the leftovers taste great!This delicious fish curry has a chunky, onion tomato base with a basic yet fragrant spice blend.
Which Fish is Good for Indian Cooking
I usually go for any firm white fish like barramundi, sea bream, cod, halibut etc but you can use salmon as well. Secondly, I like using fish steaks but fillets will work as well. Make sure that the fillets are thick else they will break while cooking.
Growing up, for a north indian family, we ate ridiculous amount of fish. Mom used rohu (fresh water green carp), surmai or rawas (indian salmon) to make curries. When I came to States, I did not eat fish for a couple of years, the idea of fillets in curries simply did not appeal to me. It was only a few years ago that I spotted an asian market which sells fish steaks and my love for nostalgic fish curries got revived.
Here's another of my favorite fish recipe for summers using barramundi steaks- Bengali Macher Jhol.
Where to buy fish for curries?
When I plan to make curries, I usually buy fish from the asian markets. Most asian markets here in America have a large fish section and a wide variety of seafood to choose from. In most stores, they clean and butcher the fish for you which is truly helpful.
How to make sure that you select good quality fish for curries
If you are purcahsing whole fish, to make sure that the fish you are buying is fresh for great tasting curry, here are few of my tips. Firstly, check the eyes of the fish. They should not appear hazy- should be clear and bright.
Secondly, lift up (tongs are available in stores) and look under the gills of the fish. If the area looks reddish, the fish has been caught fresh, if it is brownish, the fish has been lying around on the shelf for a while.
Ingredients (Notes)

- Fish - As I already mentioned, any white firm fish. I used barramundi steaks. Salmon or cod fillets will work fine too. You could use frozen fish fillets like cod or mahi mahi. Make sure that the fillets are of good thickness else they will overcook.
- Mustard Oil - I love making curries especially fish curry in mustard oil. You can use avocado or grapeseed oil instead.
- Whole Spices - Cumin Seeds & Fenugreek Seeds (skip if you dont have)
- Powdered Spices- Coriander powder, Kashmiri Red Chili Powder, Turmeric Powder, Garam masala powder
- Kasuri methi (Dried Fenugreek Leaves)- Is an aromatic herb used to flavor lot of north indian indian curries. It is very easily available online or in indian grocery stores. It has strong aroma and a pleasant bitter sweet taste- it is a great addition to dips, sauces and dressings you make. Kasuri methi has a along shelf life so you can stock up.
- Amchur - Punjabi dishes are usually finished with amchoor which is tangy dried mango powder. You can add lemon juice instead.
- Other Ingredints- Onions, Tomatoes, Ginger, Garlic, Green Chilli(hot variety)
How To Make Punjabi Fish Curry (Step Pictures)
- Rub the clean fish steaks with turmeric powder and salt. Set near while you do the prep.
- Chop onions and blend the tomatoes. Add garlic and roughly chopped green chili to a mortar pestle and pound coarsely. Julinne the ginger.
- Warm up the mustard oil till slightly smoky. Temper the hot oil with fenugreek seeds, ginger julienne and garlic- green chilli paste.


- Next, add the chopped onions and saute them till golden brown.
- Add a little water and add the powdered spices along with cumin. Cook the spices for a minute or so till you smell a nice aroma.


- Add the blended tomato, salt & sugar and cook for 3-4 minutes till you see oil separating on the sides of the pan.
- Carefully, layer the fish in a single layer over the onion tomato masala. Let cook for a minute and using a wooden spoon or spatula flip it.


- Add warm water and cover the pot. Cook for 8-12 minutes or until the fish is cooked through.
- Finish with kasuri methi, amchoor (or lemon juice) and garam masala.


- Sprinkle some cilantro before serving.
Serving
The best way to serve fresh cooked fish curry is with steamed basmati rice. If you have leftovers, next day make a paratha and serve it with fish, trust me, its so delicious. I grew up eating it for breakfast next day.
Few Tips
- Choose a wide and shallow pot to cook the fish. Once you have added the fish, don't toss and turn it around much. Just flip 1-2 times to cook on all sides.
- You can shallow fry the fish before adding to the sauce.I don't because my mom never did so.
- Use a wooden spoon to work with the fish, reduces the chances of fish breaking.
- Don't go overboard on spices or onions or tomatoes or any of the ingredients. We want the taste of fish to shine.


North Indian (Punjabi Style) Fish Masala
Ingredients
- 1.1 lb (~500g) fish fillets or steak, I used barramundi steaks
- ½ teaspoon turmeric powder
- 1 teaspoon salt
- ½ teaspoon fenugreek seeds
- 3 garlic cloves
- 2-3 green chili hot variety, adjust to tolerance
- 2 inch fresh ginger julienne
- ¼ cup mustard oil substitute with cooking oil of choice
- ¾ cup onions finely chopped
- 1 teaspoon cumin seeds
- 1.5 teaspoon coriander powder
- 1 teaspoon kashmiri chilli powder
- ½ teaspoon turmeric powder
- 1 cup pureed tomatoes blend 3 medium tomatoes in a blender
- ½ cup warm water
- ½ teaspoon dry mango powder (amchoor, substitute with lemon juice to taste)
- 1 teaspoon kasuri methi (dry fenugreek leaves)
- ½ teaspoon garam masala
- Chopped cilantro to garnish
Instructions
- Rub the fish with ½ teaspoon of turmeric powder & ½ teaspoon salt and set near while you prep the vegetables.
- Add garlic and roughly chopped green chili to a mortar pestle and pound coarsely.
- In a heavy bottomed pan, add the oil and heat up till you see ripples on the surface. If using mustard oil, you will need to heat it till its slightly smoking to do away the raw smell.
- Reduce heat to medium and add fenugreek seeds, ginger and garlic green chili paste to oil. Take care not to burn. Take the pot off the stove if needed. Saute for 15 seconds or so.
- Next, add the onion and cook them till golden brown. About 5-7 minutes.
- Add 2-3 tablespoon water and add the coriander cumin, kashmiri chili and turmeric powder. Saute the spices for a minute or so in oil.
- Next, add the tomatoes and salt. Cook this masala on low heat till the oil starts separating from the mix along the sides of the pan. About 8-10 minutes.Cook thoroughly to reduce moisture of tomatoes. This will help develop flavors and color of the curry, please do not rush. Allow to reduce till masala acquires beautiful reddish to brown color.
- Carefully, layer the fish in a single layer over the onion tomato masala. Sprinkle ½ teaspoon salt. Stir around gently using a wooden spoon so that the fish is coated in the masala. Let cook for a minute and using a wooden spoon flip. Add warm water and then cover the pot. Cook for 8-12 minutes or until the fish is cooked through.
- Finish with kasuri methi, amchoor (or lemon juice) and garam masala. Sprinkle some cilantro before serving.
Notes
- Choose a wide and shallow pot to cook the fish. Once you have added the fish, don't toss and turn it around much. Just flip 1-2 times to cook on all sides.
- Any white firm fish can be used in this recipe. I used barramundi steaks. Salmon or cod fillets will work fine too. Make sure that the fillets are not too thin else they will overcook.
- I love making curries especially fish curry in mustard oil. You can use avocado, sunflower or grapeseed oil instead.
- You can shallow fry the fish before adding to the sauce.I don't because my mom never did so.
- Use a wooden spoon to work with the fish, reduces the chances of fish breaking.
- Dont go overboard on spices or onions or tomatoes or any of the ingredients. We want the taste of fish to shine.
- Skip fenugreek seeds and kasuri methi if you don't have at home.






pRiya says
Hi Tanvi, I am a Mangalorean and we cook fish very differently. Kokum is used as the souring agent. Kasuri Methi and Mango powder in fish curry is unheard of. However since this was your recipe, such an intriguingly easy one and the pictures looked so good, I tried it. Once again full marks.
Here, I wanted to tell you that all my cooking has been learnt from cookbooks, so there are certain basics that I do not really know which thankfully you describe in your blog, such as heat the oil high and then lower it while adding onions, and the correct way to cook the tomatoes. It has made a world of difference. Thank you for taking the time to tell us these small but important things.
Varsha says
Hey Tanvi,
Ur are a genius. I made this recipe and it works 🙂
And ur writing skill is commendable. My mouth watered just reading this blog.. 🙂
I'll definitely watch out for more blogs from u 🙂
Varsha 🙂
Tanvi says
Thanks so much for trying and letting me know. Hope you keep enjoying the blog 🙂
FP says
Hi Tanvi, my wife just made this fish curry of yours and i would just like to say it was amazing. The best fish curry i've ever had by far. Perfection i say!!! Will definitely be looking at your other recipes.
Tanvi says
Thanks so much! I m so happy to know that FP. Hope your wife cooks more for you from the blog!
Katja says
It's extremely tasty. Thanks, Tanvi, we loved your curry fish, thou my husband prefares fish fillet to fishsteaks ( lazy eater, haha). It goes very nice with fresh cucumber too.
But I would like to ask,if it is possible to cook a chicken in the same way too?
Myriam says
Tanvi, thank you for that fabulous curry and a great story. What a lovely blog. I must admit I never was a big fan of Indian food before (unfortunate experiences ) but I knew it had to be good. I was right. Thank you again. I can't wait to try more of your recipes!
vrinda says
Hi..nice recipe..tried it today..came out well..thanku so much
.. can we shallow fry the fish pieces before putting in masala...
Tanvi says
yes you can shallow or deep fry as you like
rheena74 says
Thanks Tanvi. Another winning recipe cos the minute I came home from work my son says the fish curry was yummy! 🙂
Gary Warden says
I made this at the weekend with some white fish fillets, prawns and Trout.
I grated the onions to make the paste thicker but that is all I changed. Very nice thank you. Im looking forward to trying some of your other recipes.
Graham S says
Hi Tanvi. I've been looking for a good North Indian fish curry recipe and found the perfect one - this one!! The fish came out perfectly and absolutely yummy.
Your instructions and ingredients were just right and easy to understand.
Thank you ever so much.
Take care
Graham
Tanvi Srivastava says
Glad to know you enjoyed the recipe. Thank you so much for your feedback.
Graham S says
I meant to add that I used Snapper fish (New Zealand)
Tanvi Srivastava says
Snapper is a great choice. Most white firm fish work in this recipe. Thanks again!
Maurice Nathan says
Made this yesterday, fabulous! Wondering if it can be made ahead in batches in reheated in the oven to serve a large crowd.