Opor Ayam (Javanese Chicken Curry)

Fragrant spices and coconut milk flavour James Oseland's tender chicken curry
Opor Ayam (Javanese Chicken Curry)
  • Rating:
  • Serves: 4
  • Cook Time: 1 hour 10 minutes
  • Prep Time: 30 minutes
  • Effort: medium


For the flavouring paste:

  • 1 tbsp coriander seeds
  • 1 fresh red Holland chilli or other fresh long hot red chilli, such as Fresno or cayenne, coarsely chopped, optional, but provides subtle heat and colour
  • 6 shallots, coarsely chopped
  • 2 cloves garlic, coarsely chopped
  • 1x4 cm piece fresh or thawed frozen galangal, thinly sliced against the grain, optional
  • 1x5 cm piece fresh ginger, thinly sliced against the grain

For the curry:

  • 1x1.4 kg free-range chicken, or 1.2kg free-range chicken breasts, wings, thighs and/or drumsticks (dark-meat pieces will result in a tastier dish)
  • 3 tbsp peanut oil
  • 2x10 cm cinnamon sticks
  • 1 thick stalk lemongrass, tied into a knot
  • 5 fresh or thawed frozen lime leaves, (Indonesian aromatic with a delicate citrus flavour)
  • 4 daun salam leaves, optional, (Indonesian herb with a subtle woody, spicy flavour)
  • 500 ml unsweetened coconut milk
  • 300 ml water
  • 3/4 tsp kosher salt
  • 2 tbsp crisp-fried shallots, to garnish, optional


1. For the flavouring paste: put the coriander seeds in a small food processor. Pulse for about 2 minutes, until ground to a dusty powder.

2. Add the chilli, shallots, garlic, galangal (if using), and ginger to the ground coriander. Pulse until you have a smooth paste the consistency of creamy mashed potatoes. If the paste won't purée properly and repeatedly creeps up the side of the processor, add up to 2 tablespoons water, 1 tablespoon at a time, periodically turning the processor off and scraping the unground portions down towards the blade. Set aside.

3. For the curry: rinse the chicken under cold running water and pat dry with kitchen paper. If using a whole chicken, cut it into 16 pieces. If using chicken pieces you can leave them whole. Set aside.

4. Heat the oil in a 3-4 litre pan or Dutch oven over medium-low heat. Test to see if the oil is the right temperature by adding a pinch of the ground paste. The paste should sizzle slightly round the edges, not fry aggressively or sit motionless. When the oil is ready, add all the paste and gently cook for 5-7 minutes stirring as needed to prevent scorching, until the garlic and shallots no longer smell raw and the paste begins to separate from the oil.

5. Add the cinnamon, lemon grass, lime leaves and daun salam leaves (if using) and stir to combine them with the flavouring paste. Continue cooking gently for about 1 minute. until you can clearly smell the cinnamon fragrance.

6. Add the chicken and increase the heat to medium. Cook the chicken in the flavouring paste, moving it around often with a large spoon or spatula to prevent sticking or scorching. Turn each piece so that it browns in the oil and cook the pieces for about 10 minutes until fairly evenly golden brown. You don't need to brown the chicken in 2 batches. It's fine if the chicken is piled in 2 layers, as long as you adjust the pieces in the pot so they all eventually brown.

7. Add 250ml coconut milk, the water and salt to the chicken. Stir well to combine, blending the flavouring paste with the liquids and scraping the bottom of the pan to bring up all the bits stuck to the base of the pan.

8. Bring to a low, steady simmer and cook uncovered, stirring occasionally, for 40-50 minutes until the fats from the chicken and coconut milk have risen to the surface and the chicken is tender and cooked through but not falling off the bone. You may need to adjust the heat occasionally if the simmer becomes too aggressive or too gentle. Don't allow the liquid to boil or the chicken may toughen and the coconut milk may curdle. When the chicken is cooked, taste for salt and add a pinch more if needed.

9. Add the remaining coconut milk and allow it to heat through for about 2 minutes and begin to take on the flavours of the curry. If there's too much oil floating on the surface of the curry to your taste, skim off some of it, but not too much, as it's intensely flavourful. Taste for salt once more.

10. To serve: put the chicken and sauce on a shallow serving bowl. You can remove the cinnamon and the kaffir lime and daun salam leaves (if used), or you can leave them in the bowl to continue to flavour the dish. Allow the dish to rest and cool at room temperature for at least 20 minutes before eating, which will give the flavours time to blend and intensify. Just before serving, garnish the curry with the fried shallots.

Rate This Recipe