Skip to content
DishRoute.

Singapore Fish Head Curry.

Snapper Head in Tamarind Curry

Fish head curry · say it: fish hed KUH-ree

Fish head curry is exactly what the name promises: the split head of a red snapper or grouper, poached in a curry that is sour with tamarind, hot with chile, fragrant with mustard seed and curry leaves, and rounded out at the end with coconut milk. The head is not a novelty cut here — it is the best part of the fish, holding the sweet cheek meat, the gelatinous collar and the soft flesh behind the eye that Chinese diners in Singapore have always considered the prize. The curry tastes bright rather than heavy, and the okra and eggplant cooked in it soak up the gravy until they are nearly as good as the fish. You eat it with your hands, over rice, taking the head apart piece by piece.

Split snapper head simmering in a red tamarind curry with whole okra, eggplant batons and curry leaves
Snapper Head in Tamarind Curry
Gate
Flag of Singapore SingaporeLittle India
Prep
25 min
Cook
40 min
Total time
1 hr 5 min
Serves
4
Status
Medium
Nutrition / serving · estimated
Calories 430 kcal
Protein 34 g
Carbs 18 g
Fat 25 g
Fiber 5 g
Sugar 8 g
Sodium 980 mg

Why this recipe works.

  • Follows the Little India tamarind style rather than the sweeter claypot version, so the gravy stays sharp instead of turning into coconut soup.
  • Blooms whole spices in oil first, which is the difference between a curry that smells toasted and one that tastes of raw powder.
  • Times the vegetables and the fish separately so the okra keeps its bite and the cheeks stay silky.
  • Tells you honestly how to make it with fish steaks if no fishmonger near you will part with a head.

Ingredients.

22 items
Servings
4
Now showing amounts for 4 servings

For the fish

For the gravy

To finish

Equipment

  • Wide, deep pan or wok large enough to hold a split fish head in one layer
  • Small bowl for soaking tamarind
  • Fine sieve
  • Ladle

Instructions.

  1. Prepare the head and the tamarind

    Rinse the split fish head under cold water, paying attention to the gill cavity, and rub it all over with the salt and turmeric. Set it aside on a plate. Soak the tamarind pulp in the hot water for 10 minutes, then squeeze it with your fingers until the water is cloudy and brown, and strain out the fibres.

    Tip If the fishmonger left the gills in, pull them out now — they hold blood and grit and turn the gravy bitter.

  2. Bloom the whole spices

    Heat the oil in a wide, deep pan over medium heat and add the mustard seeds. When they start popping against the lid, add the fenugreek and curry leaves and stand back — the leaves will crackle and release a sharp citrus smell within seconds.

    Tip Fenugreek burns fast and turns acrid. It should darken by a shade only, not brown.

  3. Fry the aromatics and spice paste

    Add the onions, garlic, ginger and green chiles and cook for 8 to 10 minutes, until the onions have collapsed and turned pale gold at the edges. Stir the curry powder and chile powder into 3 tablespoons of water to make a loose paste, add it to the pan, and fry for 3 to 4 minutes until the oil separates and pools red around the edges.

    Tip This is the checkpoint that decides the whole dish: if the mixture still smells dusty, it needs another minute.

  4. Build the sour gravy

    Pour in the strained tamarind water and add the tomato wedges. Bring to a simmer and cook uncovered for 8 minutes, until the tomatoes are slumping and the gravy has thickened just enough to coat a spoon. Taste it now — it should be assertively sour and salty, because the fish and rice will mute it.

  5. Add the vegetables and the fish head

    Slide in the eggplant batons and cook for 4 minutes, then add the whole okra. Lower the fish head into the gravy cut side down, spooning sauce over the exposed parts. Cover and simmer gently for 12 to 15 minutes, without stirring, until the eye turns opaque and the collar meat pulls away from the bone when nudged.

    Tip Shake or tilt the pan to move things around instead of stirring, or the head will fall apart into loose pieces.

  6. Finish with coconut milk

    Pour the coconut milk around the edges of the pan and add the sugar. Warm through for 2 minutes at a bare simmer — the surface should barely shiver — then taste and correct with salt or a little more tamarind water. Scatter the cilantro over the top.

    Tip A hard boil after the coconut milk goes in will split the gravy into oil and grainy solids.

  7. Serve on the leaf

    Bring the pan straight to the table with a bowl of hot white rice and let everyone spoon gravy over their own plate. Eat the cheeks first, then work through the collar, and use the last of the rice to mop the pan.

Tips from our kitchen.

  • Ask your fishmonger to split the head lengthwise and remove the gills. Gills left in make the whole pot taste bitter and muddy.
  • Rinse the head well and rub it with a little salt and turmeric before cooking — it firms the surface and takes away any river-mud smell.
  • Fry the curry powder paste until the oil visibly separates and pools red at the edges of the pan. Until that happens the curry will taste powdery.
  • Add the coconut milk only at the end and never let it boil hard, or the fat splits out and the gravy looks curdled.
  • Taste for sourness before the fish goes in, not after. Once the head is in the pot you cannot stir vigorously without breaking it apart.
  • Trim okra caps without cutting into the pod. Slicing them open releases the mucilage and turns the gravy slippery.

Substitutions.

