Curated recipes from 193 countries  •  New seasonal Mediterranean issue out now

Overview

Opor Ayam Recipe

Opor Ayam, Indonesian Coconut Chicken, Javanese Coconut Chicken

This opor ayam recipe turns chicken thighs into the creamy golden coconut-milk braise that anchors festive tables across Java: a warm spice paste of shallot, garlic, galangal, candlenut and a little turmeric, simmered slowly with whole red chillies until the sauce thickens and the chicken is spoon-tender. It takes 60 minutes, serves 4, and tastes even better the next day. One serving is about 385 g.

Opor ayam is the dish Java reaches for at Lebaran, the festival that ends Ramadan: a pot of chicken simmered in golden coconut milk, served with ketupat rice cakes to family gathered after the morning prayers. Its colour is a pale gold from a little turmeric — lighter than the deep-yellow curries of the region — and the chillies go in whole, so the coconut milk stays mild and the flavour stays gentle. The same pot appears at weddings and circumcision feasts, where a big batch can feed a crowd.

Pairs well with: Steamed jasmine rice or ketupat rice cakes, with sambal and fried shallots on the side

Provenance

Indonesia flag Indonesia

Indonesian Heritage

East & South Asia

Time Dedication

1h

20m prep • 40m cook

Batch Yield

4 Servings

625 kcal per serving

1 serving ≈ 385 g

Technical Skill

Intermediate

Medium (Braising)

Meal Timing & Digestive Fit

Breakfast

Not Advised

Lunch

Hearty Midday Main

Dinner

Ideal Hearty Main

Snack & Tea

Inappropriate

Occasions: Lebaran (Eid al-Fitr), family feasts, festive dinners, make-ahead gatherings Cost: Medium — about $4–5 per serving at home (chicken and coconut milk are the main costs)
A bowl of opor ayam, chicken in creamy golden coconut milk sauce with red chillies and fried shallots

Indonesian Heritage

Photo: Pitchrigi, CC BY-SA 4.0, via Wikimedia Commons

The Heritage Formulary

Measured Ingredients

Estimated cost: Medium — about $4–5 per serving at home (chicken and coconut milk are the main costs) (USD)

A traditional Javanese festive dish: chicken braised gently in golden coconut milk with a warm, fragrant spice paste.

Execution Methodology & Culinary Technique

Step-by-Step Cooking Guide

Active 1h
P

Prep Stage: Blend the Pale Spice Paste

20 Mins • Blending & Knife Work

Peel and chop the shallots, garlic, ginger and galangal, then blend them with the candlenuts, ground coriander and a splash of the coconut milk until completely smooth — the paste should be pale gold, with no visible chunks. Bruise the lemongrass, tear the lime leaves, and measure out the rest so the pot work goes without pauses.

