Johor Curry Fish Head with Tamarind and Coconut Milk

Updated November 4, 2026

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

Jump to recipe

Johor Curry Fish Head with Tamarind and Coconut Milk

Johor curry fish head is a Malaysian-style curry of meaty fish head pieces simmered with a fragrant chili-and-spice paste, tamarind, coconut milk, and vegetables. This version balances sour, savory, and gently creamy flavors, and serves the curry hot with rice to soak up the sauce; recipes vary between households and cooks.

Ingredients

  • 1 large fish head, cleaned and split into serving pieces, about 3 to 3½ lb (1.4 to 1.6 kg); ask the fishmonger to do this if needed
  • 3 tablespoons (45 ml) neutral cooking oil
  • 1 teaspoon (3 g) brown or black mustard seeds
  • ¼ teaspoon (about 0.5 g) fenugreek seeds
  • 2 sprigs fresh curry leaves, about 10 g, leaves stripped from thick stems
  • 4 fresh red chilies, about 1 oz (30 g), stems removed; use fewer for a milder curry
  • 6 shallots, peeled, about 6 oz (170 g)
  • 5 garlic cloves, peeled, about ½ oz (15 g)
  • 1½ inches fresh ginger, peeled, about 1 oz (30 g)
  • 1 tender lemongrass stalk, about ¾ oz (20 g), lower pale section sliced thinly
  • 1 teaspoon (3 g) ground turmeric
  • 3 candlenuts, about ½ oz (15 g), or 3 tablespoons (30 g) unsalted cashews
  • ¼ cup (60 ml) water, for blending the paste
  • 3 tablespoons (24 g) fish curry powder
  • ⅓ cup (80 ml) water, for mixing with the curry powder
  • 2 cups (475 ml) water or unsalted fish stock
  • 2 tablespoons (30 g) tamarind concentrate or prepared tamarind paste
  • 1 cup (240 ml) full-fat coconut milk, well stirred
  • 1 medium eggplant, about 10½ oz (300 g), cut into 1-inch (2.5 cm) chunks
  • 8 okra pods, about 5 oz (150 g), trimmed and left whole or halved lengthwise
  • 2 medium tomatoes, about 10½ oz (300 g), cut into wedges
  • 1½ teaspoons (9 g) fine salt, or to taste
  • 1 teaspoon (4 g) sugar, or to taste

Instructions

  1. Prepare the fish and vegetables. Keep the fish refrigerated until you are ready to cook. Rinse it briefly under cold running water if needed, check for loose scales or gills, and pat it dry with paper towels. Cut the eggplant and tomatoes and trim the okra. If the fishmonger has not split the head, ask them to cut it into manageable pieces; the bones are hard to cut safely at home.
  2. Blend the spice paste. Put the chilies, shallots, garlic, ginger, lemongrass, turmeric, candlenuts, and ¼ cup (60 ml) water in a blender or small food processor. Blend to a fairly smooth paste, scraping down the sides as needed. A little texture is fine, but large pieces of lemongrass or candlenut can make the finished curry feel coarse. In a small bowl, stir the fish curry powder with ⅓ cup (80 ml) water to make a smooth slurry.
  3. Temper the whole spices. Heat the oil in a wide, heavy pot over medium heat. Add the mustard seeds and fenugreek seeds. Cook for about 1 minute, until the mustard seeds begin to pop, then add the curry leaves and stir for another minute. Keep the pot uncovered and have the spice paste ready before heating the oil so the seeds do not scorch.
  4. Cook the blended paste. Add the paste carefully; it may splatter when it meets the hot oil. Cook for 8 minutes, stirring often and scraping the bottom of the pot. It should become fragrant, darken slightly, and look less watery, with a little oil beginning to show around its edges. Reduce the heat if it sticks or browns too quickly. Properly cooking the paste mellows raw allium flavors and gives the sauce a rounded base.
  5. Fry the curry powder, then build the sauce. Pour in the curry-powder slurry and cook for 2 minutes, stirring continuously so it does not catch. Add the water or fish stock and tamarind concentrate, then stir to loosen any paste from the bottom. Bring the sauce to a gentle simmer and cook for 6 minutes. Taste a spoonful: it should be clearly tangy and savory, but not so sour that it overwhelms the spices.
  6. Simmer the vegetables. Add the eggplant and simmer gently for 6 minutes, turning the pieces once so they cook evenly. Add the okra and tomato wedges and continue simmering for 4 minutes. The eggplant should be starting to soften, while the okra and tomatoes should still hold their shape. Avoid a vigorous boil, which can break up the vegetables and make the sauce uneven.
  7. Cook the fish in the curry. Gently lower the fish head pieces into the sauce, arranging them so the thickest pieces are mostly submerged. Cover the pot and simmer gently for 12 minutes, turning the pieces carefully once if needed. Check the thickest part of the fish with a food thermometer, avoiding contact with bone: USDA FSIS recommends a safe minimum internal temperature of 145°F (63°C) for fish. If a large piece has not reached that temperature, continue simmering and check again after a few minutes. The flesh should look opaque and separate readily from the bone.
  8. Finish and adjust. Turn the heat to low and gently stir in the coconut milk, salt, and sugar. Warm for about 2 minutes without letting the curry boil hard, which can make coconut milk look grainy. Taste the sauce and adjust with a little more salt, sugar, or tamarind if needed. Serve promptly, using a broad spoon to lift the delicate fish pieces without breaking them apart.

