Print

Opor Ayam (Indonesian Chicken Curry) Recipe

4.4 from 99 reviews

Opor Ayam is a classic Indonesian chicken curry featuring tender bone-in chicken simmered in a rich and aromatic coconut milk sauce infused with toasted coriander, galangal, lemongrass, and kaffir lime leaves. This flavorful, comforting dish is a staple in Indonesian cuisine and is perfect served with steamed rice.

Ingredients

Scale

Spices and Aromatics

  • 1/4 cup coriander seeds
  • 1/2 tablespoon white peppercorns
  • 2 to 3 1-inch pieces kaempferia galanga root, peeled (optional)
  • 1 3-inch piece ginger, peeled and lightly smashed
  • 1 3-inch piece galangal, peeled and lightly smashed
  • 5 lemongrass stalks, trimmed, smashed and tied into knots
  • 10 to 15 fresh or dried salam leaves (Indonesian bay leaves)
  • 20 fresh makrut lime leaves

Vegetables and Additional Flavorings

  • 10 small shallots, sliced
  • 15 garlic cloves
  • 5 candlenuts (or 5 to 10 macadamia nuts)
  • 1 tomato, chopped (or 1 cup cherry tomatoes)

Liquids and Fats

  • 3 tablespoons coconut oil
  • 1 8.5-ounce can coconut milk
  • 3/4 cup chicken stock

Protein

  • 3 pounds bone-in chicken pieces

Seasoning

  • Kosher salt, to taste

Instructions

  1. Toast and grind coriander seeds: In a dry skillet over medium-high heat, toast the coriander seeds for 2 to 3 minutes until fragrant and lightly browned. Remove from heat and let cool, then grind them finely using a spice grinder.
  2. Cook shallots and prepare spice paste: Heat 2 tablespoons of coconut oil in a large sauté pan over medium heat. Add the sliced shallots and a generous pinch of kosher salt; cook while stirring often until the shallots are browned and caramelized, about 10 minutes. Transfer cooked shallots to a food processor and set aside. In the same pan, add the garlic cloves and candlenuts, cooking constantly for 2 to 3 minutes until they turn a deep golden brown but do not burn. Add these to the food processor along with the peeled kaempferia galanga root (if using), white peppercorns, and 2 tablespoons of water. Purée everything into a smooth paste.
  3. Sauté aromatics: Heat the remaining 1 tablespoon of coconut oil in the sauté pan over medium heat. Add the ginger, galangal, smashed lemongrass stalks, salam leaves, and makrut lime leaves, scrunching the lime leaves in your hands before adding to release their fragrance. Cook the mixture for 5 to 7 minutes, stirring occasionally, until the strong raw smell dissipates and the aromatics soften.
  4. Combine and simmer: Stir the ground coriander seeds, the shallot-garlic paste, and chopped tomato into the sautéed aromatics. Reduce heat to low and gradually stir in the coconut milk a little at a time to prevent the sauce from breaking. Once fully incorporated and the sauce starts to gently simmer, pour in the chicken stock. Nestle the bone-in chicken pieces into the pan, spoon some sauce over the top, then cover and cook on low heat for about 40 minutes. Adjust heat as needed to maintain a gentle simmer without boiling, ensuring the chicken cooks through and the flavors meld beautifully.
  5. Finish and serve: Once the chicken is tender and the dish is aromatic, remove the galangal, ginger, lemongrass, salam leaves, and makrut lime leaves from the pan. Taste and season with kosher salt as needed. Serve the opor ayam hot with steamed rice for a comforting Indonesian meal.

Notes

  • If kaempferia galanga root is unavailable, the dish will still be flavorful but slightly different in aroma.
  • Candlenuts add creaminess and depth; macadamia nuts can be used as a substitute.
  • Do not boil the curry to prevent coconut milk from breaking and curdling.
  • Adjust salt seasoning at the end to taste.
  • Serve with steamed jasmine rice or fragrant coconut rice for an authentic experience.

Keywords: Opor Ayam, Indonesian chicken curry, coconut milk chicken, Indonesian cuisine, chicken curry recipe