Fish Curry Recipe Without Coconut: Bold, Spicy and Ready in 40 Minutes

Fish Curry Recipe Without Coconut: Bold, Spicy and Ready in 40 Minutes

Firm white fish, marinated and seared golden, finished in a mahogany tomato-onion masala with cumin, coriander and Kashmiri chilli. No coconut milk, no cream, and the fish stays in whole pieces.

  • 40 minutes, one pan
  • Dairy-free and nut-free
  • Which fish to buy
  • Printable recipe
A white enamel braiser pan of fish curry seen from above at an angle, golden seared chunks of white fish in a thick glossy mahogany-red tomato and onion gravy, topped with fine julienned ginger, slit green chillies and chopped cilantro, a small bowl of cilantro at the edge, on a grey stone surface, soft natural light, food photography

The pan from the pin: golden seared fish in a thick mahogany gravy, julienned ginger, green chillies and cilantro on top.

A good fish curry recipe without coconut gets its richness from the pan, not a can: onions browned until deep golden and tomatoes cooked down until the oil separates. Sear the fish first so it keeps its shape, slide it into the gravy for the last eight minutes, and dinner is on the table in forty.

In this post:

  • Why it is rich without coconut
  • Ingredients, and which fish to buy
  • The recipe, scaling from 2 to 8
  • Four rules for whole fish and a thick gravy
  • What makes the gravy rich, and how hot to make it
  • Six versions: yogurt, tamarind, mustard, prawn, salmon
  • What to serve, storage, troubleshooting and 14 FAQs

Why This Fish Curry Is Rich Without Coconut

Rich without coconut

Deeply browned onions and a properly cooked tomato masala give the gravy body and sweetness. The oil separating at the edges is the sign it is ready; nothing else needs to be added.

Fish that stays whole

A ten-minute turmeric-chilli marinade and a quick sear give the fish a crust, so it holds together in the gravy and looks like the pin.

Forty minutes, one pan

Sear, brown, bhuno, simmer. The fish is in the gravy for the last 8 minutes only.

Dairy-free and nut-free

No coconut, cream, yogurt or cashews in the classic. Six versions in the tabs, including a yogurt curry and a tangy tamarind one.

Ingredients for Fish Curry Without Coconut

Firm white fish

Cod, halibut, snapper, kingfish (surmai) or rohu, in 2-inch chunks. Firm fish holds through the sear and simmer; the fish table below has the full list, and which ones to avoid.

Onions

Two medium, finely diced so they brown evenly in 10 to 12 minutes. They are the base of the gravy and the reason it does not need coconut.

Tomatoes

Three ripe tomatoes, pureed, or a cup of canned crushed tomatoes. Cooked down with the spices until the oil separates, they turn from bright red to mahogany.

Ginger and garlic pastes

A tablespoon each. Fresh paste is best; jarred works at the same amount.

The spices

Cumin seeds, ground coriander, cumin, turmeric and Kashmiri chilli in the gravy; garam masala and kasuri methi at the end. The spice table below says what each does.

Kashmiri chilli powder

Bright red, mildly hot. It gives the colour on the pin without overwhelming heat; add cayenne for more fire.

Green chillies

Two, slit, laid on top while the fish cooks. They perfume the gravy without much heat; chop them for more.

Lemon, ginger and cilantro

The finish: lemon to brighten, julienned ginger for a sharp bite, cilantro for freshness.

Fish Curry Recipe Without Coconut

The card makes 4 servings in a 12-inch braiser or kadai. Tap a size and everything updates.

Fish Curry Without Coconut

Firm white fish marinated, seared golden and finished in a mahogany tomato-onion masala with cumin, coriander, Kashmiri chilli and garam masala. No coconut milk, no cream, ready in 40 minutes. Tap a serving size and the printable card updates.

How many servings?

  • Prep10 minutes
  • Cook30 minutes
  • Serves2468
  • Pan10-inch skillet12-inch braiser or kadailarge braisertwo pans or a wide Dutch oven

