Soto (or coto) is the Indonesian term for a category of broth-based soups. Soto ayam specifically means chicken soto (ayam = chicken). It is one of the most widely eaten dishes in Indonesia, appearing in warungs (small local restaurants), street stalls, and family kitchens across all regions of the archipelago.
Unlike many national dishes that have a single canonical form, soto ayam is deliberately regional — the broth, noodle, protein, and condiment table change significantly between Lamongan (East Java), Betawi (Jakarta), Bandung (West Java), Kudus (Central Java), and countless other local variations. The unifying elements are: golden-yellow turmeric broth, shredded or bone-in chicken, and a rich condiment and topping selection.
The Defining Flavor Profile
Soto ayam's color and base flavor come from a spice paste (bumbu) built around turmeric, galangal, lemongrass, shallots, garlic, and often candlenuts. The turmeric gives the characteristic golden color. The lemongrass and galangal give a fragrant, slightly floral warmth. The result is lighter and more aromatic than a curry — the coconut milk found in Southeast Asian curries is absent in most soto ayam versions (Betawi soto is an exception).
Bumbu (Spice Paste) — Base Recipe
This is the foundation for most soto ayam styles.
Makes enough for 1 pot (4–6 servings):
- 6 shallots (or 1 medium onion)
- 4 cloves garlic
- 2cm fresh turmeric (or 1½ teaspoons ground turmeric)
- 2cm fresh galangal (or ½ teaspoon ground galangal/laos powder)
- 2cm fresh ginger
- 3 candlenuts (or 4 macadamia nuts or 6 raw cashews as substitute)
- 1 teaspoon coriander seeds, toasted
- ½ teaspoon cumin seeds, toasted
- ½ teaspoon white pepper
Method: Blend or pound all ingredients to a smooth paste. Fry in 3 tablespoons neutral oil over medium heat for 5–7 minutes, stirring constantly, until fragrant and the oil begins to separate around the edges. The paste should darken slightly in color and the raw shallot smell should be replaced by a cooked, caramelized aroma.
The Complete Standard Recipe (Base Soto Ayam)
Serves: 4–6 Time: 1 hour 15 minutes
Broth
- 1 whole chicken (1.2–1.5kg), or 4 bone-in chicken thighs + legs
- 2 stalks lemongrass, bruised and knotted
- 4 kaffir lime leaves
- 2 bay leaves (daun salam — Indonesian bay, different from Mediterranean; use regular bay leaf if unavailable)
- 1.5 liters water
- Salt to taste
- The cooked bumbu (above)
Method:
- Simmer chicken with lemongrass, kaffir lime leaves, and bay leaves in 1.5L water for 40–50 minutes until completely cooked through.
- Remove chicken; shred or slice meat, discarding skin and bones. Reserve the broth.
- In the pot, add the fried bumbu to the strained broth. Simmer together 15 minutes. Season with salt.
Toppings (standard)
- Thin rice vermicelli (bihun), cooked and drained
- Shredded chicken (from above)
- Hard-boiled egg, halved
- Tomato, diced small
- Celery leaves or fresh coriander
- Green onion, thinly sliced
- Fried shallots (bawang goreng) — essential; bought pre-made from Asian grocery stores or fried at home
- Lime wedges
Condiment Table
Soto ayam is always served with a selection of condiments at the table for individual adjustment:
- Sambal — fresh or cooked chili paste for heat
- Krupuk (prawn crackers) — broken over the soup or eaten on the side
- Perkedel (fried potato cake) — served alongside in Javanese versions
- Kecap manis — a few drops in the broth for sweetness (common)
- Emping (melinjo nut crackers) — bitter, thin, distinctive
Regional Variations
Soto Lamongan (East Java)
The most famous variation outside Indonesia. Characterized by koya — a powder made from dried shrimp and fried garlic that is added to the bowl and dissolves into the broth, creating a savory, slightly thick quality. The Lamongan version is often considered the most intensely flavored.
Soto Betawi (Jakarta/Batavia)
The Jakarta version uses coconut milk in the broth — making it richer, creamier, and heavier than standard soto ayam. It traditionally uses beef and offal (tripe, beef lung) in addition to or instead of chicken. The Betawi version looks and tastes more like a curry-broth hybrid.
Soto Bandung (West Java)
Lighter than most variations. Uses radish (lobak) as a characteristic vegetable. The broth is clear and mild; daikon is simmered in it.
Soto Kudus (Central Java)
Uses beef instead of chicken (the local tradition relates to the city's large Muslim population and specific cattle trading history). Served in very small bowls; designed to be eaten in many small portions.
The Fried Shallot Question
Fried shallots (bawang goreng) are not optional in soto ayam — they are as much a part of the dish as the broth. They add crunch, sweetness, and a specific allium depth that raw shallots cannot provide.
The best results: fry thinly sliced shallots in neutral oil at medium-low heat (not high heat) until golden-brown, then drain on paper towels. They continue to darken after being removed from oil — pull them when they are one shade lighter than desired. Store in an airtight container at room temperature; they keep for 1–2 weeks and are used across Indonesian cooking as a finishing element.
Store-bought fried shallots from Asian grocery stores are acceptable for convenience.
Related reading: Nasi Lemak Malaysian National Dish Guide | Rendang Indonesian Slow-Cooked Beef Guide | Laksa Singapore Malaysia Coconut Noodle Soup Guide
The full recipes live in the book.
Get Tokyo Meets Tuscany on AmazonPaperback $24.99 · Hardcover $34.99 · eBook $9.99