Maestro Tip: Blend the paste until it is truly smooth; gritty paste makes a gritty sauce, and no amount of simmering fixes it.

  1. 1

    Blend the Spice Paste

    10 Mins No heat — blender, about 20°C (68°F)

    Put the shallots, garlic, ginger, galangal, candlenuts, ground coriander, turmeric and white pepper in a blender with 60 ml of the coconut milk. Blend for 2–3 minutes, scraping down the sides twice, until the paste is completely smooth and pale gold.

    Add the coconut milk a spoonful at a time — too much liquid and the paste spins without grinding.

    Done when: Paste is smooth, thick and pale gold, with no visible chunks.

  2. 2

    Fry the Paste Until Fragrant

    8 Mins Medium heat, ~175°C (350°F)

    Warm the vegetable oil in a wide, heavy pot over medium heat. Add the spice paste, lemongrass, bay leaves and lime leaves, and fry for 7–8 minutes, stirring constantly, until the paste turns a shade darker, smells deeply fragrant, and the oil begins to separate at the edges.

    Do not rush this step — an under-fried paste tastes raw and the sauce will never turn silky.

    Done when: Paste is fragrant, slightly darker, with a thin rim of oil at the edges.

  3. 3

    Add Chicken and Coconut Milk

    5 Mins Medium heat, ~175°C (350°F)

    Add the chicken thighs to the pot and turn them in the paste for 2 minutes so every piece is coated. Pour in the rest of the coconut milk and the water, add the palm sugar, salt and whole red chillies, and stir gently to combine.

    Coat the chicken before adding the liquid — the paste clings to the meat instead of washing off into the sauce.

    Done when: Chicken is coated, liquid is golden and creamy, no paste clumps remain.

  4. 4

    Simmer Low Until Tender

    25 Mins Low heat, ~95°C (200°F)

    Bring the pot just to a gentle simmer — never a rolling boil, or the coconut milk will split — then cover, turn the heat to low, and simmer for 25 minutes, turning the chicken once halfway. The sauce should thicken to coat a spoon and the chicken should be tender all the way through.

    If the sauce looks grainy, the heat is too high; take the pot off the heat for a minute and stir before continuing.

    Done when: Chicken reaches 74°C (165°F) at the thickest part and pulls apart easily with a fork.

  5. 5

    Rest and Garnish

    7 Mins No heat — rest off the stove, about 20°C (68°F)

    Take the pot off the heat, lift out the lemongrass, bay leaves and lime leaves, and taste the sauce. Add a pinch more salt or palm sugar if it needs balance, then rest for 5 minutes so the sauce settles. Scatter the fried shallots over the top just before serving.

    Fish out the leaves now — left in, the bay leaves turn bitter as the dish cools.

    Done when: Sauce is glossy and coats the chicken; the dish smells warmly of coconut and galangal.

Finishing Touches & Plating

Spoon the chicken and its creamy sauce into a warm serving bowl and scatter the fried shallots over the top. Serve hot with steamed rice so the sauce has somewhere to go.

Nutritional Physiology & Benefits

Nutrition

Energy

625

kcal / serving

Protein

42g

Complete AA

Carbs

19g

Complex

Fats

44g

Healthy

Per serving (4 servings · 1 serving ≈ 385 g)
Energy625 kcal
Protein42 g
Carbohydrates19 g
Fat44 g
Fibre4.6 g
Sugar8.3 g
Sodium693 mg
Per 100g
Energy162 kcal
Protein11 g
Carbohydrates5 g
Fat11.3 g
Fibre1.2 g
Sugar2.2 g
Sodium180 mg

Nutrition values are estimated — calculated from USDA FoodData Central values for the listed ingredients.

Vitamins & minerals: A serving provides vitamin B6, niacin and phosphorus from the chicken, plus manganese and iron from the coconut milk and spice paste. Nutrition values are estimated.

High in Protein

Each serving carries about 42 g of protein from the chicken, which helps the meal feel filling and supports normal muscle maintenance.

Gentle on Spice

The chillies go in whole, so the heat stays gentle — opor is one of the mildest Indonesian chicken dishes, warm and aromatic rather than hot, so it suits cautious eaters and children.

Make-Ahead Friendly

The sauce thickens and the flavours deepen overnight, so this is a practical dish to cook a day ahead for a gathering.

Food Pairings

What to Eat With

To optimize nutrient absorption and elevate the sensory depth, pair with these authentic accompaniments:

Sides

Steamed Jasmine Rice

Plain rice soaks up the coconut sauce and balances its richness — the dish is built to be eaten with it, not on its own.

Ketupat Rice Cakes

The traditional festive partner: dense, pressed rice cakes cut into cubes hold their shape in the sauce and make the meal feel like a celebration.

Vegetables

Sayur Lodeh or Cucumber

A light vegetable side or cool cucumber slices cut the richness of the coconut milk and refresh the palate between bites.

Sauces

Sambal on the Side

A small spoonful of sambal lets anyone who wants heat add it themselves, without changing the mild character of the opor for everyone else.

Complete menu

Serve hot with steamed jasmine rice or ketupat, cucumber slices and sambal on the side for anyone who wants heat.

