Balinese Chicken Legs in Spiced Coconut Sauce

Ayam Bali is a Balinese classic where chicken legs are marinated in a fragrant spice paste of garlic, ginger, chilies, and nuts, then braised in creamy coconut milk with tamarind brightness. The chicken becomes deeply tender as it simmers in the rich, complex sauce. Serve this showstopper at dinner parties or family gatherings with rice to soak up every drop. What sets this version apart is the two-stage cooking method: browning the chicken separately to develop color before finishing in the sauce, ensuring both texture and flavor depth.
Ingredients
- 1 medium onion, chopped
- 2 clove garlic, crushed
- 1 tablespoon ginger, crushed
- 2 whole red chili, chopped
- 4 whole brazil nut, choppedcashew nut1:1nuttyadds tree_nuts
note: substitute listed in source
- 1 tablespoon dark soya saucetamari1:1umami
gluten-free swap
- 5 tablespoon peanut oil
- 4 whole chicken legwhole chicken quartered4 pieces equivpoultry
source lists alternative
- 1 cup coconut milk
- 2 tablespoon lemon juice(optional)
- 2 tablespoon tamarind juice(optional)lemon juice1:1acid
source lists both as optional
- ½ teaspoon salt
- 1 tablespoon sugar
Instructions
- 1
Blend onion, garlic, ginger, chilies, nuts, and dark soya sauce into a smooth puree.
- 2
Remove skin from chicken pieces.
- 3
Coat chicken with puree and marinate for at least 2 hours.
- 4
Heat peanut oil in a large deep frying pan until hot.
- 5
Add chicken pieces without marinade and fry until evenly browned on all sides.
- 6
Transfer chicken to a plate.
- 7
Add the puree mixture to the pan and stir-fry for 5 minutes.
- 8
Stir in coconut milk, lemon or tamarind juice, salt, and sugar, then bring to a boil.
- 9
Return chicken to the pan and baste thoroughly with the liquid.
- 10
Reduce heat to low and simmer uncovered for 30 minutes until chicken is cooked through and tender.
Tips
Marinate chicken overnight in the refrigerator for deeper flavor penetration and more tender meat.
Use tamarind juice instead of lemon for authentic Balinese sourness and subtle complexity.
Serve with jasmine rice, steamed greens, or crispy shallots to complement the rich coconut sauce.
Good to Know
Refrigerate leftover ayam bali in an airtight container for up to 3 days. The flavors deepen overnight, making it excellent for meal prep.
Marinate chicken overnight. Prepare the spice paste a day in advance and store refrigerated. Complete the braising up to 2 days ahead and reheat gently on the stovetop.
Serve hot with jasmine rice, coconut rice, or flatbread. Garnish with fresh cilantro and crispy fried shallots for texture contrast.
Common Mistakes
Do not skip browning the chicken separately to avoid pale, steamed-looking meat and missed flavor development.
Do not add marinade with the browned chicken to avoid bitterness from charred spices.
Do not overcook chicken past 30 minutes to avoid dry, tough meat in the sauce.
Substitutions
Nut-Free Alternatives
General Alternatives
note: substitute listed in source
source lists alternative
FAQ
Can I use chicken breasts instead of legs?
Yes, but reduce simmering time to 15-20 minutes since breasts cook faster. Legs stay more tender in the long braise. Thighs are also excellent and forgiving.
What if I cannot find tamarind juice?
Lemon juice works well and is listed as an alternative in the source. For deeper flavor, use lime juice or a mix of both. Adjust quantity to taste.
How long can I keep ayam bali refrigerated and can I freeze it?
Store refrigerated for 3 days. Freezing works well for up to 2 months in an airtight container. Thaw overnight and reheat gently on low heat, adding water if sauce has thickened.