Ingredients

  • ¾ lb1½ lb2¼ lb3 lb firm white fish (cod, halibut, snapper, kingfish), 2-inch chunks
  • ¼ tsp each½ tsp each¾ tsp each1 tsp each Marinade: turmeric, Kashmiri chilli powder, salt
  • ½ tsp1 tsp1½ tsp2 tsp lemon juice, for the marinade
  • 1 tbsp2 tbsp3 tbsp¼ cup neutral oil, for searing
  • 1½ tbsp3 tbsp¼ cup + 1 tbsp6 tbsp Gravy: neutral oil or ghee
  • ½ tsp1 tsp1½ tsp2 tsp cumin seeds
  • 1 medium2 medium3 medium4 medium yellow onions, finely diced
  • 1½ tsp each1 tbsp each1½ tbsp each2 tbsp each ginger paste and garlic paste
  • 1½ (½ cup)3 (1 cup)4½ (1½ cups)6 (2 cups) ripe tomatoes, pureed (or canned crushed)
  • ¾ tsp1½ tsp2¼ tsp1 tbsp ground coriander
  • ½ tsp, ¼ tsp1 tsp, ½ tsp1½ tsp, ¾ tsp2 tsp, 1 tsp ground cumin and turmeric
  • ½ tsp1 tsp1½ tsp2 tsp Kashmiri chilli powder (plus cayenne for more heat)
  • ½ tsp1 tsp1½ tsp2 tsp salt
  • ⅓ cup¾ cup1 cup1½ cups hot water
  • 1234 green chillies, slit
  • ¼ tsp½ tsp¾ tsp1 tsp To finish: garam masala
  • ¼ tsp½ tsp¾ tsp1 tsp kasuri methi (dried fenugreek), crushed (optional)
  • ½ tsp + a little1 tsp + 1 tbsp + 3 tbsp1½ tsp + more2 tsp + more lemon juice, julienned ginger and chopped cilantro

Firm fish: cod, halibut, snapper, kingfish or rohu. Sole and basa fall apart. Kashmiri chilli gives the deep red colour with mild heat; sweet paprika plus a pinch of cayenne is the swap. Do not stir after the fish goes in; shake the pan. Halal, dairy-free and nut-free as written.

Instructions

  1. Marinate the fish

    Pat the fish dry and toss with the marinade turmeric, Kashmiri chilli, salt and lemon juice. Leave 10 minutes while you dice the onions.

  2. Sear and set aside

    Heat the searing oil in a wide pan over medium-high and sear the fish 1½ to 2 minutes a side until golden. It should not cook through. Lift it onto a plate; the crust is what keeps the pieces whole in the gravy.

  3. Brown the onions

    Add the gravy oil to the same pan, then the cumin seeds for 30 seconds until they sizzle. Add the onions with a pinch of salt and cook 10 to 12 minutes, stirring, until deep golden. This is where the richness comes from; pale onions make a thin curry.

  4. Ginger and garlic

    Stir in the ginger and garlic pastes and cook 1 to 2 minutes until the raw smell is gone.

  5. Bhuno the masala

    Add the tomato puree, coriander, cumin, turmeric, Kashmiri chilli and salt. Cook 5 to 6 minutes, stirring and scraping, until thick and the oil separates at the edges. Splash in water if it catches.

  6. Simmer the gravy

    Pour in the hot water, stir, and simmer 2 minutes until the gravy is glossy and coats a spoon.

  7. Finish the fish

    Nestle the fish into the gravy in one layer, lay the green chillies on top, cover and cook on medium-low 6 to 8 minutes, until the fish flakes. Shake the pan to coat; do not stir.

  8. Finish and serve

    Scatter the garam masala, kasuri methi and lemon juice, cover for 1 minute, then top with julienned ginger and cilantro. Serve with basmati rice or roti.

Four Rules for Whole Fish and a Thick Gravy

A wide pan on a stovetop from above with thick dark-red tomato and onion masala cooked down until oil glistens at the edges, a wooden spoon resting in it, a plate of golden seared turmeric-marinated fish chunks beside the pan, small bowls of ground coriander, cumin, Kashmiri chilli and turmeric, green chillies and a lemon on the counter, warm kitchen light

The bhuna: tomato masala cooked down until the oil separates, the seared fish waiting on a plate beside the pan.

1

Firm fish, big pieces, patted dry

Two-inch chunks of a firm fish, dried well before the marinade. Small or wet pieces fall apart.

2

Brown the onions properly

Ten to twelve minutes, until deep golden, not just soft. This is the body of the gravy; rushing it gives a thin, sharp curry.

3

Bhuno until the oil separates

Cook the tomato and spices, stirring, until the paste is thick and the oil pools at the edges. Raw tomato tastes sour; cooked-down tomato tastes rich.

4

Sear first, then shake, never stir

The seared fish finishes covered in the gravy for 6 to 8 minutes. Move the pan, not the fish.

Which Fish to Use

FishVerdictNotes
FishCodVerdictExcellentNotesMild, large flakes; widely available
FishHalibutVerdictExcellentNotesFirm and meaty; the best for holding shape
FishSnapper or sea bassVerdictVery goodNotesSweet, firm; skin-on pieces hold even better
FishKingfish (surmai) or rohuVerdictTraditionalNotesThe South Asian choice; firm, rich, bone-in or steaks
FishTilapiaVerdictGood, budgetNotesMild; sear carefully, it is thinner
FishSalmonVerdictGood, richerNotesFattier; see the salmon tab
FishSole, basa, flounderVerdictAvoidNotesToo delicate; they break up in the gravy

