Ocean Fish Head Curry with Coconut and Tamarind

Updated November 4, 2026

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

Jump to recipe

Ocean Fish Head Curry with Coconut and Tamarind

Ocean fish head curry is a coastal-style curry made with meaty fish head pieces simmered in a spiced gravy, here balanced with coconut milk and tangy tamarind. Versions vary across South and Southeast Asian coastal cuisines and family kitchens; this approachable version is served hot with rice to catch every drop of sauce.

Ask the fishmonger for a cleaned, split head from a firm-fleshed ocean fish such as snapper, grouper, or cod. The cheeks and collar are especially succulent, while the bones enrich the gravy as it simmers. Keep the curry at a gentle bubble rather than a hard boil so the fish stays in large, tender pieces.

Ingredients

  • 2½ lb (1.13 kg) cleaned ocean fish head, split into manageable pieces, with the gills removed
  • 1 tsp (5 g) fine salt, plus more to taste
  • 2 tbsp (30 ml) neutral oil, such as canola or sunflower oil
  • 1 medium yellow onion, about 1 cup (150 g) finely chopped
  • 4 garlic cloves, about 1 tbsp (15 g) finely minced
  • 1 tbsp (15 g) finely grated fresh ginger
  • 1 small green chile, about 1 tbsp (10 g) sliced, or less to taste
  • 12 fresh curry leaves, if available
  • 1 tbsp (8 g) curry powder
  • 1 tsp (3 g) ground coriander
  • ½ tsp (1 g) ground turmeric
  • ½ tsp (1 g) ground cumin
  • 1 medium ripe tomato, about 1 cup (180 g) chopped
  • 2 tbsp (30 g) tamarind paste, preferably seedless
  • 2 cups (475 ml) water or unsalted fish stock
  • 1 cup (240 ml) full-fat coconut milk, well stirred
  • 1 small eggplant, about 8 oz (225 g), cut into 1-inch (2.5 cm) chunks
  • 1 red bell pepper, about 1 cup (150 g), cut into wide strips
  • 1 tbsp (15 ml) lime juice, plus lime wedges for serving
  • ¼ cup (10 g) chopped cilantro leaves, for finishing

Instructions

  1. Prepare the fish and vegetables. If the fishmonger has not already done so, check that the gills are removed; they can make the curry bitter. Rinse the fish briefly under cold running water, pat it dry, and season all over with the measured salt. Cut the onion, garlic, ginger, chile, tomato, eggplant, and bell pepper before heating the pan. Keep the fish refrigerated while you prepare the curry base, and wash hands and surfaces that touched raw fish.
  2. Soften the aromatics, 10 minutes. Heat the oil in a wide, heavy pot or deep skillet over medium heat. Add the onion and cook for about 7 minutes, stirring now and then, until soft and translucent but not deeply browned. Add the garlic, ginger, chile, and curry leaves, if using, and stir for 3 minutes. If the mixture begins to stick, lower the heat rather than letting the garlic scorch.
  3. Bloom the spices and cook the tomato, 5 minutes. Stir in the curry powder, coriander, turmeric, and cumin for about 30 seconds, just until fragrant. Add the chopped tomato and cook for roughly 4½ minutes, stirring and pressing it against the pot until it softens into a thick, pulpy base. If the pot looks dry, add a tablespoon of water so the spices do not burn.
  4. Make the gravy, 7 minutes. In a small bowl, stir the tamarind paste with a few spoonfuls of the measured water or stock until smooth; this makes it easier to distribute. Pour it into the pot with the remaining water or stock and the coconut milk. Add the eggplant, bring the liquid to a gentle simmer, and cook uncovered for 7 minutes. Stir carefully once or twice so the vegetables cook evenly without splashing the gravy.
  5. Simmer the fish, 15 minutes. Nestle the fish head pieces into the gravy, turning them once with a broad spoon if needed so the thickest flesh is partly submerged. Return the pot to a gentle simmer, cover it, and cook for 15 minutes. Avoid vigorous boiling or frequent stirring, both of which can break up the flesh. Add the bell pepper for the final 5 minutes so it softens but keeps some shape.
  6. Check doneness and season. Use a food thermometer to check the thickest edible flesh near a cheek, taking care not to touch bone. The USDA FSIS safe minimum internal temperature for fish is 145°F (63°C). If the flesh has not reached that temperature, simmer for another 2 minutes and check again. The fish should be opaque and separate easily from the bone; those visual signs are useful, but use the thermometer for the safety check.
  7. Finish and serve. Turn off the heat and gently stir in the lime juice. Taste the gravy and adjust with salt or a little more lime juice; tamarind brands vary in sharpness, so make this adjustment at the end. Scatter cilantro over the curry and bring the pot to the table, or transfer the fish carefully to a warm serving dish with plenty of gravy.