Digestive Guardrails

What NOT to Combine

To prevent digestive distress, sluggishness, or palate clash, avoid pairing the dish with these elements:

Very Rich Sides Together

At about 625 kcal and 43.6 g of fat per serving, opor is already rich — pairing it with another coconut-heavy dish or fried sides can make the meal heavy. This is general information, not medical advice.

Boiling the Coconut Milk Hard

A rolling boil splits coconut milk into oil and curds, which cannot be fixed. Keep the simmer gentle from start to finish. This is general information, not medical advice.

General information only, not medical advice — consult a doctor for personal dietary decisions.

Who Should Eat It

Who Should Eat

  • General adultsA rich, festive main at about 625 kcal per serving — a satisfying dinner for most adults, best balanced with plain rice and vegetables.
  • ChildrenThe mild sauce usually suits children well; the chicken is soft and easy to chew. Serve a small portion first, leave the whole chillies out of their bowls, and skip the sambal.
  • ElderlySoft, tender chicken in a mild sauce is easy to eat, but the dish is rich — a smaller portion with plenty of rice suits older diners.
  • Pregnant womenChicken and coconut milk are fine in pregnancy when the chicken is cooked through to 74°C (165°F). Keep portions moderate because the dish is rich. Ask your clinician about portions.
  • Breastfeeding womenA filling, protein-rich main that fits a varied diet; the coconut milk is high in saturated fat, so balance it with vegetables. Ask your clinician about portions.
  • AthletesAbout 42 g of protein per serving makes this a useful post-training meal, though the fat slows digestion — eat it a couple of hours after hard training, not right before.
  • Weight gainAt about 625 kcal a serving with rice on top, this is an energy-dense meal that helps towards a weight-gain goal when eaten with a full portion of rice.
  • Weight lossRich and calorie-dense: keep the portion small, load the plate with cucumber and vegetables, and use light coconut milk. Ask your clinician about portions.

Health Conditions — Adjust or Avoid

Conditions

  • DiabetesAbout 19.1 g of carbohydrate per serving, mostly from the coconut milk and shallots — modest, but the palm sugar adds fast carbohydrate. Keep the rice portion moderate. Ask your clinician about portions.
  • High blood pressureAbout 693 mg of sodium per serving. Use less added salt and skip salty sambal if you limit sodium. Ask your clinician about portions.
  • Kidney diseaseModerate protein and potassium per serving; the coconut milk is high in saturated fat, which matters for kidney-friendly eating patterns. Ask your clinician about portions.
  • GoutChicken, coconut milk and the spice paste are not typical gout triggers. Rich, fatty meals can still be unhelpful during a flare, so keep the portion modest. Ask your clinician about portions.
  • Stomach issuesThe mild, chilli-free sauce is usually gentle, but the fat content can slow digestion and feel heavy on a sensitive stomach. Eat a small portion and avoid eating it late at night. Ask your clinician about portions.
  • Cardiovascular diseaseAbout 43.6 g of fat per serving, much of it saturated fat from the coconut milk — the part to watch for a heart-friendly plate. Use light coconut milk and a smaller portion. Ask your clinician about portions.
  • Fatty liverHigh in saturated fat and calories, so keep the portion moderate and balance the plate with vegetables and plain rice. Ask your clinician about portions.
  • Food allergiesAllergens: tree nuts (candlenut — a tree nut). The dish is gluten-free and dairy-free as written. Anyone with a tree-nut allergy must not eat this dish; ask your clinician about safe substitutes.
  • Special therapeutic dietsFits gluten-free and dairy-free plans as written. For low-fat therapeutic diets, use light coconut milk and skinless breast meat. Ask your clinician about portions.

If you have a medical condition, consult your doctor before changing your diet.

Storage & Use

Storage & Use

