E&O Fish Head Curry House-Style Malaysian Fish Curry

Updated November 4, 2026

Total time
1 hr 5 min
prep 30 min · cook 35 min
Serves
4
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

E&O Fish Head Curry House-Style Malaysian Fish Curry

Fish head curry is a Malaysian and Singaporean favorite: a richly spiced, tangy broth with fish, vegetables, and often coconut milk, served hot with rice. This home-style version is inspired by the regional dish, not a claim to reproduce any restaurant’s exact recipe, and balances tamarind’s tartness with gentle coconut richness.

Ingredients

  • 1 cleaned, split fish head, about 2½–3 lb (1.1–1.4 kg), preferably snapper or another firm white fish
  • 1 tsp fine salt (5 g), divided, plus more to taste
  • 5 medium shallots (about 5 oz/150 g), peeled and roughly chopped
  • 5 garlic cloves (about 1 oz/25 g), peeled
  • 1 piece fresh ginger, 2 in (5 cm; about 1 oz/30 g), peeled and sliced
  • 2 lemongrass stalks (about 1 oz/30 g), trimmed to the tender lower parts and sliced
  • 2 red chilies (about ¾ oz/20 g), stemmed; remove seeds for a milder curry
  • 2 tbsp water (30 ml), for blending the curry paste
  • 2 tbsp neutral oil (30 ml), such as canola or peanut oil
  • 2 tbsp Malaysian fish curry powder (about 16 g)
  • 1 tsp ground turmeric (3 g)
  • 2 cups water (475 ml)
  • 1 cup unsweetened coconut milk (240 ml), well stirred
  • 2 tbsp tamarind concentrate (30 ml), or to taste
  • 1 tbsp fish sauce (15 ml)
  • 1 tsp brown sugar (4 g)
  • 1 small eggplant, about 9 oz (250 g), cut into 1-in (2.5-cm) chunks
  • 8 oz okra (225 g), trimmed, left whole if small or halved lengthwise if large
  • 2 medium tomatoes, about 10 oz (300 g), cut into wedges
  • ½ cup fresh Thai basil leaves (about ½ oz/12 g), for serving

Instructions

  1. Prepare the fish and paste. Pat the fish head dry and check that it is clean, with no loose scales or gill fragments. If it has not already been split into manageable pieces, ask the fishmonger to do this; cutting a hard head at home can be difficult. Sprinkle the fish with half the salt and set it aside while you make the paste. Blend the shallots, garlic, ginger, lemongrass, chilies, and water until mostly smooth. A few fine flecks are fine; scrape the blender as needed rather than adding lots of extra water.
  2. Fry the paste. Heat the oil in a wide, heavy pot over medium heat. Add the blended paste and cook for about 8 minutes, stirring frequently and lowering the heat if it catches. It should smell fragrant and look thicker, with some oil beginning to show at the edges. This step cooks off the raw allium aroma and builds the curry’s base; rushing it can leave the broth tasting sharp.
  3. Toast the dry spices. Stir in the fish curry powder and turmeric and cook for 1 minute. Keep the mixture moving so the spices bloom in the oil without scorching. If the paste turns very dry before the minute is up, stir in a tablespoon of the measured water.
  4. Make the broth and soften the vegetables. Pour in the remaining water and coconut milk, then add the tamarind concentrate, fish sauce, brown sugar, and remaining salt. Stir, scraping the bottom of the pot, and bring the broth to a gentle simmer. Add the eggplant and cook for 10 minutes, turning the pieces once or twice. The eggplant should be starting to soften but should still hold its shape. Taste the broth: it should be savory, tart, and lightly sweet, not aggressively sour.
  5. Cook the fish. Nestle the fish head pieces into the simmering broth and spoon some liquid over them. Add the okra and tomatoes around the fish. Cover the pot partially and simmer gently for 14 minutes, turning the pieces carefully once if they are not mostly submerged. Avoid a hard boil, which can break up the fish and make the coconut milk look grainy. Check the thickest flesh with a food thermometer without touching bone: USDA FSIS lists 145°F (63°C) as the safe minimum internal temperature for fish. If it has not reached that temperature, continue simmering and check again in short intervals.
  6. Finish and season. Turn off the heat and fold in the Thai basil for about 2 minutes, until fragrant and just wilted. Taste the broth and adjust with a little more salt, fish sauce, or tamarind if needed. Lift the fish gently with a broad spoon so the pieces stay intact, then serve immediately with plenty of curry broth.

