Categories: Recipe

Opor Ayam – Indonesian Chicken in Coconut Sauce

A little while ago, I was back in the Netherlands and stopped for dinner at a small Indonesian restaurant in Utrecht. As I looked through the menu, I spotted a dish I hadn’t thought about in years—Opor Ayam. The name instantly took me back. I used to eat this all the time when I was in the Navy, and later with friends. It was one of those go-to meals—comforting, flavorful, and filling.

Back then, we didn’t always make it from scratch. We’d either get it at an afhaalrestaurant, or someone would bring a big homemade batch to share. It was always mild and creamy, with just enough spice to keep it interesting. That meal in Utrecht reminded me how much I loved it. So I decided to make a version for Toine’s Kitchen that’s easy to prepare at home—but just as full of flavor.

Opor Ayam comes from Central Java. It’s traditionally made for festive occasions like Lebaran (Eid al-Fitr), but people eat it year-round because it’s so comforting. Chicken simmers in coconut milk with toasted kemiri nuts, lemongrass, galangal, and other warm spices. What sets it apart is its gentleness—it’s not spicy-hot like many Indonesian dishes, but it’s deeply aromatic and rich.

There are regional versions too. In Yogyakarta, opor is a little sweeter. In West Java, it might be thinner and more savory. Some use a whole chicken, others use eggs or tofu instead. My version uses chicken breast for convenience and includes just one chili pepper for a bit of warmth without overpowering the dish.

This recipe brings together tender chicken, creamy coconut milk, and a fragrant blend of spices for a dish that’s mild, warming, and deeply satisfying. Perfect over rice or ketupat, and even better the next day.

Print Add to Collection Go to Collections

Opor Ayam – Indonesian Chicken in Coconut Sauce

This comforting Indonesian dish simmers chicken in a rich coconut milk sauce, infused with toasted nuts, fragrant spices, and fresh aromatics like lemongrass, kaffir lime, and just a hint of chili. It’s creamy, mild, and full of warm flavor. Whether served with rice or rice cakes, this dish is a beautiful way to bring a little Indonesian tradition into your kitchen.
Course Dinner
Cuisine Indonesian
Keyword Chicken, Indonesian Food, Stew
Prep Time 10 minutes
Cook Time 45 minutes
Total Time 55 minutes
Servings 4
Calories 249kcal

Equipment

Ingredients

  • 500 g chicken breast
  • 400 ml coconut milk
  • 3 garlic cloves
  • 118 g shallots
  • 15 g chili pepper
  • 3 kemiri nuts (candle nuts) You can substitute macadamia nuts, if you cannot find kemiri nuts.
  • 1.5 tsp ground coriander
  • 0.25 tsp ground cumin
  • 1 stalk lemongrass
  • 2 salam leaves
  • 3 kaffir lime leaves
  • 1 inch galangal
  • 0.25 inch ginger
  • 1 tsp brown sugar
  • 0.5 tsp tamarind paste
  • 1 bouillon cube
  • 1 tbsp oil
  • 1 pinch Salt
Get Recipe Ingredients

Instructions

Make the spice paste (bumbu)

  • In a pan over medium heat, toast the kemiri or macadamia nuts. Toast them until they have a few brown spots all around.
  • Add the following to the bowl of a food processor, or mortar and pestle:
    – garlic
    – shallots
    – chili pepper (adjust to your heat preference; remove seeds for milder flavor)
    – toasted kemiri (or macadamia nuts)
    – ground coriander
    – ground cumin
    – ginger
    – salt
    You can add a teaspoon or two of water or oil to help the mixture blend into a smooth paste. This paste forms the heart of the dish’s flavor, so make sure it’s well blended and aromatic.
  • Slice the galangal into slices
  • bruise the lemon grass
  • bruise the kaffir lime leaves

Sauté the spice paste

  • Heat 1 tablespoon of oil in a large Dutch oven or heavy pot over medium heat.
  • Add the spice paste and stir constantly for 2–3 minutes, until fragrant and slightly darker in color. The raw aroma of garlic and chili should mellow into a rich, warm fragrance.
  • Add the sliced galangal, bruised lemongrass stalk, bruised kaffir lime leaves, and salam leaves. Sauté for another 1–2 minutes to release their essential oils and develop depth.

Cook the chicken

  • Increase the heat, and add the chicken breasts to the pot, stirring well to coat with the spice and herb mixture. Let the chicken cook for about 3–4 minutes, just until it begins to turn opaque and is no longer pink on the outside.

