Indonesian vegetable curry is a coconut-milk stew of vegetables and fragrant spices, served hot with rice. This version is inspired by sayur lodeh, a home-style Indonesian dish with many regional and family variations; a blended shallot, garlic, lemongrass, and turmeric paste gives the curry depth while lime keeps it bright.
Ingredients
- 2 tablespoons neutral oil (30 ml), such as canola or sunflower oil
- 3 medium shallots, peeled and roughly chopped (about 90 g); use 1 small yellow onion (about 110 g) if needed, for a slightly less sweet flavor
- 4 garlic cloves, peeled (about 12 g)
- 1 tablespoon chopped fresh ginger (15 g)
- 1 lemongrass stalk, tough outer layers removed and tender center sliced (about 15 g); use 1 teaspoon finely grated lime zest if unavailable, for a fresher citrus note instead of its grassy aroma
- 3 candlenuts (about 15 g), roughly chopped; substitute 3 unsalted macadamia nuts (about 15 g), or omit them for a thinner, less creamy curry
- 1 teaspoon ground turmeric (3 g)
- 1 teaspoon ground coriander (2 g)
- ½ teaspoon ground cumin (1 g)
- 1 small red chili, stemmed and roughly chopped (about 10 g), or ½ teaspoon red pepper flakes (1 g); remove the seeds for milder heat
- 2 makrut lime leaves (about 1 g), torn, optional; a strip of lime zest can add citrus aroma, though it will not taste quite the same
- 1 medium potato, cut into ¾-inch (2 cm) cubes (about 250 g)
- 2 medium carrots, cut into ½-inch (1 cm) slices (about 180 g)
- 1½ cups vegetable broth (360 ml), preferably low-sodium
- 1 can full-fat coconut milk, well shaken (13.5 ounces/400 ml)
- 8 ounces firm tofu, drained and cut into ¾-inch (2 cm) cubes (225 g)
- 8 ounces green beans, trimmed and cut into 2-inch (5 cm) lengths (225 g)
- 3 cups roughly chopped green cabbage (about 210 g)
- 1 tablespoon tamarind concentrate (15 g), or 1 tablespoon fresh lime juice (15 ml); lime is brighter and less fruity than tamarind
- 1 teaspoon palm sugar or light brown sugar (4 g)
- ¾ teaspoon fine salt (about 4 g), plus more to taste
- 1 tablespoon lime juice (15 ml), plus lime wedges for serving
- ¼ cup chopped cilantro (about 10 g), optional, for serving
Instructions
- Prepare the spice paste. Put the shallots, garlic, ginger, sliced lemongrass, candlenuts, turmeric, coriander, cumin, and chili in a small food processor. Blend until finely chopped, scraping down the sides as needed. If the mixture will not move, add 1 tablespoon of the measured broth (15 ml). The paste should be moist and fairly even, but it does not need to be perfectly smooth. This blending and the vegetable preparation are included in the 25-minute prep time.
- Soften the paste, 8 minutes. Heat the oil in a large heavy pot or Dutch oven over medium heat. Add the paste and cook, stirring often, for about 8 minutes. Keep it at a steady sizzle rather than letting it brown sharply; if it sticks, lower the heat and add a teaspoon of broth. It is ready when it smells fragrant and no longer has a raw, harsh onion aroma.
- Toast the dry spices, 1 minute. Add the torn makrut lime leaves, if using, and stir for 1 minute. The leaves may darken slightly and release their citrus scent. If using lime zest instead, save it for the end so its aroma stays fresh.
- Start the firm vegetables, 4 minutes. Add the potato, carrots, and vegetable broth. Stir to coat the vegetables, raise the heat, and bring the broth to a gentle boil, which should take about 4 minutes. Cover the pot once it boils and reduce the heat to maintain a steady simmer.
- Simmer the potato and carrots, 10 minutes. Cook covered for 10 minutes, stirring once halfway through. The potato should be starting to soften at the edges but should not yet fall apart. If the pot is boiling vigorously, lower the heat; a strong boil can break the vegetables and make the sauce separate sooner.
- Add the tofu and quick-cooking vegetables, 6 minutes. Stir in the tofu, green beans, cabbage, tamarind, sugar, and salt. Cover and simmer for 6 minutes, stirring gently once. The beans should be tender but still hold their shape, and the cabbage should be soft without dissolving into the sauce.
- Finish with coconut milk, 5 minutes. Pour in the coconut milk and stir carefully. Keep the curry at a gentle simmer for 5 minutes, uncovered; avoid a hard boil, which can make a coconut-based sauce look grainy or oily. Taste a potato piece to confirm it is tender. If it needs another minute or two, continue at a gentle simmer and check again.
- Balance and serve, 1 minute. Turn off the heat and stir in the tablespoon of lime juice. Taste the sauce and adjust with more salt, tamarind, or lime a little at a time. Add the saved lime zest here if using it instead of makrut leaves. The full cooking time is about 35 minutes; serve while hot.
Tips
- Cut vegetables to suit their cooking time. Keep potato and carrot pieces relatively small so they soften in the stated simmer. Cut larger pieces and they may need several extra minutes; check tenderness with a fork rather than relying only on the clock.
- Keep the coconut milk gentle. A calm simmer helps the sauce stay smooth. If it looks slightly separated, take the pot off the heat and stir gently; it is usually still fine to eat, though the sauce may look less silky.
- Adjust heat at the paste stage. Start with half the chili or remove its seeds if you are unsure about spice. You can add chili flakes later, but reducing heat after a very spicy paste has cooked into the whole pot is difficult.
- Use the right substitute for the flavor you want. Candlenuts thicken and round out the sauce; macadamias are the closest easy swap. Tamarind brings a mellow, fruity tang, while lime juice tastes sharper, so add lime gradually and taste before adding more.
Serving Suggestions
Serve the curry in bowls over steamed jasmine rice or another plain long-grain rice. Rice soaks up the coconut sauce and gives the vegetables a neutral base. For a more Indonesian-style table, offer rice alongside sambal for people who want extra heat, plus lime wedges so each person can brighten their serving. Keep the sambal separate rather than stirring it into the whole pot, which makes the spice level easier to control.
For a fuller meal, add a simple cucumber salad or sliced cucumber with a little salt and lime. The cool, crisp texture contrasts with the soft vegetables and warm curry. A small dish of fried shallots also makes a useful crunchy topping; add them at the table so they stay crisp. If serving the curry as part of a larger spread, rice and one fresh or crunchy side are usually enough because the pot already includes tofu and several vegetables.
Variations
Use the vegetables that are in season, while keeping the total amount close to the recipe’s roughly 8 cups (about 850 g) of vegetables, not counting tofu. Cauliflower florets, pumpkin, chayote, eggplant, or zucchini can work. Add dense pumpkin or cauliflower with the potato and carrot; add quick-cooking zucchini or eggplant with the beans and cabbage. Different vegetables release different amounts of water, so taste the sauce at the end and adjust the salt and acidity.
For a richer, more filling version, increase the tofu to 12 ounces (340 g). For a lighter sauce, replace up to half the coconut milk with vegetable broth, though the result will be less creamy. To make the curry vegan, use vegetable broth and check that the sugar is not processed with animal-derived ingredients if that matters to your household. For a milder, kid-friendly pot, leave out the chili and put chili sauce on the table. You can also leave out the tofu; the curry will still work, though it will be less substantial.
Storage and Reheating
Transfer leftovers to a shallow, covered container and refrigerate within 2 hours of cooking. The curry keeps for 3 to 4 days in the refrigerator. For the best texture, cool it promptly rather than leaving the pot on the counter until completely cold. Coconut milk can firm up when chilled and may look slightly separated after storage; that is normal.
Reheat only the portion you plan to eat in a saucepan over medium-low heat, stirring gently and adding a splash of water or broth if the sauce has thickened. Heat until steaming throughout and to 165°F (74°C), the USDA FSIS safe temperature for reheated leftovers. Avoid a rolling boil, which can break up the vegetables and make the sauce oily. A microwave also works: cover the bowl loosely, heat in short intervals, and stir between intervals so the center heats evenly. Freeze leftovers in an airtight container for up to 2 months for best quality. Thaw in the refrigerator and reheat as described; potatoes and cabbage may soften further after freezing.
Frequently Asked Questions
Is Indonesian vegetable curry the same as sayur lodeh?
This recipe is inspired by sayur lodeh, a vegetable and coconut-milk dish associated with Indonesian cooking, but it is not meant to stand for every version. Ingredients, spice pastes, and vegetables vary by region and household. This pot uses tofu, potato, carrot, beans, and cabbage, and its lime finish is one practical way to balance the creamy sauce.
Can I make the curry without a food processor?
Yes. Finely mince the shallots, garlic, ginger, lemongrass, chili, and candlenuts with a knife, then mix them with the ground spices. The texture will be more rustic, and the paste may take a little longer to soften, so cook it until fragrant and tender rather than stopping strictly at 8 minutes.
Can I use light coconut milk?
Yes, but expect a thinner, less rich sauce. If using light coconut milk, keep the heat low and do not boil the curry hard. You can thicken it slightly by simmering uncovered for a few extra minutes, but check that the vegetables do not become too soft.
How can I tell when the vegetables are done?
Push a fork into a potato cube and a carrot slice: both should be tender through the center but still hold their shape. The green beans should be easily bitten without turning limp, and the cabbage should be soft. If the potato is not ready when the sauce is finished, simmer gently for another minute or two and check again.
Can I prepare anything ahead?
You can chop the vegetables and make the spice paste up to a day ahead; refrigerate them separately in covered containers. For the best color and texture, cut potatoes shortly before cooking, or keep cut pieces submerged in cold water in the refrigerator and drain them well before adding. The finished curry also reheats well, though the vegetables soften slightly over time.
Related
- Bangladeshi Beef Curry with Potatoes, Slowly Simmered
- Ayam Malaysian Curry Powder: A Fragrant Chicken Curry
- Ayam Japanese Curry Paste for Chicken Curry
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).