Malaysian Cuisine
Soto Ayam
Turmeric-golden chicken soup with coconut milk, lemongrass, and rice noodles
Soto ayam is one of those soups that reveals the limits of the word "soup." In English the term suggests something simple, maybe something you open from a can when you are feeling unwell. Soto ayam is not that. It is a composed bowl, assembled in layers, where a deeply fragrant turmeric-and-coconut broth meets tender chicken, soft rice noodles, crunchy bean sprouts, and a scattering of crispy shallots that dissolve the moment they touch the hot liquid. It is served across Malaysia and Indonesia in countless regional variations, from street stalls in Kuala Lumpur to warungs in Java, and each version carries the fingerprint of its place.
The foundation is a spice paste built on coriander, cumin, galangal, ginger, turmeric, and shallots, fried until the raw edges cook away and the kitchen fills with a warm, almost earthy perfume. Coconut milk rounds the broth into something silky without making it heavy, and lemongrass threads a citrusy brightness through the whole bowl. The toppings are not decorative. Each one plays a structural role: the hard-boiled egg adds richness, the bean sprouts bring a clean snap, the lime juice wakes everything up, and the fried shallots provide a salty crunch that makes you reach for one more spoonful.
If you enjoy the layered, aromatic broths of Southeast Asia, soto ayam sits in good company. It shares a family resemblance with Pho Ga, where a clear, spiced broth meets chicken and noodles, and with Tom Kha Gai, where coconut milk and galangal do similar work in a Thai context. For a richer, beef-based cousin, look to Soto Betawi. And if you want to build a Malaysian table around this bowl, Nasi Lemak and a plate of satay make natural companions.
At a Glance
Yield
4 servings
Prep
20 minutes
Cook
35 minutes
Total
55 minutes
Difficulty
Easy
Ingredients
- 1 tspcoriander seeds
- 1 tspcumin seeds
- 4medium shallots, peeled and roughly chopped
- 3 clovesgarlic, peeled
- 1 piecefresh turmeric, about 5 cm, peeled (or 1 tbsp turmeric powder)
- 1 piecegalangal, about 3 cm, peeled and sliced
- 1 pieceginger, about 3 cm, peeled and sliced
- 1 tbspfresh lime juice
- 2 tbspneutral oil (such as vegetable or sunflower)
- 1 stalklemongrass, trimmed and cut into 3 pieces, lightly bruised
- 1¾ cupcoconut milk (one 400 ml can, full-fat)
- 1¾ cupchicken broth
- 1 cupwater
- 1boneless, skinless chicken breast (about 250 g), cut into 2 cm cubes
- —Salt, to taste
- 5½ ozdried rice vermicelli noodles
- 5½ ozbean sprouts, rinsed
- 5½ ozcabbage, thinly sliced (optional)
- 2hard-boiled eggs, peeled and cut into wedges
- 2spring onions, sliced into thin rounds
- 2limes, cut into wedges
- 1 ozfried shallot crisps
Method
- 1
Toast the coriander seeds and cumin seeds in a dry skillet over medium heat, shaking the pan occasionally, until they smell warm and nutty, about 2 minutes. Transfer to a food processor or mortar. Add the shallots, garlic, turmeric, galangal, ginger, and lime juice. Blend or pound to a rough paste, adding a splash of water if needed to keep things moving. The paste should be a vivid golden-orange and smell sharply aromatic.
- 2
Soak the rice vermicelli in a bowl of warm water for 10 to 15 minutes, or until pliable. Drain and set aside.
- 3
Heat the oil in a large pot or Dutch oven over medium-high heat. Add the spice paste and stir continuously with a spatula for 2 to 3 minutes. The paste will darken slightly and the raw shallot smell will give way to a toasted, fragrant warmth. You will notice the oil beginning to separate at the edges of the paste when it is ready.
- 4
Pour in the chicken broth, coconut milk, and water. Drop in the lemongrass pieces. Bring the liquid to a gentle boil, then add the chicken cubes. Reduce the heat to low, cover the pot, and simmer for 25 to 30 minutes. The broth should turn a rich golden color from the turmeric. The chicken is done when it is opaque throughout and pulls apart easily with two forks. Taste the broth and season with salt, starting with about 1 tsp and adjusting from there.
- 5
While the soup simmers, bring a separate pot of water to a rolling boil. Blanch the drained rice vermicelli for 30 to 60 seconds, until tender but still slightly springy. Lift out with a spider strainer or tongs and divide among four serving bowls. Blanch the bean sprouts in the same water for about 20 seconds, just until they lose their raw edge but retain their crunch. If using cabbage, blanch it for 30 seconds. Drain and add to the bowls alongside the noodles.
- 6
Fish out and discard the lemongrass from the broth. Ladle the hot soup and chicken pieces over the noodles and bean sprouts. Top each bowl with egg wedges, sliced spring onions, and a generous pinch of fried shallot crisps. Serve immediately with lime wedges on the side. A squeeze of lime just before eating brightens the entire bowl.
Key Ingredient Benefits
Turmeric: The golden backbone of soto ayam. Fresh turmeric root produces a more vibrant color and a slightly more complex, peppery flavor than the dried powder, but both work. Turmeric contains curcumin, which has been widely studied for anti-inflammatory effects. Its bioavailability increases significantly in the presence of fat, which is one reason this soup, with its coconut milk base, is a particularly effective way to consume it. See the Turmeric ingredient guide for more detail.
Galangal: A relative of Ginger, galangal has a sharper, more piney flavor with a faint citrus note. It is not interchangeable with ginger, though ginger is the most common substitute. In traditional Southeast Asian herbalism, galangal has been used to settle the stomach and warm the body. It contains compounds like galangin and alpinetin that show antioxidant activity in laboratory settings.
Coconut milk: Full-fat coconut milk is important here. The reduced-fat versions lack the richness needed to carry the spice paste flavors and will produce a thin, watery broth. Coconut milk contains lauric acid, a medium-chain fatty acid that some research suggests is processed differently by the body than long-chain fats. Shake the can well before opening.
Coriander and cumin seeds: These two spices appear as a pair across much of the world's cooking, from North Africa through the Middle East and into Southeast Asia. Coriander seeds are mildly citrusy; cumin is earthy and warm. Together they form a baseline warmth in the spice paste. See the Coriander and Cumin ingredient guides.
Lemongrass: The lower, pale portion of the stalk holds the essential oils. Bruising it with the back of a knife cracks the fibers and allows those oils to leach into the simmering broth. Lemongrass contains citral, which gives it a clean, lemony fragrance that is distinct from actual lemon.
Why This Works
Toasting the coriander and cumin seeds before grinding them activates volatile oils that are locked inside the seed hull. Heat causes those oils to migrate to the surface, which is why you can smell them the moment they hit the warm pan. Grinding them while still warm releases more of those compounds into the paste than cold seeds would.
Frying the spice paste in oil before adding liquid is a technique common across Malaysian, Indonesian, and Indian cooking. The oil carries fat-soluble flavor compounds (particularly from turmeric and galangal) into the broth more efficiently than simply boiling them in water. It also allows the Maillard reaction to develop on the surface of the paste, creating deeper, more complex flavors than raw aromatics can provide.
Coconut milk serves two roles here. Its fat content acts as a vehicle for the fat-soluble curcuminoids in turmeric, improving both color extraction and flavor distribution. The milk proteins and emulsified fats also give the broth a silky body that water or stock alone cannot achieve. The result is a broth that coats the noodles and clings to the chicken rather than running off them.
Blanching the bean sprouts and noodles separately, rather than cooking them in the broth, keeps the broth clean and clear. Starch from the noodles would cloud the soup, and overcooked sprouts would lose the textural contrast that makes each spoonful interesting.
Substitutions & Variations
Turmeric: If fresh turmeric root is unavailable, 1 tbsp of ground turmeric powder is a reliable substitute. The color will be equally vivid, though the flavor will be slightly less nuanced.
Galangal: Fresh ginger is the closest substitute, though it lacks galangal's piney sharpness. Use the same amount. Galangal paste from a jar (found in Southeast Asian grocery stores) also works; use about 1 tbsp.
Chicken: Bone-in, skin-on chicken thighs will produce a richer, more gelatinous broth. Use 4 thighs, simmer them whole, then shred the meat and return it to the pot. This adds about 10 minutes to the cook time. For a quicker version, use rotisserie chicken, shredded, and add it in the last 5 minutes to warm through.
Noodles: Rice vermicelli is traditional, but glass noodles (mung bean noodles) are common in some Indonesian versions. You can also serve soto ayam over steamed jasmine rice or with compressed rice cakes (ketupat or lontong), which is popular in Java and across Malaysia.
Coconut milk: For a lighter version, reduce the coconut milk to 200 ml and increase the chicken broth by the same amount. The soup will be thinner but still flavorful. Do not omit the coconut milk entirely, as it carries the turmeric flavor and provides the characteristic golden body.
Heat: The base recipe is mild. For more warmth, add 1 to 2 bird's eye chilies (sliced) to the spice paste, or serve with sambal on the side. A drizzle of chili oil also works. The northern Thai soup Khao Soi takes a similar coconut-and-turmeric base and turns the heat up considerably, if that is the direction you prefer.
Regional variations: Indonesian soto ayam often includes candlenuts in the spice paste for added body and a subtle creaminess. Some versions from Central Java use a clear broth without coconut milk. In Malaysia, the coconut milk version predominates and is sometimes called soto santan.
Serving Suggestions
Soto ayam is a complete meal on its own, but it also works as the centerpiece of a larger spread. Nasi Lemak alongside a bowl of soto ayam makes for a generous Malaysian table, the coconut rice echoing the coconut in the broth. For a Southeast Asian soup night, pair it with Pho Ga or Tom Kha Gai and let guests try all three side by side. Laksa offers a spicier, more complex counterpoint if you want to build a noodle soup spread. A simple plate of cucumber slices, a wedge of sambal, and some prawn crackers (keropok) on the side round things out without competing for attention. If you are serving soto ayam as a starter before a larger meal, reduce the portion of noodles and increase the broth, letting it function more as a soup course.
Storage & Reheating
Broth: Store the broth and chicken separately from the noodles and toppings, in airtight containers in the refrigerator, for up to 3 days. The coconut milk may separate slightly when chilled; this is normal. A brief stir over medium heat will re-emulsify it. The flavors will deepen overnight as the spices continue to steep.
Noodles: Cooked rice vermicelli does not store well. It tends to clump and harden in the refrigerator. Cook noodles fresh each time you serve. This takes only a minute or two, so it is not much extra effort.
Bean sprouts: Blanched bean sprouts should be eaten the same day. They lose their crunch rapidly and turn limp within hours.
Toppings: Hard-boiled eggs keep in the refrigerator for 3 to 4 days. Fried shallot crisps should be stored in an airtight container at room temperature; they will stay crispy for about a week. Slice spring onions and cut limes fresh for each serving.
Freezing: The broth (with the chicken in it) freezes well for up to 1 month. Thaw overnight in the refrigerator and reheat gently on the stovetop, adding a splash of water if the broth has thickened. Do not freeze the noodles, bean sprouts, or toppings.
Nutrition Facts
Calories: 666kcal (33%)|Total Carbohydrates: 62g (23%)|Protein: 27.5g (55%)|Total Fat: 36.8g (47%)|Saturated Fat: 23.6g (118%)|Cholesterol: 137mg (46%)|Sodium: 465mg (20%)|Dietary Fiber: 6.8g (24%)|Total Sugars: 13.1g
You Might Also Like
Ratings & Comments
Ratings & Comments
Ratings
Share your thoughts on this recipe.
Sign in to rate and comment