Build the sauce

  • Add the following to the pan:
    – brown sugar
    – tamarind paste
    – bouillon cube
  • Pour in the coconut milk, and stir gently to combine. If the chicken isn't mostly submerged, you can add more coconut milk or water.

Simmer

  • Bring to a rolling boil over medium high heat, then reduce to a gentle simmer. Let the dish simmer uncovered for 25–30 minutes, stirring occasionally to prevent the coconut milk from sticking. The sauce will thicken slightly, and the chicken will become tender and fully infused with the flavors.
    Make sure the chicken is fully cooked (internal temperature of 74ºC – 80ºC (165 – 176F). If not, let it simmer longer.

Rest and serve

  • Turn off the heat and let the dish rest for about 10 minutes before serving. This allows the flavors to settle and gives the sauce time to thicken slightly more.
  • Serve warm over steamed white rice, or alongside lontong or ketupat. If you want a bit of texture, garnish with crispy fried shallots or serve with a spoonful of sambal on the side.

Video

Notes

Ingredient Substitutions

  • Kemiri nuts (candlenuts): Traditional and used for creaminess. If unavailable, macadamia nuts are a great substitute—just make sure to toast them first for deeper flavor.
  • Chili pepper: I use one medium chili here to balance the richness of the coconut milk. For mild results, remove the seeds before blending. If you’re sensitive to heat, use half a chili or omit it entirely.
  • Galangal: Brings a slightly citrusy note. If you can’t find it, use a small amount of ginger with a bit of lime zest.
  • Daun Salam: These give a subtle bay-like earthiness. If you can’t find them, use a regular bay leaf, but note the flavor will differ slightly.
  • Chicken options: While I use boneless chicken breast for ease, chicken thighs or even a cut-up whole chicken will give a richer, more traditional flavor. Just adjust simmering time as needed.

Serving Suggestions

  • Best served with steamed jasmine or long grain rice, which soaks up the sauce beautifully.
  • For a festive feel, pair it with ketupat or lontong—Indonesian rice cakes that are perfect for mopping up sauce.
  • Add a side of acar (pickled cucumber and carrot) for crunch and contrast.
  • Garnish with fried shallots or serundeng (spiced toasted coconut) for extra texture.

Storage & Make-Ahead

  • Let leftovers cool completely before storing.
  • Refrigerate in an airtight container for up to 4 days. The flavors continue to deepen, and it’s often better the second day!
  • Freeze for up to 2 months. Defrost in the fridge overnight and reheat gently over low heat with a splash of water if needed.
  • If the coconut milk appears to split when reheating, don’t worry—stir gently and it will usually come back together.
 

Nutrition

Calories: 249kcal | Carbohydrates: 9g | Protein: 28g | Fat: 11g | Saturated Fat: 4g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 4g | Trans Fat: 0.03g | Cholesterol: 80mg | Sodium: 402mg | Potassium: 656mg | Fiber: 1g | Sugar: 4g | Vitamin A: 80IU | Vitamin C: 10mg | Calcium: 36mg | Iron: 2mg
Toine

View Comments

  • This one really took me back. I haven’t had Opor Ayam like this since my student days, when a good friend from Indonesia made it for us after a long week. The smell while it was cooking already brought back half the memories.

    I followed the recipe pretty closely, just swapped bay for salam since that’s all I had. It still tasted just like I remembered.

    Thanks, Toine. I’ve tried a bunch of your recipes, but this one hit a little different. Definitely keeping it in the rotation.

Recent Posts

Wit Casino Brood – Soft Dutch Pullman Loaf (Pain de Mie)

Bring the taste of Dutch bakeries home with this wit casino brood recipe. A soft,…

2 weeks ago

Vlammetjes: Spicy Dutch Bar and Party Snacks

Small, spicy, and irresistibly crisp, these vlammetjes are perfect for parties or casual nights in.…

1 month ago

Zeeuwse Bolussen – The Ultimate Sticky Cinnamon-Spiced Pastry from Zeeland

On my last trip to the Netherlands, I visited one of the Dutch members on…

3 months ago

Witte Chocolade IJs – White Chocolate Ice Cream

There is an ice cream shop in Utrecht that holds a special place for my…

3 months ago

Bitterkoekjes – Traditional Dutch Almond Cookies

These classic Dutch cookies are soft, chewy, and full of almond flavor with just a…

6 months ago

Nasi Goreng: Fried Rice Inspired by the Navy and Dutch Takeout Restaurant.

When I was growing up in the Netherlands, Sometimes on the weekend, dinner would come…

7 months ago