How to store
Cool within 2 hours, then store in an airtight container with the sauce covering the chicken.
In the fridge
Up to 3 days — the flavour deepens overnight.
In the freezer
Up to 2 months; coconut-milk sauces can separate slightly on thawing, so stir well while reheating.
How to reheat
Reheat gently in a covered pan over low heat for 10–12 minutes until steaming hot throughout, to 74°C (165°F). Do not boil.
Freezing recommended
Yes, though the sauce may need a good stir after thawing.
Signs it has spoiled
Sour smell, slimy chicken, or mould on the surface.

More recipes to explore

Indonesian nasi goreng — a mound of fried rice with egg and fried shallots, a fried egg, prawn crackers, cucumber, tomato and lettuce Indonesia flag Indonesia 35m
Dinner •Jakarta Street Classic

Indonesian Nasi Goreng

This Indonesian nasi goreng recipe turns a bowl of day-old rice into something far better than the sum of its parts: smoky, sweet-savoury grains coated in kecap manis, tossed with chicken, carrot and peas, and crowned with a fried egg and crunchy prawn crackers. It is the kind of dinner that comes together in one wok in about half an hour, and it tastes like a Jakarta street stall at its best. One serving is about 470 g.

Comfort & Satisfying

A one-wok dinner of sweet-savoury fried rice, chicken and a fried egg, served the Indonesian way with cucumber, tomato and prawn crackers.

Pairs Well With
A fried egg on top, cool cucumber and tomato, and a handful of prawn crackers, with iced tea to drink.
Quick Prep (<30m)
A plate of beef rendang — dark brown beef chunks coated in a dry, caramelised spice paste Indonesia flag Indonesia 4h
Dinner •West Sumatra Heritage

Beef Rendang

This beef rendang recipe slow-braises beef chuck in coconut milk with lemongrass, galangal, chillies and warm spices for about four hours, until the sauce has almost disappeared and the meat is coated in a dark, dry, caramelised spice paste. It is the Minangkabau dish from West Sumatra that sits at the heart of Padang cooking: deeply savoury, gently hot, and rich without being saucy. One serving is about 380 g.

Rich & Satisfying

Slow-braised beef in spiced coconut milk, reduced until the meat is coated in a dark, caramelised spice paste.

Pairs Well With
Steamed jasmine rice & pickled cucumber (acar timun)
High Protein
Grilled chicken satay skewers with peanut sauce and cucumber salad on a plate Indonesia flag Indonesia 45m
Dinner •Java Street Food

Chicken Satay

This chicken satay recipe turns chicken breast into golden, char-edged skewers marinated in turmeric, coconut milk, garlic and sweet soy sauce, then grilled and served with a warm, creamy peanut sauce. One serving is about 290 g: three skewers, a generous spoonful of peanut sauce and a cool cucumber-shallot salad. It is the Indonesian street-food classic — sate ayam — made for a weeknight grill.

High-Protein Grilling

Grilled chicken skewers in a turmeric-coconut marinade, served with a homemade peanut sauce — high in protein and cooked fast over high heat.

Pairs Well With
Lontong rice cakes and a cool cucumber-shallot salad balance the rich peanut sauce.
High Protein • Quick Prep (<30m)
A plate of gado-gado: mixed vegetables, tofu and boiled egg coated in peanut sauce, topped with prawn crackers and cucumber slices. Indonesia flag Indonesia 45m
Lunch •Jakarta Street Food Classic

Gado-Gado

Gado-gado is Indonesia's best-loved salad: warm potatoes, green beans, cabbage, bean sprouts, cucumber and carrot, with fried tofu, boiled egg and crunchy prawn crackers, all coated in a thick, sweet-savoury peanut sauce. One serving is about 584 g.

Fresh & Filling

Warm vegetables, tofu and egg under a rich peanut sauce — a complete meat-free lunch.

Pairs Well With
Serve warm with prawn crackers on the side and a glass of iced tea.

The Dinner Gazette

Never wonder what’s for dinner again

One email a week with easy dinner ideas from around the world — ingredients, steps and nutrition, tested in our kitchen first.

Delivered every Thursday morning. Unsubscribe anytime.