Tips

  • Choose a firm fish and ask for the right cut. Snapper, grouper, cod, and other firm ocean fish work well. A split head with the gills removed is easier to cook and eat than an intact head. If a whole head is too large for your pot, ask for it to be cut into two or three pieces; do not try to force it into the pan.
  • Adjust hard-to-find ingredients thoughtfully. Fresh curry leaves add a distinctive citrusy, herbal aroma. If they are unavailable, leave them out rather than substituting a large amount of another herb; the curry will still work, though the aroma will be less complex. Seedless tamarind paste is convenient; if you have a block of dried tamarind, soak about 1 oz (28 g) in hot water, squeeze and strain it, then use the liquid in place of the paste and some of the recipe water. The finished sauce may need extra salt.
  • Keep the gravy at a quiet simmer. Fish head pieces have uneven shapes and delicate cooked flesh. A low bubble cooks them more evenly than a rolling boil and helps keep the cheek meat attached. Use a wide pot so the pieces can sit in one layer as much as possible, and turn them gently rather than stirring the sauce hard.
  • Plan for bones at the table. Fish head contains small bones and cartilage as well as tender meat. Tell diners to eat slowly and check each bite. For a less bony meal, cook the curry base as directed and add 1½ lb (680 g) firm, skin-on fish steaks or large chunks instead; begin checking their temperature after about 8 minutes, as thinner pieces cook faster.

Serving Suggestions

Serve the curry immediately with plain steamed white rice, which absorbs the coconut-tamarind gravy without competing with its flavors. Brown rice or basmati rice also works, although each brings a stronger grain flavor. For a more traditional coastal-style spread, add flatbread, roti, or another soft bread for scooping, plus a simple cucumber salad or sliced cucumber with lime to provide a cool, crisp contrast.

Set out extra lime wedges and chopped cilantro so each person can adjust the brightness at the table. A mild vegetable side, such as sautéed greens or quickly steamed green beans, rounds out the meal without adding another rich sauce. Because the fish is served on the bone, provide shallow bowls and spoons for the gravy, along with a separate small plate for bones. Offer napkins and let diners know the curry is best eaten while warm, when the fish is tender and the coconut gravy is still fluid.

Variations

Make it hotter or milder: Omit the green chile for a gentle curry, or add another chile with its seeds for more heat. Chile strength varies, so add gradually. You can also put sliced chile on the table rather than making the whole pot spicy.

Change the souring ingredient: Tamarind gives the gravy a deep, rounded tartness. If you cannot find it, use 1½ tbsp (22 ml) lime juice stirred in at the end, taste, then add more if needed. Lime tastes brighter and less earthy, so do not cook it in the gravy for the full simmer. A little lemon juice can work similarly, though it changes the aroma.

Use a different vegetable: Replace the eggplant with 1 cup (150 g) of okra or 1½ cups (200 g) of peeled potato chunks. Okra cooks quickly and adds body; add it with the fish for the final 10–12 minutes. Potato needs a head start: simmer it in the gravy until nearly tender before adding the fish. Bell pepper can be replaced with sliced green pepper or omitted.

Make a lighter coconut gravy: Use ½ cup (120 ml) full-fat coconut milk and add ½ cup (120 ml) extra water or stock. The sauce will be thinner and less creamy, but the tamarind and spices will remain prominent. Avoid replacing all the coconut milk with water if you want the rounded texture this version is designed to have.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking, in a shallow, covered container. For the best texture, remove the fish meat from the bones before storing if you can do so without breaking it up; otherwise, store the pieces carefully in the gravy. Keep the curry refrigerated for 3–4 days. The fish may become more delicate as it sits, so avoid repeatedly transferring or stirring it.

To reheat, place the portion in a covered saucepan over low heat and warm it gently, turning the fish once if necessary. Add a splash of water if the coconut gravy has thickened. Reheat leftovers to 165°F (74°C), checking the center with a food thermometer; do not rely on steaming appearance alone. A microwave is also suitable: cover the dish, heat in short intervals, and rotate or stir the gravy carefully between intervals, then confirm the temperature. Discard curry left at room temperature for more than 2 hours. Freezing is possible for up to 2 months, but the fish texture may soften and the coconut gravy may separate slightly after thawing; thaw overnight in the refrigerator and reheat gently.

Frequently Asked Questions

Which ocean fish head is best for curry?

Choose a fresh, firm-fleshed fish head that fits your pot, such as snapper, grouper, or cod. Ask the fishmonger to clean and split it and remove the gills. Fresh fish should smell clean and mild, not strongly fishy or sour. The cheeks and collar offer especially tender meat, while the bones add flavor to the broth.

Can I make this curry with frozen fish head?

Yes, provided it was frozen and stored properly. Thaw it in the refrigerator, not on the counter, then drain and pat it dry before seasoning. Frozen fish can release extra moisture, so the sauce may be a little thinner; simmer the gravy briefly before adding the fish if you want it more concentrated. Cook to 145°F (63°C) at the thickest edible part.

How can I tell when fish head is cooked without breaking it apart?

Check the thickest cheek or collar flesh with an instant-read thermometer, placing the probe into flesh and away from bone. Fish is safe at 145°F (63°C). The flesh should also look opaque and separate readily from the bone, but color and flaking are not as reliable as temperature, especially near the head where thickness varies.

Can I prepare the curry base ahead?

Yes. Cook the onion, spice, tomato, tamarind, coconut, and vegetable base without the fish, cool it promptly, and refrigerate it in a covered container for up to 2 days. Reheat the base to a simmer, then add the fresh fish and cook it through to 145°F (63°C). This keeps the fish from becoming overcooked during storage and reheating.

Why does my coconut curry look split?

A little separation can happen when coconut milk is boiled hard or reheated aggressively; it does not necessarily mean the curry is spoiled. Keep the gravy at a gentle simmer, stir it carefully, and avoid prolonged high heat. If it separates, lower the heat and gently whisk or stir the gravy around the fish. It may look less glossy, but it can still be served if it has been handled safely.

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