Opor Ayam is a beloved Javanese coconut-milk chicken curry traditionally served during Eid celebrations. Unlike red or yellow curries, this version is pale and mild, seasoned with candlenuts, coriander, and aromatic leaves rather than heavy chili. The result is a velvety, fragrant stew that pairs beautifully with compressed rice cakes or steamed jasmine rice.
Prep Time20 mins
Cook Time45 mins
Total Time65 mins
Servings4
Yield4 servings
Nutrition Facts
Per serving (estimated)
- 485 kcalCalories
- 32 gFat
- 21 gSaturated Fat
- 8 gCarbs
- 2 gFiber
- 3 gSugar
- 38 gProtein
- 620 mgSodium
- 780 mgPotassium
- 60 mgCalcium
- 3 mgIron
- 6 mgVitamin C
- 35 mcgVitamin A
Ingredients
For the chicken and main liquid
- 3 lbs bone-in chicken thighs and drumsticks, skin on
- 2 cups full-fat coconut milk
- 1 cup water
- 1 1/2 tsp fine sea salt
- 1 tsp palm sugar or brown sugar
For the spice paste (bumbu halus)
- 6 shallots, peeled and roughly chopped
- 4 garlic cloves, peeled
- 3 candlenuts or macadamia nuts
- 1 tbsp coriander seeds, toasted
- 1 tsp white peppercorns, toasted
- 1 inch fresh ginger, peeled
- 1 inch galangal, peeled (or sub extra ginger)
For the aromatics
- 3 Indonesian bay leaves (salam)
- 4 fresh kaffir lime leaves, torn
- 1 lemongrass stalk, outer layers removed, bruised
- 2 tbsp neutral oil, for sautéing
Directions
- Combine all spice paste ingredients in a small food processor or mortar and pestle. Blend or pound to a smooth, thick paste, adding 2 tablespoons of water if needed to help it move.
- Heat the oil in a heavy Dutch oven or large pot over medium heat. Add the salam leaves, kaffir lime leaves, and bruised lemongrass and sizzle for 30 seconds until fragrant.
- Add the spice paste and cook, stirring frequently, for 4 to 5 minutes until it darkens slightly and the oil begins to separate at the edges. Lower the heat if it starts to brown too quickly.
- Pat the chicken pieces dry and nestle them into the pot, skin side down. Sear for 3 minutes per side until lightly golden and coated in the paste.
- Pour in the coconut milk and water, season with salt and palm sugar, and bring to a gentle simmer. Skim any impurities that rise to the surface for the first few minutes.
- Reduce the heat to low, cover partially, and simmer gently for 30 to 35 minutes, turning the chicken occasionally, until the meat is fork-tender and the sauce has reduced to a creamy, pale, light-golden consistency.
- Remove the lid and simmer uncovered for another 5 minutes to thicken the sauce until it coats the back of a spoon. Discard the lemongrass stalk and bay leaves, or leave them in for presentation.
- Taste and adjust salt or sugar. Serve hot with steamed jasmine rice, ketupat (compressed rice cakes), or lontong, and a side of sambal for those who want extra heat.
Cook’s Notes
- Bone-in, skin-on chicken thighs give the richest flavor and stay tender; avoid boneless breasts which can dry out.
- If candlenuts are hard to find, blanched macadamia nuts or even raw cashews work well and keep the curry pale.
- For a brighter finish, squeeze in a little fresh lime juice just before serving to cut through the coconut richness.
- Use only full-fat canned coconut milk (shake the can first); light coconut milk will not yield the same velvety texture.
- This curry keeps refrigerated for 3 days and tastes even better the next day as the spices meld.










