Go Back
+ servings
North Indian Fish Curry Featured Image
Print Recipe
5 from 5 votes

North Indian (Punjabi Style) Fish Curry

Easy north Indian (Punjabi style) fish curry made with onions,tomatoes masala spices and scented with kasuri methi. Ready in 30 minutes
Prep Time10 mins
Cook Time20 mins
Total Time30 mins
Course: Main Course
Cuisine: Indian
Servings: 3 servings
Calories: 376kcal


  • 1.1 lb (~500g) fish fillets or steak, I used barramundi steaks
  • 1 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 olive 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


  • Rub the fish with 1 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.


  • 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. 


Calories: 376kcal | Carbohydrates: 12g | Protein: 35g | Fat: 22g | Saturated Fat: 3g | Polyunsaturated Fat: 5g | Monounsaturated Fat: 12g | Cholesterol: 83mg | Sodium: 582mg | Potassium: 780mg | Fiber: 4g | Sugar: 4g | Vitamin A: 752IU | Vitamin C: 15mg | Calcium: 55mg | Iron: 3mg