What Makes the Gravy Rich, and How Hot to Make It

WhatWhat it addsHow
WhatBrowned onionsWhat it addsSweetness and bodyHow10 to 12 minutes, deep golden
WhatTomato bhunaWhat it addsThickness and depthHowCooked until the oil separates
WhatBloomed spicesWhat it addsRoasted, layered flavourHowIn the oil, never added to liquid
WhatGaram masala and kasuri methiWhat it addsWarm, savoury aromaHowAt the end, off the heat
WhatWhisked yogurt (optional)What it addsCreaminess and tangHow¼ cup, off the heat; see the yogurt tab
WhatGround almonds (optional)What it addsVelvet textureHow2 tbsp with the tomatoes; not nut-free

Heat Levels

LevelHowNotes
LevelMild, for childrenHowKashmiri chilli only, green chillies whole and removedNotesFinish with a spoon of yogurt
LevelMedium (as written)How1 tsp Kashmiri chilli, 2 slit green chilliesNotesWarm and bright
LevelHotHowAdd ¼ to ½ tsp cayenne, chop the green chilliesNotesServe with raita
LevelToo hot alreadyHowSplash of water, squeeze of lemon, pinch of sugarNotesRice and cucumber raita on the side

Six Ways to Make Fish Curry Without Coconut

Extreme close-up of a seared chunk of white fish in thick mahogany curry gravy, the fish breaking into moist white flakes under a spoon, glossy sauce clinging, a few strands of julienned ginger and cilantro leaves on top, soft directional light, shallow depth of field

Up close: a seared piece of fish breaking into flakes, the gravy clinging, a sliver of ginger on top.

Same masala, a different twist. Tap a version:

Tomato-Onion Fish Curry

The recipe above: seared fish in a mahogany tomato-onion masala with green chillies, ginger and cilantro. The pan on the pin.

Yogurt Fish Curry

After the masala is cooked, take the pan off the heat and stir in ⅓ cup whisked full-fat yogurt a spoonful at a time, then return to low heat with the water. Creamier, tangier and milder; it must not boil once the yogurt is in or it splits.

Tangy Tamarind Fish Curry

Add 2 tablespoons tamarind paste with the water and a teaspoon of jaggery or brown sugar, and temper 1 tsp mustard seeds and a few curry leaves with the cumin seeds. Sour, a little sweet, South Indian in spirit. Best with rice.

Mustard Fish Curry

Soak 2 tablespoons yellow mustard seeds 15 minutes and grind to a paste with a green chilli and a pinch of salt. Use mustard oil or neutral oil, skip the garam masala, and stir the mustard paste in with the water. Sharp and pungent, in the Bengali style.

Prawn Masala Curry

Swap the fish for 1½ pounds peeled prawns. Skip the sear; add the prawns to the simmering gravy and cook 3 to 4 minutes, just until pink and curled. Overcooked prawns turn rubbery.

Salmon Curry Without Coconut

Use skin-on salmon in 2-inch pieces. Sear skin-side down 2 minutes, finish in the gravy 5 to 6 minutes. Salmon is richer, so add an extra squeeze of lemon at the end.

What to Serve With Fish Curry, and How to Store It

A dinner table for four from above: a white braiser of fish curry with ginger and cilantro, a bowl of fluffy basmati rice, a stack of warm roti in a cloth, a small bowl of cucumber raita, a plate of sliced onion, tomato and cucumber salad, lemon wedges and four plates on a wooden table, warm evening light, overhead food photography

Dinner for four: the braiser of fish curry, basmati rice, roti, cucumber raita and lemon wedges.

What to put on the table with it:

  • Rice: plain basmati, or jeera rice with toasted cumin seeds
  • Bread: roti, chapati or naan to scoop the gravy
  • Cooling: cucumber raita, or kachumber salad of onion, tomato, cucumber and lemon
  • More curries: shrimp curry, chicken karahi or lentil curry
  • The coconut version, for comparison: creamy coconut curry

Make Ahead and Storage

WhatHow longNotes
WhatMake the masala aheadHow long3 days in the fridge, or 3 months frozenNotesReheat, add water, finish the fish fresh: 15-minute dinner
WhatCooked curry, fridgeHow long2 days, airtightNotesFish is best within a day or two; flavour deepens overnight
WhatReheatHow longGently, covered, on low with a splash of waterNotesDo not stir; shake the pan
WhatFreezer, cookedHow long1 monthNotesFish softens after freezing; the masala freezes better than the finished curry
WhatMarinate aheadHow longUp to 2 hours in the fridgeNotesLonger and the lemon starts to cook the fish
WhatLunchboxHow longWith rice, next dayNotesReheat until steaming

Troubleshooting