Tips

  • Choose a substantial head. Red snapper and grouper are good choices because their cheeks and collar offer flavorful, meaty portions. Ask for a head cut into pieces, and confirm it has been cleaned. If whole fish head is unavailable, use about 2 lb (900 g) firm, bone-in fish steaks; reduce the cooking time as needed and check each piece for 145°F (63°C).
  • Adjust heat gradually. Fresh chilies vary in size and strength. Start with two chilies for a mild curry, or remove their seeds and pale inner ribs; add more chili at the table if desired. If fresh red chilies are unavailable, use 1 to 2 tablespoons (8 to 16 g) chili powder in the paste, but expect a less fresh, more direct heat.
  • Know your paste substitutes. Candlenuts thicken the spice paste and lend it a rounded, mild richness. Unsalted cashews are a practical substitute, though they give a slightly sweeter, nuttier result; if neither is available, omit them rather than using a strongly flavored nut. Tamarind concentrate varies in strength, so start with the listed amount and make final adjustments after the sauce simmers.
  • Keep the fish intact. Use a wide pot and turn fish pieces only when necessary. Stir the sauce around them rather than stirring through them. If the curry seems too thick, add hot water a few tablespoons (15 to 45 ml) at a time; adding cold liquid can interrupt the simmer and make timing less predictable.

Serving Suggestions

Serve the curry as soon as it is finished, while the fish is tender and the vegetables have not softened too far. Steamed jasmine rice or another plain, fluffy rice is the classic practical partner: spoon plenty of the tamarind-coconut sauce over it, and offer extra rice for anyone who prefers a milder bite. The curry also works with roti, flatbread, or plain noodles, although rice is especially good at catching sauce around the fish bones.

Set out lime wedges, sliced fresh chilies, and a small dish of chopped cilantro if you like a brighter finish. A simple cucumber salad or lightly dressed raw vegetables can provide a cool, crisp contrast. Because the curry already contains fish, vegetables, spice, and coconut milk, keep accompanying dishes uncomplicated rather than adding several rich or heavily seasoned sides.

Variations

Make it less rich: Replace half of the coconut milk with water or unsalted stock. The sauce will be lighter and less creamy, while the tamarind and spice paste will remain prominent. For a richer, rounder curry, use coconut cream for up to half of the coconut milk, but taste before adding extra sugar.

