Opor Ayam: Chicken in White Coconut Curry
chicken simmered gently in a pale, fragrant coconut sauce built without a trace of turmeric

Contents
↓ Jump to recipeMost Indonesian curries reach for turmeric as a matter of course, which is exactly what makes opor ayam stand out on a table full of them: it’s built from largely the same aromatics as its yellow cousins — shallot, garlic, candlenut, galangal, lemongrass — but leaves turmeric out almost entirely, landing on a pale, ivory-coloured sauce instead of the usual gold. It’s the curry most closely tied to Lebaran, the Eid al-Fitr celebration marking the end of Ramadan, and in many Indonesian households it’s the dish that signals the fast has ended more reliably than any calendar.
Opor Ayam: Chicken in White Coconut Curry
Ingredients
- 1.4kg chicken, jointed into 8 pieces, skin on
- 600ml coconut milk
- 200ml water
- 8 shallots, peeled
- 5 cloves garlic, peeled
- 5 candlenuts, toasted
- 1 tsp coriander seeds, toasted
- 1 tsp white peppercorns
- 2cm piece galangal, bruised
- 2 stalks lemongrass, bruised and tied in a knot
- 4 kaffir lime leaves, torn
- 3 Indonesian bay leaves (daun salam)
- 3 tbsp vegetable oil
- 2 tsp salt, plus more to taste
- 1 tsp palm sugar, grated
- 4 hard-boiled eggs, peeled
- 2 tbsp fried shallots, to finish
- ketupat or steamed rice, to serve
Method
- Blend the shallots, garlic, candlenuts, coriander seeds, white peppercorns and galangal to a smooth, pale paste, adding a splash of water only if needed.
- Fry the paste in the oil over medium-low heat for 5-6 minutes, stirring constantly, until fragrant but only lightly coloured — this paste should stay pale, not brown.
- Add the lemongrass, kaffir lime leaves and bay leaves and fry a further minute.
- Add the chicken pieces and turn to coat them in the paste, cooking for 2-3 minutes without letting the paste catch or darken further.
- Pour in the coconut milk and water, stirring to combine, and bring to a very gentle simmer — coconut milk split by a hard boil, so keep the heat low throughout.
- Add the salt and palm sugar, then simmer uncovered for 30-35 minutes, stirring occasionally, until the chicken is cooked through and the sauce has thickened slightly and turned a pale, creamy ivory.
- Nestle the peeled hard-boiled eggs into the sauce for the final 10 minutes so they warm through and take on some flavour.
- Taste and adjust salt and sugar; the sauce should taste rounded and savoury-sweet, with the coconut milk's richness as the dominant note rather than any single spice.
- Scatter fried shallots over the top just before serving.
- Serve hot with ketupat or steamed rice.
A curry defined as much by what it leaves out
Where soto ayam and countless other Indonesian coconut dishes build their colour and base flavour around fried turmeric, opor ayam’s aromatic base is built almost entirely on white pepper, coriander seed and candlenut instead, with turmeric either omitted completely or used in the smallest possible trace amount purely to take the raw edge off the shallots without tinting the sauce. The result is a curry that tastes rounder and gentler than a typical yellow curry, leaning on coconut milk’s own richness and the warmth of white pepper rather than turmeric’s earthy, slightly bitter top note. It’s a genuinely different flavour profile from most of the coconut curries in this kitchen’s other recipes, not simply the same base curry minus one ingredient — the whole balance shifts once turmeric’s dominant flavour is out of the equation.
Why Eid, and what the dish is doing at that specific meal
Opor ayam’s association with Lebaran comes from its place in the full ketupat spread — a table of dishes built to be eaten with compressed rice cakes rather than loose steamed rice, alongside sambal goreng ati (spiced liver), rendang, and often a beef version of the same white curry. The dish itself isn’t inherently a festival food in its ingredients or cooking method; what ties it to Eid is tradition and repetition, a curry gentle and rich enough to serve to a large extended family gathering after a month of fasting, made in enough volume to feed visitors arriving all day for the post-Ramadan tradition of open houses and family visits. Chicken, being cheaper and more universally eaten than beef in a mixed household, made opor ayam the more common version to appear on most Lebaran tables, even where a beef opor is also served.
Getting the pale colour, and why the paste must never brown
The single technical point that separates a good opor ayam from an accidental yellow curry is temperature control while frying the paste. Where most Indonesian curry pastes are fried until they visibly darken, opor ayam’s paste needs to stay pale — fried gently over medium-low heat just long enough to lose its raw sharpness, not long enough to caramelise or brown at the edges. If the paste browns, the whole sauce takes on a deeper, more golden hue that undercuts the point of the dish, which is precisely its pale, delicate appearance next to the more richly coloured curries usually served alongside it. Frying too hot or too long is the most common way home cooks accidentally turn opor ayam into a duller version of a yellow curry rather than the distinct dish it’s meant to be.
Coconut milk needs the same gentle treatment through the rest of the cook. A hard boil will split coconut milk’s fat from its water, leaving an oily, curdled sauce that never fully recombines — keep the heat at a bare simmer throughout the thirty-five minutes the chicken needs to cook through, stirring occasionally rather than leaving it unattended, and the sauce will thicken smoothly into the creamy, cohesive consistency the dish depends on.
Candlenut, white pepper and the base flavour doing the real work
With turmeric largely out of the picture, candlenut and white pepper carry more of the flavour load than they would in a typical yellow curry. Candlenut gives the sauce body and a faint richness, thickening it slightly as it cooks and helping the other aromatics bind into the coconut milk rather than floating separately on top. White pepper, rather than the black peppercorns used in many other dishes, gives a cleaner, slightly hotter warmth without the darker, more resinous flavour black pepper would introduce — a small substitution, but one that matters to keeping the sauce genuinely pale rather than flecked and slightly grey. If you only have black peppercorns to hand, use them in a pinch, but expect a subtly different, slightly muddier result than the white pepper version gives.
Opor versus gulai versus kari — the family it belongs to
Indonesian cooking has several overlapping categories of coconut-based curry, and it’s worth placing opor ayam among them rather than treating it as a one-off. Gulai, the broadest of the family, covers most turmeric-forward coconut curries and varies enormously by region — a Padang gulai and a Javanese one can look and taste quite different while sharing the name. Kari, borrowed more directly from South Asian curry via trade and migration, tends to be spicier and more heavily spiced with dried whole spices like cardamom and clove. Opor sits apart from both by its pale colour and gentler seasoning, closer in spirit to a delicately spiced white stew than to anything resembling a fiery curry — a useful distinction to keep in mind if you’re used to reaching for chilli by default whenever a dish is described as Indonesian, since opor ayam traditionally carries none at all, its heat, if any, added afterwards at the table via a side of sambal rather than built into the pot.
A dish with regional variations of its own
Central Java’s version of opor ayam, particularly around Semarang, tends towards a thinner, more soup-like consistency, closer to a light coconut broth than the thicker, more clinging sauce found further east around Surabaya, where cooks reduce the coconut milk down harder and for longer. Some households add a little kencur, the sharp, camphor-scented lesser galangal common across Javanese cooking, for a top note that’s absent from the more restrained versions elsewhere. None of these variations changes the dish’s identity — pale colour, gentle spicing, coconut as the dominant flavour — but they explain why two families’ opor ayam can taste noticeably different from each other despite sharing a name and an occasion.
Chicken pieces, bone-in, and why they matter here
Bone-in, skin-on chicken pieces are worth using rather than boneless fillets, for the same reason they matter in most braised chicken dishes: the bone contributes gelatine and flavour to the sauce over the thirty-five-minute simmer, and the skin, left on, renders some of its own fat into the coconut milk, adding a further layer of richness rather than leaving the sauce watery. Thighs and drumsticks hold their texture better than breast over this cooking time, staying moist rather than turning dry and stringy the way an all-breast version tends to by the end of the simmer. If you do use breast meat, reduce its time in the sauce to around fifteen minutes rather than the full thirty-five to avoid overcooking it.
Eggs, ketupat and the rest of the plate
Hard-boiled eggs, added towards the end of the cook rather than from the start, soak up some of the sauce’s flavour and colour without turning rubbery from being simmered the whole time. Ketupat — rice compressed and cooked inside a woven palm-leaf pouch until it sets into a dense, sliceable block — is the traditional accompaniment at Lebaran specifically, chosen partly for practicality: it holds its shape far better than loose rice sitting out for hours at a gathering where guests arrive and eat at different times throughout the day. Outside a festival context, plain steamed rice works just as well and is the more realistic option for a home cook making opor ayam as an ordinary midweek dinner rather than for a house full of visiting relatives.
What tends to go wrong, and how to fix it on the day
The most frequent complaint about a home-cooked opor ayam is that it tastes flat or one-dimensional next to a restaurant or family version, and the usual cause is under-seasoning the paste relative to how much coconut milk dilutes it. Coconut milk is a mild ingredient by volume, and a paste that tastes correctly seasoned on its own, before the coconut milk goes in, often ends up underwhelming once it’s stretched across six hundred millilitres of liquid — taste the sauce again once everything has come together and don’t be afraid to add a little more salt or palm sugar at that stage rather than trusting the seasoning you judged earlier in the paste alone. A second common issue is a sauce that never quite thickens, usually from simmering too briefly or at too low a heat to let any real reduction happen; thirty to thirty-five minutes at a gentle but steady simmer, uncovered for at least the second half of that time, gives the sauce room to concentrate properly.
Storage and reheating
A well-made opor ayam should hold together for at least a day in the fridge without the sauce separating at all, which is a reasonable test of whether the coconut milk was simmered gently enough the first time round. Opor ayam keeps for up to three days refrigerated and reheats gently on the stove without much loss of quality, provided you keep the heat low to avoid splitting the coconut sauce a second time. It freezes reasonably well for up to two months, though coconut-based sauces can occasionally separate slightly on thawing — a brisk stir over low heat as it reheats usually brings the sauce back together. For a fuller, closer relative of this same white curry using largely the same spice base but a much longer cook time, this kitchen’s soto ayam shows how differently the same underlying aromatics can read once turmeric and a clear broth replace coconut milk. And if the idea of a slow-cooked, patient Javanese dish alongside it appeals, gudeg — young jackfruit stewed for hours in coconut milk and palm sugar — is traditionally served with a version of opor ayam’s chicken right alongside it on the same plate.




