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

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?
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
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.
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.
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.
Ginger and garlic
Stir in the ginger and garlic pastes and cook 1 to 2 minutes until the raw smell is gone.
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.
Simmer the gravy
Pour in the hot water, stir, and simmer 2 minutes until the gravy is glossy and coats a spoon.
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.
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

The bhuna: tomato masala cooked down until the oil separates, the seared fish waiting on a plate beside the pan.
Firm fish, big pieces, patted dry
Two-inch chunks of a firm fish, dried well before the marinade. Small or wet pieces fall apart.
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.
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.
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
| Fish | Verdict | Notes |
|---|---|---|
| FishCod | VerdictExcellent | NotesMild, large flakes; widely available |
| FishHalibut | VerdictExcellent | NotesFirm and meaty; the best for holding shape |
| FishSnapper or sea bass | VerdictVery good | NotesSweet, firm; skin-on pieces hold even better |
| FishKingfish (surmai) or rohu | VerdictTraditional | NotesThe South Asian choice; firm, rich, bone-in or steaks |
| FishTilapia | VerdictGood, budget | NotesMild; sear carefully, it is thinner |
| FishSalmon | VerdictGood, richer | NotesFattier; see the salmon tab |
| FishSole, basa, flounder | VerdictAvoid | NotesToo delicate; they break up in the gravy |
What Makes the Gravy Rich, and How Hot to Make It
| What | What it adds | How |
|---|---|---|
| WhatBrowned onions | What it addsSweetness and body | How10 to 12 minutes, deep golden |
| WhatTomato bhuna | What it addsThickness and depth | HowCooked until the oil separates |
| WhatBloomed spices | What it addsRoasted, layered flavour | HowIn the oil, never added to liquid |
| WhatGaram masala and kasuri methi | What it addsWarm, savoury aroma | HowAt the end, off the heat |
| WhatWhisked yogurt (optional) | What it addsCreaminess and tang | How¼ cup, off the heat; see the yogurt tab |
| WhatGround almonds (optional) | What it addsVelvet texture | How2 tbsp with the tomatoes; not nut-free |
Heat Levels
| Level | How | Notes |
|---|---|---|
| LevelMild, for children | HowKashmiri chilli only, green chillies whole and removed | NotesFinish with a spoon of yogurt |
| LevelMedium (as written) | How1 tsp Kashmiri chilli, 2 slit green chillies | NotesWarm and bright |
| LevelHot | HowAdd ¼ to ½ tsp cayenne, chop the green chillies | NotesServe with raita |
| LevelToo hot already | HowSplash of water, squeeze of lemon, pinch of sugar | NotesRice and cucumber raita on the side |
Six Ways to Make Fish Curry Without Coconut

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

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
| What | How long | Notes |
|---|---|---|
| WhatMake the masala ahead | How long3 days in the fridge, or 3 months frozen | NotesReheat, add water, finish the fish fresh: 15-minute dinner |
| WhatCooked curry, fridge | How long2 days, airtight | NotesFish is best within a day or two; flavour deepens overnight |
| WhatReheat | How longGently, covered, on low with a splash of water | NotesDo not stir; shake the pan |
| WhatFreezer, cooked | How long1 month | NotesFish softens after freezing; the masala freezes better than the finished curry |
| WhatMarinate ahead | How longUp to 2 hours in the fridge | NotesLonger and the lemon starts to cook the fish |
| WhatLunchbox | How longWith rice, next day | NotesReheat until steaming |
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| ProblemFish fell apart | Likely causeDelicate fish, small pieces, stirred | FixFirm fish, 2-inch chunks, sear first, shake the pan |
| ProblemGravy thin | Likely causeOnions not browned, tomatoes not cooked down | FixBrown onions 10 to 12 minutes; bhuno until oil separates |
| ProblemSour, raw tomato taste | Likely causeMasala undercooked | FixCook the tomatoes longer before adding water |
| ProblemBitter | Likely causeSpices burnt, or onions too dark | FixAdd powders off high heat; deep golden, not brown-black |
| ProblemToo spicy | Likely causeCayenne or chopped chillies | FixSplash of water, lemon, pinch of sugar; raita on the side |
| ProblemDull colour | Likely causeOrdinary chilli powder, too little tomato | FixKashmiri chilli; a full cup of tomato |
| ProblemFishy smell | Likely causeFish not fresh, or no acid | FixFresh fish; lemon in the marinade and at the end |
| ProblemFish dry and chalky | Likely causeSeared through, then simmered | FixSear only until golden outside; 6 to 8 minutes in the gravy |
Nutrition (approximate, per serving, without rice)
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.
Shrimp Curry
Twenty minutes, same masala idea. See the recipe → With CoconutCreamy Coconut Curry
The coconut version, with chicken. See the recipe → PakistaniChicken Karahi
Tomato-based, ready in 40 minutes. See the recipe → VegetarianLentil Curry
For the meatless night. See the recipe → WeekendBeef Curry
Slow and deep. See the recipe → ThaiThai Red Curry
Paste, lemongrass and lime. See the recipe →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.