Tips

  • Choose a fish head that fits the pot. Snapper is a common choice because its firm flesh and gelatin-rich cheeks suit a long, savory broth. Ask for the head to be cleaned and split; if a whole head is unavailable, use about 2½ lb (1.1 kg) of thick, bone-in fish steaks. Steaks cook more quickly, so start checking their temperature earlier.
  • Find a workable curry powder substitute. Malaysian fish curry powder is a specific spice blend and varies by maker. If it is hard to find, use a mild Indian-style fish curry powder; in a pinch, combine 1½ tbsp (12 g) Madras curry powder with ½ tbsp (4 g) ground coriander. The substitute may be less aromatic or more chili-forward, so taste before adding extra heat.
  • Adjust tamarind gradually. Tamarind concentrate strength differs between brands. Begin with the listed amount, then add more in small increments after the broth simmers. If you cannot get tamarind, use 1 tbsp (15 ml) lime juice at the end as a substitute; it gives a fresher, sharper citrus note rather than tamarind’s rounded, fruity tartness.
  • Keep the simmer gentle. A vigorous boil can break delicate fish apart and overcook the outside before the center is ready. Use a wide pot so the pieces sit in one layer as much as possible, and move them with care rather than stirring the broth repeatedly.

Serving Suggestions

Serve the curry in a broad, deep bowl so each person gets fish, vegetables, and enough broth to spoon over rice. Plain steamed jasmine rice is an easy partner; its mild fragrance leaves room for the spice, tang, and coconut to stand out. For a more substantial spread, add cucumber slices, a simple leafy salad, or lightly blanched greens on the side. These cool, crisp accompaniments give the meal contrast without competing with the curry.

Set out lime wedges and sliced fresh chilies separately, so diners can adjust acidity and heat at the table. Fish head contains bones, cartilage, and small pockets of meat rather than neat fillets, so provide spoons as well as forks and let everyone take their time. If serving guests unfamiliar with fish head, offer a few extra pieces of boneless white fish alongside it, cooked in the same broth and checked for doneness.

Variations

Fish head curry has many household and regional versions. Some are more tamarind-forward and omit coconut milk; others use a richer coconut broth. For a lighter, sharper pot, replace the coconut milk with an additional 1 cup (240 ml) water and increase the tamarind a little only after tasting. The result will be less creamy and will let the spices and sourness come through more clearly.

For a milder curry, remove the chili seeds or use one chili instead of two. For more heat, add sliced fresh chili at the end rather than increasing the curry powder, since some blends are already hot. You can also add 4 oz (115 g) sliced onion with the eggplant, or replace the eggplant with 8 oz (225 g) chunks of waxy potato. If using potato, simmer it until nearly tender before adding the fish, as it needs more time than okra or tomato.

When fish heads are unavailable, use firm, skin-on fish steaks such as snapper, cod, or halibut, cut about 1½ in (4 cm) thick. Add them later than the eggplant and check them early: thin steaks can reach the safe temperature well before a large head. Avoid stirring once the fish is in the pot; gently spoon broth over the pieces instead.

Storage and Reheating

Refrigerate leftover curry within 2 hours of cooking, ideally in a shallow, covered container. It keeps for 3–4 days in the refrigerator. If possible, store the fish and broth together without crushing the pieces; the fish will soften as it sits, but the flavors will continue to mingle. Remove any bones carefully when portioning leftovers, especially if serving children.

Reheat only the amount you plan to eat in a covered saucepan over low to medium-low heat, turning the fish gently and adding a splash of water if the broth has thickened. Stir the broth around the fish rather than breaking the pieces. Reheat leftovers to 165°F (74°C), checking the center with a food thermometer, and avoid repeated warming and cooling. You can freeze leftovers for up to 2 months for best quality, though the fish and vegetables may become softer after thawing. Thaw in the refrigerator and reheat to 165°F (74°C); do not leave the curry at room temperature to thaw.

Frequently Asked Questions

What fish head works best for curry?
Snapper is a good choice because it has firm flesh and substantial cheeks, but other firm white fish heads work too. Ask the fishmonger for a head suitable for curry, cleaned and split into pieces that fit your pot. The size and thickness affect cooking time, so use the thermometer rather than relying only on the clock.

Can I make this without fish head?
Yes. Use thick, bone-in fish steaks, or use boneless, skin-on fillets if that is what you can find. Add fillets later than the recipe’s vegetables and handle them gently; thinner pieces cook faster. They still need to reach 145°F (63°C) at the thickest point.

Why is my curry too sour or too spicy?
Tamarind and curry powder differ in strength, and the balance can shift as the broth simmers. If it tastes too sour, stir in a little coconut milk or water and a small pinch of sugar. If it is too hot, add coconut milk or serve it with extra rice. Make changes a little at a time so the curry does not become bland or overly sweet.

Can I prepare any part ahead?
You can blend the curry paste up to 1 day ahead and keep it covered in the refrigerator. You can also measure the spices and chop the vegetables earlier in the day. For the best fish texture, cook the fish shortly before serving rather than simmering it in advance and reheating it several times.

How do I know the fish is done without a thermometer?
A thermometer is the reliable way to confirm the USDA FSIS safe minimum of 145°F (63°C). Visual signs such as flesh turning opaque and separating readily are useful clues, but they do not confirm a safe temperature as accurately. Insert the thermometer into the thickest flesh, avoiding bone, and continue cooking if the reading is below 145°F (63°C).

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).