ProblemLikely causeFix
ProblemFish fell apartLikely causeDelicate fish, small pieces, stirredFixFirm fish, 2-inch chunks, sear first, shake the pan
ProblemGravy thinLikely causeOnions not browned, tomatoes not cooked downFixBrown onions 10 to 12 minutes; bhuno until oil separates
ProblemSour, raw tomato tasteLikely causeMasala undercookedFixCook the tomatoes longer before adding water
ProblemBitterLikely causeSpices burnt, or onions too darkFixAdd powders off high heat; deep golden, not brown-black
ProblemToo spicyLikely causeCayenne or chopped chilliesFixSplash of water, lemon, pinch of sugar; raita on the side
ProblemDull colourLikely causeOrdinary chilli powder, too little tomatoFixKashmiri chilli; a full cup of tomato
ProblemFishy smellLikely causeFish not fresh, or no acidFixFresh fish; lemon in the marinade and at the end
ProblemFish dry and chalkyLikely causeSeared through, then simmeredFixSear only until golden outside; 6 to 8 minutes in the gravy

Nutrition (approximate, per serving, without rice)

Calories~310
Protein~32g
Carbs~14g
Fat~15g

One of four servings with cod. Halal, dairy-free, nut-free and gluten-free as written; a cup of basmati adds about 200 calories.

Fish Curry Without Coconut: FAQs

How do you make fish curry without coconut?

Marinate firm fish in turmeric, chilli, salt and lemon, sear it golden, then brown onions, add ginger and garlic, and cook pureed tomatoes with coriander, cumin, turmeric and Kashmiri chilli until the oil separates. Add water, nestle the fish in, cover and cook 6 to 8 minutes. The card above scales from 2 to 8.

What makes the gravy thick and rich without coconut milk?

Onions browned 10 to 12 minutes and tomatoes cooked down until the oil separates. Together they give body and sweetness. Whisked yogurt or ground almonds are optional extras; the richness table above lists each.

What is the best fish for curry?

Firm white fish: halibut, cod, snapper, sea bass, kingfish or rohu. They hold together in the gravy. Avoid sole, basa and flounder, which break apart. The fish table above has the full list.

How do I stop the fish breaking apart?

Use firm fish in 2-inch pieces, pat it dry, marinate and sear it before it goes into the gravy, and shake the pan instead of stirring once it is in.

Do I have to sear the fish?

It is not essential, but it is what keeps the pieces whole and gives the golden edges on the pin. Without searing, add the marinated fish straight to the gravy and cook covered 8 to 10 minutes, very gently.

Can I use frozen fish?

Yes. Thaw it overnight in the fridge and pat it very dry before marinating. Frozen fish releases more water, so sear it a little longer to get a crust.

What can I use instead of Kashmiri chilli powder?

Sweet paprika with a pinch of cayenne gives the same colour and mild heat. Ordinary chilli powder is hotter and duller in colour; use half the amount.

How spicy is this fish curry?

Medium as written: warm from Kashmiri chilli and slit green chillies. The heat table above shows how to make it milder for children or hotter with cayenne.

Is this fish curry dairy-free and halal?

Yes. Oil instead of ghee keeps it dairy-free, there is no cream, yogurt or coconut in the classic, and it contains no alcohol. It is also nut-free unless you add the optional ground almonds.

Can I make it ahead?

Make the masala up to 3 days ahead, or freeze it for 3 months. On the day, reheat it with water and finish the fish fresh; dinner takes 15 minutes. Cooked curry keeps 2 days in the fridge.

What do I serve with fish curry?

Basmati or jeera rice, roti or naan, and a cooling cucumber raita or kachumber salad. A wedge of lemon on the side for anyone who likes it sharper.

Can I make it with prawns or salmon?

Yes, both are in the tabs. Prawns skip the sear and cook in the gravy 3 to 4 minutes; salmon is seared skin-side down and finished in 5 to 6 minutes.

What is kasuri methi and do I need it?

Dried fenugreek leaves, crushed between the palms and sprinkled at the end. They add a savoury, slightly bitter aroma typical of restaurant curries. Optional, but worth keeping in the cupboard.

How many calories are in a serving?

About 310 per serving of the curry for four, before rice or bread. It is high in protein and lighter than a coconut curry.

Save the pin so the recipe, the fish guide and the six versions are one tap away.

More Curries

Shrimp, the coconut version, karahi, lentil, beef and Thai red.

Brown the onions, cook the tomatoes until the oil shows, sear the fish, shake the pan. Forty minutes, no coconut, and every piece comes out whole.

Pin this fish curry recipe without coconut for the next fish night.

Save This Fish Curry on Pinterest →

© 2026 Kitchen Guide 101 · All rights reserved · Some links are affiliate links

Scroll to Top