Indonesian Cuisine
Sayur Asem (Indonesian Tamarind Vegetable Soup)
A bright, sour-sweet tamarind broth packed with corn, chayote, long beans, cabbage, and peanuts, seasoned with a pounded spice paste of candlenuts, shrimp paste, and red chilies
Sayur asem is one of those dishes that nearly every Indonesian household claims, yet no two families make the same way. The name translates to "sour vegetable soup," which is accurate enough but says almost nothing about the warmth and generosity of the bowl. At its core, this is a potful of whatever vegetables look best at the market, simmered in a tamarind-soured broth that has been deepened with a spice paste of candlenuts, shallots, garlic, and toasted shrimp paste. The sourness is gentle and round, nothing like the sharp bite of vinegar, and a measure of coconut palm sugar tempers it further, creating a broth that feels both refreshing and nourishing.
The dish traces its origins to Sundanese cooking in West Java, where it remains a daily staple, though versions appear across Jakarta, Central Java, and beyond. Each region adjusts the vegetable lineup and the balance of sweet to sour. Sundanese cooks tend to favor melinjo nuts and their leaves, along with young jackfruit. Betawi-style versions from Jakarta sometimes add beef or beef trimmings for richness. The recipe here stays close to the most common home-cooking approach: corn, chayote, long beans, cabbage, peanuts, and tomatoes in a clear, fragrant broth.
What makes sayur asem so valuable on the Indonesian table is its role as a counterweight. It appears alongside richer dishes like fried chicken, rendang, or gado-gado, its sourness cutting through fat and resetting the palate between bites. The same principle drives canh chua in Vietnam and gaeng som in Thailand, tamarind-based soups that anchor a larger spread by providing brightness and balance. If you keep nasi uduk in your repertoire, a bowl of sayur asem beside it is one of the most complete and satisfying Indonesian meals you can put together at home.
At a Glance
Yield
6 to 8 servings
Prep
30 minutes
Cook
45 minutes
Total
1 hour 15 minutes
Difficulty
Easy
Ingredients
- 2¾ ozshallots (about 5 medium), peeled and roughly chopped
- 3garlic cloves, peeled
- 5candlenuts (kemiri), or substitute macadamia nuts
- 5large red chilies (such as cayenne or Fresno), seeded for milder heat
- 1bird's eye chili (cabe rawit), optional for extra heat
- 1 tsproasted shrimp paste (terasi bakar)
- 1½ qtwater or light beef stock
- ¾ oztamarind pulp, seeds removed
- ¼ cupwarm water (for dissolving the tamarind)
- 2 stalkslemongrass, bruised with the back of a knife
- 1 ozgalangal (about a thumb-sized piece), bruised
- 3Indonesian bay leaves (daun salam)
- 1 tspground turmeric
- 3¼ tbspcoconut palm sugar (gula Jawa), or substitute dark brown sugar
- 1 tbspfine sea salt, plus more to taste
- 1/2 tspground white pepper
- 2¾ ozraw peanuts (skin on)
- 2ears sweet corn, husked and cut into 3 cm rounds
- 1large chayote (about 300 g), peeled, halved, seeded, and cut into 2 cm cubes
- 5½ ozlong beans (kacang panjang), trimmed and cut into 5 cm lengths
- 7 ozcabbage, cut into large bite-sized pieces
- 2medium tomatoes (about 200 g), quartered
- 1 tspcooking oil (coconut or neutral)
Method
- 1
Boil the peanuts. Place the raw peanuts in a small saucepan and cover with water by about 5 cm. Bring to a boil, then reduce the heat and simmer for 30 minutes until tender but not mushy. Drain and set aside. If you are short on time, use canned or pre-cooked peanuts and skip this step.
- 2
Prepare the tamarind water. Place the tamarind pulp in a small bowl with the warm water. Let it soften for 5 minutes, then squeeze and massage the pulp with your fingers until the water turns dark and thick. Strain through a fine-mesh sieve into a clean bowl, pressing the pulp against the mesh to extract as much liquid as possible. Discard the seeds and fibers.
- 3
Make the spice paste. Combine the shallots, garlic, candlenuts, red chilies, bird's eye chili if using, and shrimp paste in a mortar and pestle or food processor. Pound or process until you have a fairly smooth paste. A few small chunks are fine. If using a food processor, add a splash of water to help the blade catch.
- 4
Cook the spice paste. Heat the cooking oil in a large stockpot over medium heat. Add the spice paste and stir constantly for about 2 minutes, until the raw shallot smell fades and the paste becomes fragrant and deepens in color. The kitchen should smell warmly of toasted shrimp paste and chilies.
- 5
Build the broth. Pour in the water or stock. Add the lemongrass, galangal, Indonesian bay leaves, ground turmeric, coconut palm sugar, salt, and white pepper. Stir to dissolve the sugar. Bring to a boil over high heat, then reduce to a steady simmer. Add the tamarind water and stir to combine. Taste the broth at this point. It should be noticeably sour with a gentle sweetness. Adjust the tamarind or sugar if needed.
- 6
Add the vegetables in stages. Start with the boiled peanuts and corn. These are the densest ingredients and need the most time. Simmer for 10 minutes, until the corn is nearly tender and the peanuts have absorbed some of the broth flavor. Next add the chayote cubes and long beans. Continue simmering for another 8 to 10 minutes, until the chayote is translucent and yields easily to a fork but still holds its shape.
- 7
Finish with the quick-cooking vegetables. Add the cabbage pieces and tomato quarters. Cook for 3 to 5 minutes, just until the cabbage wilts and the tomatoes soften at their edges without collapsing into the broth. The tomatoes will add a final layer of gentle acidity.
- 8
Taste and adjust. The broth should taste distinctly sour first, followed by a warm sweetness, with the spice paste providing depth underneath. If the sourness feels flat, add a small squeeze more tamarind water. If it tastes too sharp, stir in a pinch more palm sugar. Season with additional salt as needed.
- 9
Serve. Remove and discard the lemongrass stalks and galangal pieces. Ladle the soup into a large serving bowl or individual bowls, making sure each portion has a good mix of vegetables. Serve hot with steamed white rice alongside.
Key Ingredient Benefits
Tamarind (asam Jawa): The fruit of Tamarindus indica, central to Indonesian, Thai, Vietnamese, and Indian souring traditions. The pulp is high in tartaric acid, along with malic and citric acids, and contains polyphenols that have shown antioxidant activity in preliminary studies. In Javanese jamu traditions, tamarind water is consumed as a digestive tonic, often mixed with turmeric and palm sugar. The block form of tamarind pulp, sold in compressed slabs at Asian grocery stores, delivers a cleaner and more nuanced sourness than concentrate. Store unused pulp tightly wrapped in the refrigerator for up to 3 months, or freeze it indefinitely.
Candlenuts (kemiri): The waxy, cream-colored nut of the Aleurites moluccanus tree, used throughout Indonesian and Malaysian cooking as a thickener for spice pastes and curries. Raw candlenuts are mildly toxic and must always be cooked. They have a higher oil content than most culinary nuts, which is what gives them their paste-thickening quality. Macadamia nuts are the standard substitute and behave nearly identically in spice pastes, though they are slightly sweeter.
Indonesian bay leaves (daun salam): These are not related to European bay laurel and have a completely different flavor profile, more subtle, slightly astringent, and faintly floral. There is no true substitute. If unavailable, simply omit them rather than using Mediterranean bay leaves, which will push the flavor in the wrong direction. Dried daun salam are available at Indonesian grocery stores and online. They keep for several months in a sealed bag.
Shrimp paste (terasi): A dense, fermented paste made from tiny shrimp, essential to the spice bases of Indonesian, Malay, and Thai cooking. Terasi has a powerful smell when raw, but toasting or frying it transforms the aroma into something deeply savory and almost nutty. A small amount provides an umami backbone that salt alone cannot match. Look for it in blocks or jars at Southeast Asian grocery stores.
Coconut palm sugar (gula Jawa): Made from the boiled and reduced sap of the coconut palm flower. Its flavor is more complex than refined brown sugar, with notes of caramel, butterscotch, and a faint smokiness. It dissolves readily in hot liquid. Dark brown sugar is an acceptable substitute, though it lacks the mineral complexity. Jaggery is another close alternative.
Chayote (labu siam): A mild, crisp gourd that absorbs the flavors of whatever broth it is cooked in. It is low in calories and provides some vitamin C and folate. In Indonesian cooking, chayote appears in soups, stir-fries, and salads. Peel it under running water, as the skin releases a sticky sap. Zucchini can substitute if chayote is unavailable, though the texture will be softer.
Why This Works
Sayur asem achieves its layered flavor through a sequence of deliberate steps that each contribute something different to the final broth. The spice paste, cooked briefly in oil before any liquid is added, undergoes a gentle frying that drives off the raw, harsh notes of shallot and shrimp paste and replaces them with toasted, rounded flavors. This technique is foundational across Indonesian cooking and is the same principle behind the bumbu in rendang, soto, and sayur lodeh.
Tamarind pulp delivers a tartness that is softer and more complex than citrus juice or vinegar. Its tartaric acid provides the sourness, but the natural sugars and fruity undertones in the pulp give the broth a warmth that feels almost fermented. Combined with coconut palm sugar, which has its own caramel and mineral notes, the sour-sweet balance in the broth becomes genuinely multidimensional. This is the same souring approach that defines gaeng som in Thai cooking and canh chua in Vietnamese kitchens, each cuisine finding its own equilibrium between acid and sweetness.
The staggered addition of vegetables is critical. Corn and peanuts need the longest simmer and go in first. Chayote and long beans follow, needing moderate time. Cabbage and tomatoes enter last, since both become waterlogged and lose their character if overcooked. This approach means every vegetable in the bowl retains its own texture, from the starchy pop of the corn to the yielding softness of the chayote to the gentle crunch of the cabbage.
Candlenuts serve a purpose beyond flavor. When ground into the spice paste, they release oils and starch that give the broth a subtle body, thickening it just enough that it coats the vegetables lightly without becoming heavy. Indonesian cooks rely on candlenuts across dozens of dishes for exactly this purpose.
Substitutions & Variations
Vegetables: Sayur asem is one of the most flexible soups in the Indonesian kitchen. Young jackfruit (nangka muda) is a traditional addition in many Sundanese versions, adding a starchy, meaty texture. Melinjo nuts and their leaves (daun melinjo) are classic Sundanese inclusions but are difficult to find outside Indonesia. Zucchini can replace chayote. Green beans stand in for long beans. Add a handful of kangkung (water spinach) at the very end for extra greens.
Protein additions: The vegetable version here is the most common, but some regional versions include beef trimmings, which are simmered in the broth from the start to add body. Add about 200 g of beef brisket or flank, cut into small pieces, and simmer for at least 40 minutes before adding any vegetables. The Cook Me Indonesian version uses this approach to good effect.
Vegan version: Omit the shrimp paste entirely, or replace it with 1 tablespoon of fermented soybean paste (tauco) for a similar depth of umami. Use water rather than beef stock. The soup is naturally vegan apart from the terasi.
Spice level: The soup is traditionally mild to moderate. For more heat, increase the bird's eye chilies in the spice paste. For a gentler version, remove all seeds from the red chilies and skip the bird's eye chili entirely.
Tamarind substitutes: If tamarind pulp is unavailable, use 1 tablespoon of tamarind concentrate diluted with 2 tablespoons of water. In a pinch, the juice of 2 limes mixed with 1 teaspoon of brown sugar approximates the sour-sweet quality, though the flavor will be sharper and less fruity. The gaeng liang approach of using a lighter broth with peppery heat also pairs well with these same vegetables if you want to explore a Thai variation on the theme.
Quick version: Skip boiling the peanuts from scratch. Use canned or jarred boiled peanuts, drained, or roasted peanuts added in the last 5 minutes. The texture will differ slightly, but the flavor contribution is similar.
Serving Suggestions
Sayur asem belongs at the center of an Indonesian rice table (nasi campur). A generous pot of steamed white rice is essential. The soup is traditionally ladled into individual bowls and eaten alongside the rice rather than poured over it, though both approaches are common.
The natural pairing is with richer, drier dishes that benefit from a sour counterpoint. Fried chicken (ayam goreng), grilled fish, or a plate of gado-gado alongside the soup creates a balanced spread. If you cook nasi uduk, the coconut-scented rice is a particularly good match, its richness finding a natural foil in the tartness of the tamarind broth.
For a broader Indonesian table, serve with sambal terasi on the side for those who want extra heat, a plate of fried tempeh or tofu, and a simple cucumber salad. This kind of home-style spread is what Indonesians call makan biasa, the everyday meal that somehow manages to be quietly extraordinary.
Sayur asem also sits comfortably alongside other Southeast Asian sour soups. If you enjoy it, explore canh chua for the Vietnamese take on tamarind broth, gaeng som for the Thai interpretation, or sayur lodeh for an Indonesian coconut-milk vegetable soup that makes a richer, mellower companion to this sharper broth.
Storage & Reheating
Refrigerator: Store in an airtight container for up to 3 days. The vegetables will soften further as they sit, but the broth flavor actually improves overnight as the tamarind and spice paste meld together.
Reheating: Warm gently on the stovetop over medium-low heat until the broth is steaming. Stir carefully to avoid breaking up the softer vegetables. If the broth has reduced or the sourness has mellowed, add a splash of water and a small squeeze of tamarind water to refresh the flavor.
Freezing: The broth freezes well for up to 1 month. The vegetables do not freeze as successfully. Cabbage and chayote become overly soft, and corn loses some of its sweetness. If you plan to freeze, strain out the vegetables and freeze the broth alone. When ready to serve, thaw the broth, bring it to a simmer, and cook a fresh batch of vegetables directly in it.
Make-ahead approach: Prepare the broth through step 5 up to a day in advance. Refrigerate. When ready to serve, bring the broth back to a simmer and cook the vegetables fresh, starting from step 6. This keeps every vegetable at its best texture and makes the dish practical for entertaining or weeknight cooking.
Nutrition Facts
Calories: 175kcal (9%)|Total Carbohydrates: 22g (8%)|Protein: 6g (12%)|Total Fat: 6g (8%)|Saturated Fat: 1g (5%)|Cholesterol: 5mg (2%)|Sodium: 520mg (23%)|Dietary Fiber: 4g (14%)|Total Sugars: 8g
You Might Also Like
Ratings & Comments
Ratings & Comments
Ratings
Share your thoughts on this recipe.
Sign in to rate and comment
