Sayur lodeh is an Indonesian vegetable soup, especially associated with Java, made with vegetables simmered in a lightly spiced coconut broth. This vegetarian version combines chayote, green beans, cabbage, tofu, and tempeh for a satisfying one-pot meal; ingredients and seasonings vary from household to household, so the recipe is flexible.
Ingredients
- 2 tablespoons neutral oil (30 ml), such as canola or sunflower oil
- 5 medium shallots, peeled and thinly sliced (about 75 g); use 1 small yellow onion (about 100 g) if needed
- 4 garlic cloves, finely chopped (about 12 g)
- 1 tablespoon minced fresh ginger (about 6 g)
- 1 teaspoon ground coriander (2 g)
- ½ teaspoon ground turmeric (1 g)
- ½ teaspoon ground cumin (1 g)
- 2 dried Indonesian salam leaves (about 1 g); substitute 1 ordinary bay leaf, which gives a more familiar, less herbal aroma
- 4 cups vegetable broth (950 ml), preferably a mild, unsalted broth
- 2 cups peeled, bite-size chayote cubes (about 300 g); peeled zucchini is a practical substitute, though it softens more quickly
- 1½ cups trimmed green beans, cut into 2-inch (5 cm) lengths (about 190 g); Indonesian long beans work especially well
- 1 cup sliced carrot (about 120 g)
- 8 ounces firm tofu, drained and cut into ¾-inch (2 cm) cubes (225 g)
- 6 ounces tempeh, cut into ¾-inch (2 cm) cubes (170 g); use more tofu if tempeh is unavailable
- 3 cups roughly chopped green cabbage (about 210 g)
- 1⅔ cups unsweetened coconut milk (400 ml), well shaken
- 1 tablespoon soy sauce (15 ml)
- 1 teaspoon fine salt (6 g), plus more to taste
- 1 teaspoon palm sugar or light brown sugar (4 g)
- 1 tablespoon fresh lime juice (15 ml), plus lime wedges for serving
- ¼ teaspoon freshly ground black pepper (about 0.5 g)
Instructions
- Prepare the vegetables and aromatics. Wash and trim the vegetables, then cut them into similarly sized pieces so they cook at a similar pace. Keep the cabbage separate from the firmer vegetables. Drain and cube the tofu and tempeh. Slice the shallots and chop the garlic and ginger. This preparation takes about 30 minutes, including peeling the chayote and setting out the seasonings.
- Soften the aromatics. Set a large, heavy pot or Dutch oven over medium heat and add the oil. When it shimmers, add the shallots and cook for about 2 minutes, stirring often, until softened but not deeply browned. Stir in the garlic, ginger, coriander, turmeric, and cumin and cook for 1 minute. Keep the heat moderate; scorched garlic or ground spices can make the broth taste bitter.
- Start the broth. Pour in the vegetable broth and add the salam leaves (or the bay leaf). Stir to loosen any spices from the bottom of the pot. Bring the broth to a gentle simmer, then simmer for 5 minutes so the aromatics begin to flavor it. Do not add the coconut milk yet; keeping it out during the first boil makes it easier to control the final texture.
- Cook the firm vegetables. Add the chayote, green beans, and carrot. Return the broth to a steady, gentle simmer and cook for 10 minutes, uncovered. Stir once or twice. The vegetables should be starting to turn tender but should still hold their shape; if the pot boils vigorously, lower the heat.
- Add the tofu, tempeh, and cabbage. Stir in the tofu, tempeh, and cabbage. Simmer for 8 minutes, stirring carefully so the tofu cubes stay intact. The cabbage will soften and the tofu and tempeh will warm through. If you prefer crisp-tender cabbage, add it for only the last 4 minutes of this step.
- Finish with coconut milk and seasoning. Reduce the heat to low and stir in the coconut milk, soy sauce, salt, sugar, and pepper. Warm gently for 7 minutes, stirring occasionally, without letting the soup reach a hard boil. Remove the salam or bay leaf, then stir in the lime juice and taste the broth. Use the final 2 minutes to adjust salt, sugar, or lime and bring the soup back to serving temperature. The finished broth should taste savory, gently sweet, and rounded by coconut, not sharply sour.
Tips
- Choose vegetables by cooking time. Chayote, carrots, and green beans can simmer together, while quicker-cooking vegetables such as cabbage go in later. If using zucchini instead of chayote, cut it into larger pieces and add it with the cabbage so it does not collapse.
- Look for salam leaves if you can. These Indonesian leaves have a distinctive, mild aroma and are not identical to bay leaves. If your grocery store does not carry them, a single bay leaf is a useful substitute; remove it before serving and expect a slightly different herbal note.
- Keep the coconut broth gentle. A rolling boil can make coconut milk look separated or oily. Lower the heat before adding it and warm the soup with small bubbles at most. If the broth does separate a little, stir it gently; the flavor will still be good.
- Season in small adjustments. Broths and soy sauces vary in saltiness. Start with the listed salt, then taste after the coconut milk is warm. A little lime brightens a dull broth, while a pinch of sugar can soften excessive sharpness; neither should make the soup taste sweet or sour.
Serving Suggestions
Serve sayur lodeh hot in deep bowls, with steamed jasmine rice or Indonesian-style rice as the main accompaniment. Spoon plenty of broth over the rice and make sure each portion gets a mix of vegetables, tofu, and tempeh. The soup is filling enough as a complete vegetarian meal, but rice helps catch the coconut broth and makes the serving more substantial.
Offer lime wedges at the table so each person can brighten their own bowl. Sambal or another chili paste is a good optional condiment for anyone who wants heat; keeping it on the side preserves the soup’s mild, aromatic character. For a meal with several dishes, serve smaller bowls alongside rice, a crisp cucumber salad, or simply prepared greens. A little sliced scallion or fried shallot can add freshness or crunch, but those toppings are optional rather than essential.
Variations
Use the vegetables you have. Sayur lodeh is not tied to one fixed vegetable list. Pumpkin, eggplant, cauliflower, bamboo shoots, or corn are all reasonable additions, though their textures differ. Add dense pumpkin and cauliflower with the chayote, and add eggplant during the last 8 to 10 minutes so it becomes tender without disappearing into the broth. If you use watery vegetables, taste the broth near the end and adjust the salt and lime.
Make it spicier. Add one thinly sliced red chili with the shallots, or serve sliced chili or sambal on the side. For a more pronounced chile flavor throughout, blend or pound a fresh chili with the shallots, garlic, and ginger before frying. Start with a small amount because chili heat varies considerably.
Change the protein or make it soy-free. For a simpler soup, omit the tempeh and use 14 ounces (400 g) tofu in total. To avoid soy, leave out both tofu and tempeh and increase the vegetables, or add cooked chickpeas near the end; chickpeas will give the soup a different, firmer bite. Check the labels on broth and soy sauce if you need to avoid particular ingredients.
Adjust the richness. Full-fat coconut milk gives a silky, substantial broth. Light coconut milk makes a thinner soup with a less pronounced coconut taste, so you may want a little less broth or a small extra spoonful of soy sauce for depth. Avoid sweetened coconut beverage, which is not a direct substitute for canned coconut milk and can make the soup unexpectedly sweet and thin.
Storage and Reheating
Let the soup stop steaming heavily, then refrigerate it in a covered container within 2 hours of cooking. It keeps for 3 to 4 days in the refrigerator. The vegetables will soften as they sit, and the coconut broth may separate slightly when cold; both are normal. For the best texture, store rice separately rather than leaving it in the soup.
Reheat only the portion you plan to eat in a saucepan over medium-low heat, stirring gently until it is steaming hot throughout. Avoid a hard boil, which can break up the vegetables and make the coconut milk appear separated. If the broth has thickened, stir in a splash of water or vegetable broth. You can also reheat a serving in the microwave in a covered, microwave-safe bowl, stirring halfway through and checking that it is hot throughout. Freeze leftovers in airtight containers for up to 2 months for best quality; thaw overnight in the refrigerator and expect softer vegetables after reheating.
Frequently Asked Questions
What does sayur lodeh mean?
Sayur means vegetables in Indonesian, and lodeh is the name of a vegetable dish commonly prepared with coconut milk. The term is generally used for a gently seasoned vegetable curry or soup rather than one rigid recipe. The vegetables, thickness, and spice blend vary by region and household, so a version with chayote and green beans is one useful interpretation, not the only one.
Is sayur lodeh always vegetarian?
No. Some recipes include shrimp paste, dried seafood, or other animal-based seasonings, while others are made without them. This recipe uses vegetable broth and soy sauce and contains no meat, fish, or shrimp paste. If you are cooking for someone who needs a strictly vegetarian meal, check the broth and condiment labels and use utensils that have not been in contact with meat or seafood.
Can I make this soup without tempeh?
Yes. Omit the tempeh and use the same amount of extra tofu, or leave it out and add more vegetables. The tempeh contributes a firm texture and a nutty, fermented flavor, so the soup will taste milder without it. If you want another substantial addition, chickpeas can be stirred in near the end, although they are not a traditional flavor match for every version of lodeh.
Can I use light coconut milk?
Yes. Light coconut milk works, but the broth will be thinner and less rich than one made with full-fat coconut milk. Stir it in gently just as directed and taste before adding extra salt or lime. Do not substitute a sweetened carton of coconut drink: it has a different concentration and can change the flavor and body of the soup.
What can I use instead of chayote?
Peeled zucchini is the easiest substitute to find, but it cooks faster and becomes softer. Cut it into thick pieces and add it with the cabbage rather than with the carrots and green beans. Pumpkin, mild squash, or firm eggplant can also work, though each gives the soup a different texture. Adjust the timing so the substitute is tender but still holds together.
Why does my coconut broth look separated?
Coconut milk can separate when heated too hard, especially after it has been added to a simmering soup. Keep the pot at low heat and stir gently rather than boiling it. If some separation happens, take the pot off the heat and stir; the soup is still usable, even if its surface looks less smooth. A splash of warm broth or water can loosen it if it has become too thick.
Related
- Ghanaian Egg Stew: A Comforting Tomato-Pepper Recipe
- Ghanaian Bean Stew (Red-Red) with Tomato and Palm Oil
- German Stew Recipe with Beef, Potatoes, and Caraway
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).