Change the vegetables: Use long beans, green beans, or chunks of potato in place of some of the eggplant or okra. Potato needs more time: add 1-inch (2.5 cm) pieces with the sauce and simmer until nearly tender before adding the fish. Green beans can go in with the okra. Different vegetables absorb sauce differently, so taste the curry before serving and adjust its salt and sourness.

Use fish fillets instead: If you prefer a boneless meal, use 1½ lb (680 g) firm white fish such as snapper or cod, cut into large pieces. Simmer the vegetables until almost tender first, then add the fillets and cook gently just until they reach 145°F (63°C), checking the thickest piece. Fillets cook faster than a large head and are more likely to break apart, so avoid stirring.

Make it more sour or more aromatic: Add tamarind in small increments if you want a sharper sauce, or use a little less for a softer, coconut-forward result. A few extra curry leaves can boost their fragrance. These are flexible home-style adjustments rather than rules: Johor and other Malaysian fish head curries have household and regional variations in spice, sourness, and richness.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking, preferably in a shallow, covered container. Keep the fish and sauce together so the fish does not dry out. Refrigerated curry is best within 3 to 4 days. Fish head pieces contain bones, so handle and label leftovers carefully, especially if serving children. Do not leave the pot at room temperature for an extended period.

Reheat only the portion you plan to eat. Warm it gently in a covered saucepan over low to medium-low heat, turning fish pieces carefully and adding a splash of water if the sauce has thickened. Heat leftovers to 165°F (74°C), checking with a food thermometer. Avoid a rolling boil, which can break the fish apart and cause the coconut sauce to separate. A microwave can also work: cover a microwave-safe dish, heat in short intervals, and check the center of the thickest piece and sauce for 165°F (74°C).

You may freeze the curry in a freezer-safe container for up to 2 months for best quality, though the vegetables and coconut sauce can soften or change texture after thawing. Thaw it in the refrigerator and reheat it to 165°F (74°C). For the best texture, freeze fish and sauce without the vegetables, then cook fresh vegetables when serving if you have planned ahead.

Frequently Asked Questions

What fish is best for Johor curry fish head?
Choose a fresh, firm fish head with substantial cheeks and collar meat. Red snapper and grouper are common useful options, but availability varies by market. The fish should smell mild and clean, not strongly fishy. Ask the fishmonger to clean and split it, and cook the thickest part to 145°F (63°C).

Can I make this curry with frozen fish head?
Yes. Thaw it safely in the refrigerator, not on the counter, then drain and pat it dry before cooking. Frozen fish can release more moisture, so keep the sauce at a gentle simmer and avoid adding extra water until you see how much liquid the fish releases. Cook to 145°F (63°C) at the thickest point.

Is fish curry powder the same as curry powder?
Not always. Fish curry powder is a spice blend sold for seafood curries and may include ingredients such as coriander, cumin, turmeric, chili, and fenugreek. If you only have general-purpose curry powder, use the same quantity and add chili to taste; the flavor will differ, but the recipe will still work. Check the label for salt and adjust the added salt accordingly.

How can I make the curry less spicy?
Use fewer fresh chilies, remove their seeds and inner ribs, and choose a mild fish curry powder. If the sauce is already too hot, stir in a little additional coconut milk or water and balance it with salt and a small amount of sugar. More rice at serving also softens each bite without changing the pot.

Why did my coconut curry look split?
Coconut milk can separate when it boils vigorously, especially after it has been added to a hot, acidic sauce. This does not necessarily mean the curry is spoiled. Lower the heat, stir gently, and avoid hard boiling; next time, add the coconut milk at the end and warm it through slowly.

Can I prepare the spice paste ahead?
Yes. Blend the paste, transfer it to a clean covered container, and refrigerate it for up to 2 days. Keep the raw fish separate and refrigerated until cooking. You can also freeze the paste for up to 2 months; thaw it in the refrigerator before frying it thoroughly in the oil as directed.

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