Gado-Gado with Warm Peanut Sauce
A cold vegetable table, saved by a hot sauce

Contents
↓ Jump to recipeGado-gado is a cold vegetable table rescued by a hot sauce. Blanched greens, boiled potato, crisp-fried tofu and tempeh, a soft egg and raw cucumber all sit at room temperature or cooler, and the dish only comes alive when a warm, freshly made peanut sauce is poured over the top at the very last moment. Serve the sauce cold or let it sit and stiffen, and the whole plate reads as flat; serve it properly hot, straight off the stove, and it turns into something you want to eat with your hands.
Gado-Gado with Warm Peanut Sauce
Ingredients
- 200g green beans, trimmed and halved
- 200g beansprouts
- 2 large potatoes, peeled and cut into 2cm chunks
- 150g cabbage, shredded
- 200g firm tofu, cut into 2cm cubes
- 200g tempeh, cut into 2cm slices
- 4 eggs
- 1 cucumber, sliced into half-moons
- Neutral oil, for shallow-frying
- 150g roasted peanuts (or 120g smooth peanut butter)
- 3 cloves garlic
- 2 red chillies, or to taste (or 1 tbsp sambal oelek)
- 1 tbsp palm sugar, chopped
- 200ml coconut milk
- 150ml water
- 1 tbsp tamarind paste
- 1 tbsp kecap manis (sweet soy sauce), plus extra to serve
- Salt, to taste
- 2 tbsp crispy fried shallots, to serve
- 1 tbsp krupuk (prawn crackers), crushed, to serve (optional)
Method
- Bring a large pot of salted water to the boil. Cook the potato chunks for 12 to 15 minutes until tender, then lift out with a slotted spoon and set aside.
- In the same water, blanch the green beans for 2 minutes, the cabbage for 1 minute, and the beansprouts for 30 seconds, lifting each into a bowl of iced water as it finishes to stop the cooking, then drain well.
- Boil the eggs for 8 to 9 minutes for a just-set yolk, then cool in cold water, peel and halve.
- Heat 2cm of oil in a frying pan and shallow-fry the tofu and tempeh separately for 3 to 4 minutes per side until golden and crisp, then drain on kitchen paper.
- If using whole peanuts, blitz them in a food processor to a coarse, oily paste.
- Pound or blitz the garlic and chillies to a paste, then fry gently in a tablespoon of oil for 1 minute until fragrant.
- Add the peanut paste, palm sugar, coconut milk and water to the pan and simmer gently for 8 to 10 minutes, stirring often, until thickened to a pourable, coating consistency.
- Stir in the tamarind paste and kecap manis, season with salt, and keep the sauce warm over the lowest possible heat, thinning with a splash more water if it stiffens.
- Arrange the potatoes, blanched vegetables, tofu, tempeh, egg halves and cucumber on a large platter.
- Pour the warm peanut sauce generously over the top, and finish with crispy fried shallots and crushed krupuk.
Indonesia’s national salad
Gado-gado is claimed, with real justification, as one of Indonesia’s national dishes, and it is genuinely eaten everywhere in the archipelago, from Jakarta street-cart warungs to home kitchens across Java, where the dish is generally believed to have originated. The name itself is thought to come from a word meaning “mix-mix” or “hodgepodge”, a fair description of a dish that is really a template rather than a fixed recipe: whatever vegetables are in season, blanched or boiled, plus tofu, tempeh, egg and a peanut sauce, arranged together on a plate or banana leaf.
That flexibility is the dish’s actual character. Indonesian home cooks have long built gado-gado around whatever is fresh and available, which is part of why recipes vary so much from region to region and household to household — some add boiled cassava or sweet potato in place of some of the regular potato, some include lontong (compressed rice cake) to make it more substantial, and coastal versions sometimes work in a little shrimp paste, terasi, into the peanut sauce for a savoury depth. What holds every version together, across every regional variant, is the peanut sauce itself; a plate of blanched vegetables without it is just a plate of blanched vegetables.
Tempeh is worth pausing on, since it is far less familiar outside Southeast Asia than tofu. It is a whole soybean product, made by fermenting cooked soybeans with a mould culture (Rhizopus oligosporus) until they bind into a firm, dense cake — a genuinely Indonesian invention, first developed on Java, and distinct from tofu both in texture (firmer, nuttier, with visible whole beans) and in flavour, which is earthier and slightly mushroomy even before it hits the pan. Frying it crisp, as this recipe does, is the standard way to prepare it for gado-gado, and it is worth seeking out a good Indonesian or well-made Western tempeh rather than skipping it — the contrast it offers against soft tofu and vegetables is a real part of the dish’s appeal.
Gado-gado is also a useful lens on how central peanut sauce is to Indonesian cooking generally. The same basic sauce, tuned slightly differently, turns up as the dip for satay skewers, as a dressing for the noodle dish pecel, and stirred through blanched vegetables in countless regional variants across Java, Sumatra and beyond. Learning to make one good peanut sauce properly, with a real understanding of how to balance its sweetness, heat, sourness and body, is a skill that pays off across half a dozen other Indonesian dishes.
Why the sauce has to be warm
A cold or lukewarm peanut sauce sits on top of the vegetables as a thick, separate layer, and as it cools further it stiffens, clumps and refuses to coat anything properly — you end up eating spoonfuls of stodgy peanut paste alongside, rather than mixed through, the vegetables. A sauce poured on hot, straight from the pan, is loose and pourable, and it flows down into the gaps between the beansprouts and around the potato chunks, coating far more surface area before it has a chance to cool and thicken on contact with the room-temperature ingredients underneath. By the time it reaches the table it has cooled just enough to sit at a pleasant eating temperature while still being fluid, which is the exact window this dish is built to exploit.
There is a chemistry reason the sauce stiffens as it cools at all: peanuts are full of fat, and coconut milk adds more, and both fats firm up as the temperature drops, the same way a warm curry thickens noticeably once it sits. Keeping the finished sauce over the lowest possible heat, or over a pan of hot water, right up until serving keeps that fat loose and the sauce genuinely pourable. If it does stiffen before you get to the table, a splash of hot water whisked in loosens it back to the right consistency in seconds — far easier than trying to rescue a fully cold, seized sauce.
The recipe
Serves 4.
Bring a large pot of salted water to the boil. Cook 2 peeled, chunked potatoes for 12 to 15 minutes until tender, then lift out with a slotted spoon. In the same water, blanch 200g trimmed green beans for 2 minutes, 150g shredded cabbage for 1 minute, and 200g beansprouts for just 30 seconds, transferring each batch into a bowl of iced water as it finishes to lock in the crunch and colour, then drain everything well. Boil 4 eggs for 8 to 9 minutes for a just-set, slightly soft yolk, cool in cold water, peel and halve.
Heat about 2cm of neutral oil in a frying pan and shallow-fry 200g cubed firm tofu and 200g sliced tempeh separately, 3 to 4 minutes per side, until deeply golden and crisp at the edges. Drain on kitchen paper.
For the sauce, blitz 150g roasted peanuts in a food processor to a coarse, oily paste (or use 120g smooth peanut butter as a shortcut). Pound or blitz 3 garlic cloves with 2 red chillies to a rough paste, then fry gently in a tablespoon of oil in a saucepan for 1 minute until fragrant but not coloured. Add the peanut paste, 1 tablespoon chopped palm sugar, 200ml coconut milk and 150ml water, and simmer gently, stirring often to stop it catching, for 8 to 10 minutes until thickened to a consistency that coats the back of a spoon but still pours easily. Stir in 1 tablespoon tamarind paste and 1 tablespoon kecap manis, season with salt to taste, and keep the sauce warm over the lowest heat.
Arrange the potatoes, blanched vegetables, fried tofu and tempeh, egg halves and sliced raw cucumber on a large platter. Pour the hot peanut sauce generously over everything at the table, then finish with a scattering of crispy fried shallots and crushed krupuk if using. Serve immediately, with extra kecap manis on the side for anyone who wants it sweeter.
Tips, substitutions and storage
Roasted, unsalted peanuts give the best flavour and let you control the salt yourself, but a good smooth peanut butter with no added sugar is a genuinely fine shortcut on a weeknight — just taste and adjust the palm sugar and salt, since brands vary. Tamarind paste brings a sourness that balances the sauce’s sweetness and fat; if you cannot find it, a tablespoon of lime juice stirred in at the end gets you most of the way there, though the flavour is brighter rather than the deeper, fruitier sourness tamarind gives.
The peanut sauce keeps well in the fridge for up to five days in a sealed container, and it firms up considerably when cold — reheat it gently in a small pan with a splash of water, stirring until it loosens back to a pourable consistency, rather than microwaving it in one go, which tends to split the coconut milk. The blanched vegetables, boiled potato and eggs can all be prepared several hours ahead and kept in the fridge; fry the tofu and tempeh close to serving so they stay crisp, and always finish by making or reheating the sauce last, so it reaches the table properly hot.
Vegetables outside the list above work just as well, so treat the recipe as a frame rather than a fixed set of ingredients. Blanched carrot batons, cauliflower florets or thinly sliced water spinach (kangkung) are all traditional additions in different regions, and using whatever is good at the greengrocer that week is closer to how the dish is actually cooked in Indonesian homes than sticking rigidly to a shopping list. The one non-negotiable is contrast: something starchy (potato or lontong), something crunchy and raw or barely blanched (cucumber, beansprouts), something fried (tofu, tempeh), and the egg, so that every forkful under the sauce has a different texture.
Variations
A shrimp paste version adds half a teaspoon of terasi (fermented shrimp paste), toasted briefly in a dry pan or wrapped in foil and warmed through, into the garlic-chilli paste for a deeper, more savoury coastal-Indonesian sauce — leave it out for a vegetarian or vegan plate, which the rest of the dish is naturally suited to. A lontong-added version turns gado-gado into more of a full meal by adding thick slices of compressed rice cake (or plain steamed rice as a substitute) to the platter, which is how it is often served for lunch rather than as a side. And for those who like real heat, stir an extra spoonful of sambal oelek straight into the finished sauce rather than relying on the chillies cooked into the paste, since fresh sambal keeps a rawer, sharper burn than chilli simmered into a sauce.
Gado-gado sits naturally alongside other Indonesian dishes built on the same sweet-savoury kecap manis backbone — a plate of nasi goreng with sweet soy and crispy shallots turns it into a proper spread, and the peanut sauce itself is close cousin to the dip served with chicken satay, so the two make an easy, complementary pairing on the same table.