Whole fish head 800 g thick snapper, grouper or cod steaks, bone in
You lose the cheeks and the gelatine from the collar, which is genuinely a loss, but the curry itself is unchanged. Bone-in steaks beat fillets — the bone keeps the flesh from shredding.
Tamarind pulp 3 tbsp tamarind concentrate, or the juice of 2 limes plus 1 tsp sugar
Lime gives a sharper, less fruity sourness. If you use concentrate, start with half and taste — brands vary wildly in strength.
Fish curry powder 3 tbsp regular curry powder plus 1 tsp extra ground coriander and ½ tsp fennel seed, ground
South Indian fish curry powder is heavier on coriander and fennel and lighter on turmeric than an all-purpose blend, so this nudges it closer.

Variations.

Claypot (Chinese-style) fish head curry
Double the coconut milk, drop the tamarind to a single tablespoon, and add wedges of cabbage, tofu puffs and a splash of evaporated milk. Sweeter, thicker, and served bubbling in an earthenware pot.
Assam pedas fish head
The Malay direction: no coconut milk at all, more tamarind, a rempah of shallot, chile and belacan, and torch ginger bud. Fiercely sour and much lighter.
Fish head curry with lady's fingers only
The Little India minimum — skip the eggplant and tomato and load the pot with okra alone, so every spoonful of gravy comes with one. Common in banana-leaf shops at lunchtime.

Storage & reheating.

The gravy improves overnight but the fish does not. If you expect leftovers, lift the head out once you have eaten the cheeks and store the meat separately from the gravy, both refrigerated for up to 2 days. Reheat the gravy on its own to a bare simmer, then return the fish for a minute just to warm through. Freezing is not worth it: the coconut milk separates on thawing and the delicate head meat goes stringy. The spice base alone, fried and cooled, freezes perfectly for a month.

Serve with

Plain white rice on a banana leaf, with a papadum, some shredded cabbage and a spoonful of the gravy poured over the rice before you start.

The story behind Singapore Fish Head Curry.

The dish is one of the few Singaporean classics with a traceable birth. It is credited to Marian Jacob Gomez, a cook from Kerala who ran a small restaurant in Singapore around 1949 and noticed something about his Chinese customers: they treasured the head of a fish, the part South Indian kitchens generally used for stock or a modest home curry rather than serving as a centrepiece. So he took a snapper head, cooked it in a South Indian tamarind curry, and put it on the menu. It sold, then it kept selling, and within a generation it had stopped being anybody's ethnic speciality and become simply Singaporean.

Today the city argues about it in the best way. The Indian version — the one this recipe follows — is served in Little India on a banana leaf, the gravy thin, sharp and tamarind-forward, with okra, eggplant and tomato in the pot and a mound of rice alongside. The Chinese version, more often found in coffee shops and seafood restaurants, arrives in a claypot: richer, sweeter, thickened with more coconut milk and sometimes finished with cabbage, tofu puffs and evaporated milk. Neither is a corruption of the other; they grew up side by side in the same city, and most Singaporeans have a firm opinion about which one they want on a given night.

What makes it worth cooking at home is that almost nothing about it is difficult. There is no browning to get right and no long braise. You fry a spice base until it smells toasted rather than raw, build a sour gravy, and slide the head in for barely fifteen minutes — long enough for the collagen in the collar to relax into the sauce and no longer, because overcooked fish head goes chalky. The main obstacle is shopping: you need a fishmonger who will sell you a head, and ideally split it for you. Ask a day ahead and most will.

Questions, answered.

Why cook a fish head instead of a fillet?

The head holds the best textures on the fish: sweet cheek meat, the gelatinous collar behind the gills, and soft flesh around the jaw that fillets simply do not have. As it simmers, the collagen dissolves into the curry and gives the gravy body you cannot get from lean fillet. It is also cheap — often a fraction of the price of the same weight in fillets.

Which fish head should I buy?

Red snapper is the Singapore standard, with grouper a close second. Both have firm flesh and a large head with plenty of meat. Salmon heads work and are widely available, though they make a fattier, less traditional curry. Aim for a head weighing 1 to 1.2 kg for four people, split lengthwise with the gills removed.

Is the curry supposed to be this sour?

Yes. The Indian-style Singapore version is defined by tamarind and should taste distinctly tart under the chile heat, with coconut milk softening rather than erasing that sourness. If it makes you pucker slightly on its own, it will be balanced once eaten with plain rice. The sweeter, milder claypot style is a separate Chinese-influenced version of the same dish.

How do I know when the fish head is done?

The eye turns opaque white and bulges slightly, and the flesh at the thick part of the collar comes away from the bone when you nudge it with a spoon. That usually takes 12 to 15 minutes at a gentle simmer for a 1 kg head. Overcooking makes the cheek meat chalky, so start checking early rather than late.

Can I make the curry base in advance?

Yes, and it is the best way to serve this to guests. Fry the spice base and build the gravy up to the point before the fish goes in, then cool and refrigerate for up to two days. Reheat it to a simmer, add the vegetables and the fish head, and dinner is fifteen minutes away.

Keep exploring Singapore.

Singapore has 9 more dishes in the atlas — Bak Kut Teh and Chai Tow Kway, and 7 more.

Recipe by The DishRoute Kitchen · published August 21, 2026 · updated August 21, 2026