Java — the Sundanese west and Betawi Jakarta, where the dish took its familiar form · Indonesian

Gado-Gado (Indonesian Vegetable Plate with Bumbu Kacang)

Indonesia's national salad: blanched cabbage, long beans, bean sprouts and water spinach with potato, fried tofu and tempeh, boiled egg and lontong, under a ground sauce of fried peanuts, palm sugar, tamarind and chilli.

By Table & Traditions Editors

Published August 28, 2026

An overhead shot of a long pale ceramic platter of Indonesian gado-gado on a dark weathered wooden table, with a wooden bowl of thick brown peanut sauce topped with crushed peanuts set in the middle and the components arranged in separate heaps around it — bright green long beans, shredded white bean sprouts, dark green water spinach leaves, cucumber rounds, golden cubes of fried tofu and tempeh, pale slices of lontong and halved hard-boiled eggs — with crisp fried shallots scattered over, a spoon resting on the rim, red chillies and loose peanuts on the wood and a cracker and glass of iced tea at the edge.

Cultural context

Gado-gado is one of the five dishes Indonesia's Tourism Ministry named national food in 2018, alongside soto, sate, nasi goreng and rendang. It belongs to a wider Javanese and Sundanese family of vegetables dressed in ground peanut — pecel, lotek, karedok — and its own origin is genuinely disputed: some trace it to Sundanese West Java, some to the Portuguese-descended community of Kampung Tugu in North Jakarta, some to Betawi Chinese cooks reworking Javanese pecel. The name settles one thing at least: menggado means to eat something without rice, which is why the starch on the plate is a slab of pressed lontong rather than a bowl of it.

Yield
Serves 4 as a full plate
Prep
40 min
Cook
35 min
Total
About 1 hr 15 min
Difficulty
Intermediate

Gado-gado is what Indonesia eats when it wants vegetables to be the meal rather than the accompaniment. On a Jakarta side street the cook works over a wide earthenware mortar, a cobek the size of a dinner plate: fried peanuts go in, then garlic and chillies — how many is a question she asks you — then palm sugar, tamarind, a spoon of shrimp paste, and she grinds the lot into a coarse brown sauce while you stand there. Blanched cabbage, long beans, sprouts and water spinach are heaped on a plate with potato, fried tofu, tempeh, half a boiled egg and a slab of pressed rice cake, and the sauce goes over the top. Crackers are stood upright in it at the last second so they stay snapping.

The name tells you two things. Gado-gado is a doubling of gado, and in Indonesian a doubled noun usually means a mixture — mix-mix, medley, hodgepodge. But menggado, the verb, means to eat something without rice, and that is the older sense: gado-gado is a plate you eat on its own. It is why the starch on it is a few slices of lontong, compressed rice cake, rather than a bowl of steamed rice beside it. In 2018 the Tourism Ministry named it one of Indonesia’s five national dishes, along with soto, sate, nasi goreng and rendang.

Nobody owns it, and that is the honest answer

Ask where gado-gado comes from and you get three good answers. The dish is most at home in western Java, which places it in the Sundanese tradition alongside lotek and karedok, its close relatives. A durable Jakarta account credits Kampung Tugu in Cilincing, a village settled in the early 1700s by families of Portuguese descent. A third has Betawi Chinese cooks reworking Javanese pecel to their own taste until it became something else.

What can be pinned down is the earliest possible date. Peanuts are not Asian. They are South American, carried east by Portuguese and Spanish traders from the sixteenth century, and they took root in Java so completely that a sauce made from them now reads as the most Indonesian thing on the table. Whatever gado-gado’s precise birthplace, it cannot predate that voyage — and the name itself is first recorded in print only in the 1920s. A dish this central to a national cuisine turns out to be, in the long view, quite young.

The sauce is the recipe

Everything else on the plate is boiled, blanched or fried. The bumbu kacang is where the cooking happens, and three decisions make it.

Fry the peanuts, then let them go cold

Indonesian cooks deep-fry raw peanuts rather than dry-roasting them. Hot oil surrounds every nut at once, so a whole batch colours evenly in four or five minutes, where a dry pan browns whatever touches the metal and scorches the sugars in the skins before the centres are done. Pull them a shade paler than you want — they keep darkening in their own heat on the paper.

Then leave them alone until they are completely cool. Grinding warm peanuts shears the oil straight out of them and you get peanut butter: smooth, emulsified, uniform. Gado-gado sauce is supposed to be slightly granular, and the grain is what stops a plateful of soft blanched vegetables reading as baby food. The skins stay on for the same reason — their tannins give the sauce a faint roughness and its brown colour.

Grind, do not blend

A cobek and pestle crushes; a blender shears and heats. If you are using a food processor, pulse in short bursts, scrape down between them, and stop while the paste still looks like coarse wet sand. Thirty seconds of continuous blitzing is the difference between bumbu kacang and satay dip.

Thin it with hot water, slowly

Hot water disperses ground peanut and palm sugar; cold water lets them clump. Add it a splash at a time and wait — the paste keeps drinking for a minute or two after each addition, so a sauce that looks perfect immediately will be too thin shortly afterwards. Aim for something that coats a spoon and falls in a ribbon, and season it slightly too aggressively on the spoon, because it is about to be spread over a kilo of unsalted vegetables.

Dry vegetables, separate heaps

The one mistake that ruins an otherwise good gado-gado is wet vegetables. Blanched cabbage and bean sprouts hold more water than they look like they do, and each drop dilutes the sauce it meets until the whole thing breaks and pools at the bottom of the plate. Blanch one vegetable at a time — beans want three minutes, sprouts twenty seconds — spread each batch out to stop the carry-over cooking, and dry them properly before anything else happens.

Then resist tossing. The name promises a mixture, but the mixing is the eater’s job: arranged in separate heaps, each vegetable still tastes of itself, and every forkful can be built to a different ratio. It is the same logic that governs nasi lemak across the strait — a plate of deliberate contrasts, assembled bite by bite rather than in the kitchen. For the wider regional picture, the Southeast Asian cooking guide maps how the pounded paste travels from Java to Bangkok, and Indonesia’s other great export, beef rendang, shows what the same pantry does with time and patience instead of speed.

Ingredients

Serves
4

For the bumbu kacang (peanut sauce)

  • 200 g (1 1/3 cups) raw peanuts, skins on Raw, not roasted and not salted — you are going to fry them, and pre-roasted nuts fried again go bitter. The red skins are wanted: they carry tannins that give the sauce its slightly rough edge and its brown colour. Peanut butter is the one substitution that changes the dish rather than approximating it.
  • 250 ml (1 cup) neutral oil, for frying Most of it is strained back out and keeps for the next batch or for frying the tofu.
  • 4 cloves garlic, unpeeled
  • 4–8 red bird's eye chillies (cabai rawit merah) Warung gado-gado is usually built to order — four is mild, eight is what a Jakarta regular asks for. Long red chillies give colour with less heat if you want the look without the burn.
  • 2 tsp terasi (fermented shrimp paste), optional The Betawi standard. Toast it in foil in a dry pan first. Leave it out for a vegetarian plate — the sauce is still coherent, just cleaner and less deep.
  • 1 tsp kencur (aromatic ginger), grated, optional Camphorous and faintly medicinal. It is the marker of Javanese pecel and Sundanese lotek rather than of gado-gado; a small amount rounds the sauce, a large amount turns it into pecel sauce.
  • 60 g (1/3 cup) gula Jawa or gula Melaka (palm sugar), chopped Dark coconut-palm sugar, smoky rather than simply sweet. Dark brown sugar with a teaspoon of molasses is a workable stand-in.
  • 2 tbsp tamarind pulp, soaked in 100 ml warm water and strained Asam Jawa — literally 'Javanese sour'. Use the wet block rather than concentrate; the acid is rounder.
  • 2 makrut lime leaves, optional
  • 2 tbsp kecap manis (sweet soy sauce) Indonesian sweet soy, thick as syrup. Not interchangeable with dark soy sauce, which has none of the palm sugar.
  • 1 1/2 tsp salt, or to taste
  • 200–300 ml hot water
  • 1/2 lime, juiced, to finish

For the vegetables

  • 300 g waxy potatoes, scrubbed
  • 200 g (about 1/4 head) cabbage, cut into wide ribbons
  • 150 g long beans, cut into 5 cm lengths Kacang panjang. Green beans are the standard swap and behave the same; they just want a minute longer.
  • 150 g bean sprouts (tauge)
  • 1 large bunch water spinach (kangkung), cut into 6 cm lengths Sold in most Asian grocers as ong choy or morning glory. Regular spinach works, though it collapses faster — blanch it for seconds, not a minute.
  • 1 cucumber, sliced on the diagonal Raw. Every gado-gado plate needs something cold and uncooked against all the warm blanched vegetables.

For the plate

  • 200 g firm tofu, cut into 2 cm slabs and patted very dry
  • 200 g tempeh, cut into 5 mm slices Fresh or frozen block tempeh, not the marinated strips. It fries to a nutty, almost mushroomy crisp that soft tofu cannot give you — the plate wants both.
  • 4 eggs, hard-boiled and halved
  • 400 g lontong or ketupat (compressed rice cake), sliced Sold vacuum-packed in Asian grocers. To improvise: cook rice wet, press it hot into a lined tin under a weight, chill until firm, then slice. Plain steamed rice is not the same thing and, strictly, contradicts the dish's name.
  • A handful emping melinjo or prawn crackers Emping are bitter-edged melinjo-nut crackers and the Betawi default; prawn crackers (krupuk udang) are the common substitute.
  • 2 tbsp bawang goreng (crisp fried shallots)

Method

Tap a step’s number to check it off as you go.

  1. Heat the oil in a wok or small deep pan to about 160°C (320°F) and fry the raw peanuts, stirring constantly, for 4–5 minutes, until they are a shade paler than you want them and smell toasted. Lift them out with a slotted spoon onto paper and let them cool completely — at least 20 minutes. Fry the unpeeled garlic and the chillies in the same oil for about 1 minute, until the garlic skins blister, then lift out and peel the garlic.

    Why: Frying rather than dry-roasting is the Indonesian method for a reason: hot oil surrounds every peanut at once, so 200 g of them colour evenly in five minutes, where a dry pan browns the contact side and scorches the sugars in the skins before the middles cook. The peanuts must then cool completely, because grinding warm nuts shears their oil out and you get peanut butter — an emulsified, homogenous paste — instead of the slightly granular ground sauce gado-gado is supposed to have. Peanuts also darken noticeably in their own residual heat after they leave the oil, so pull them early.

  2. If you are using terasi, wrap it in foil and toast it in a dry pan for 2 minutes a side, breaking it up as it dries out.

    Why: Raw shrimp paste smells confrontational and tastes flatly fishy. Toasting drives off moisture and turns it nutty and savoury — it stops reading as shrimp and starts reading as depth.

  3. Boil the potatoes whole in salted water for 15–20 minutes until a knife slides in with no resistance. Drain, cool slightly, peel if you like, and cut into thick rounds.

    Why: Whole and skin-on, potatoes absorb far less water than cut ones — and water is the enemy of a sauce that has to cling. Waxy varieties hold their shape under a spoonful of thick peanut sauce; floury ones disintegrate into it.

  4. Bring a large pan of salted water to the boil and blanch the vegetables one kind at a time, hardest first, lifting each out with a spider: long beans 3 minutes, cabbage 1 minute, water spinach 30 seconds, bean sprouts 20 seconds. Spread each batch out on a tray as it comes out.

    Why: One at a time because they are not interchangeable — beans need six times as long as sprouts, and a pan of everything together gives you either raw beans or grey sprouts. Spreading them out rather than piling them stops the residual heat carrying on cooking them, which is what turns bright green kangkung olive. Cabbage and sprouts should still squeak.

  5. Let the blanched vegetables cool and drain properly, then pat them dry. Do not skip this.

    Why: This is the single most common failure. Every drop of blanching water clinging to a bean sprout dilutes the sauce it touches, and a diluted peanut sauce slides off the vegetables and pools at the bottom of the plate. Warungs drain their vegetables in wide baskets for exactly this reason.

  6. Fry the tofu in a little of the peanut oil over medium-high heat until golden and firm on all sides, then the tempeh until deep brown and crisp at the edges. Drain both on paper and salt them lightly.

    Why: Tofu and tempeh are the plate's protein and its texture. Fried tofu develops a chewy skin that grips the sauce, where an unfried slab just gets wet; tempeh's whole fermented character — nutty, faintly mushroomy — only shows up once the outside crisps.

  7. Grind the sauce. In a large mortar (a cobek), or a food processor pulsed in short bursts, work the cooled peanuts, fried garlic, chillies, toasted terasi and kencur to a coarse, sandy paste. Add the palm sugar and salt and keep grinding until the sugar disappears.

    Why: The texture is the point. Gado-gado sauce should be ground, not blitzed smooth — you want to feel the peanut. A processor left running heats the paste and turns it to butter within seconds, so pulse, scrape down, and stop while it still looks like coarse sand. The mortar does this naturally, which is why warung cooks still use one.

  8. Work in the strained tamarind water, the kecap manis and the makrut lime leaves, then thin with hot water a splash at a time — usually 200–300 ml — until the sauce coats the back of a spoon and falls from it in a thick ribbon. Finish with the lime juice and taste.

    Why: Hot water, not cold, because the ground peanut and palm sugar disperse into it instead of seizing into lumps. Thin it in stages: the paste absorbs water for a minute or two after each addition, so a sauce that looks right immediately is usually too thin thirty seconds later. It should taste sweet, sour, salty, nutty and hot all at once, with nothing leading — and it must taste slightly too strong on a spoon, because it is about to be spread over a kilo of plain vegetables.

  9. Assemble on a wide platter or four plates: lontong slices and potato at one side, then the blanched vegetables in separate heaps, the cucumber, the fried tofu and tempeh, and half an egg each. Do not toss.

    Why: Gado-gado means roughly 'mix-mix', but the mixing belongs to the person eating it. Arranged in heaps, every component still tastes of itself and the eater controls the ratio in each mouthful; tossed in the kitchen, twenty minutes of separate blanching collapses into one uniform texture.

  10. Spoon the sauce generously over everything, or serve it in a bowl alongside, and scatter with fried shallots. Stand the crackers upright in the sauce and eat immediately.

    Why: Crackers go on at the very last second — emping and krupuk go soft within a minute of touching a wet sauce, and their snap is a deliberate counterweight to all that softness. This is also why gado-gado does not travel: the plate is assembled to be eaten now.

A quick, anonymous tap — no review needed.

Variations

  • Gado-gado Surabaya

    The East Javanese version: coconut milk goes into the sauce along with a spoonful of petis udang, the black, tarry fermented shrimp paste that gives Surabaya cooking its signature sweet-savoury funk. Richer, glossier and noticeably sweeter than the Betawi plate, and usually served siram — the sauce poured over neatly arranged vegetables rather than ground together with them.

  • Gado-gado ulek (the mortar method)

    How a Betawi warung actually does it: the sauce is ground fresh in the cobek to order, then the blanched vegetables are added straight into the mortar and turned through it with the pestle so every piece is coated. Messier, faster, and the sauce clings better — but it has to be eaten straight away.

  • Vegan

    Leave out the terasi and the egg. Replace the shrimp paste with a heaped teaspoon of dark miso or fermented soybean paste (tauco) for the savoury floor, and add extra tempeh. Check the kecap manis, which is usually vegan but not always.

  • Gluten-free

    Kecap manis is brewed from wheat-fermented soy. Substitute a gluten-free sweet soy or make your own by simmering 3 tablespoons of tamari with 3 tablespoons of palm sugar until syrupy, and use plain rice crackers instead of emping.

  • Karedok, the raw cousin

    Sundanese and entirely uncooked: cucumber, raw long beans, bean sprouts, cabbage, Thai basil and small aubergines, dressed in a peanut sauce ground with a heavier hand of kencur. Fifteen minutes start to finish, and the best thing to do with the sauce when it is too hot to blanch anything.

Serving & Storage

Serve at room temperature, not hot and not fridge-cold — the vegetables should have lost their blanching heat and the sauce should be warm. Give each person the sauce over the top and a small extra bowl of it on the side; nobody has ever finished a gado-gado without wanting more. Es teh manis (sweet iced tea) is the standard drink with it in Jakarta.

Pairs with: Es teh manis (sweet iced tea), Sate ayam, Krupuk udang, Sambal terasi, Kopi tubruk.

Storage: The peanut paste is the make-ahead component: ground and undiluted, it keeps 2 weeks in a sealed jar in the fridge and freezes for 3 months — thin a portion with hot water and fresh lime as you need it. Blanched vegetables keep a day, refrigerated and dry, though they dull; potatoes and eggs keep 3 days. Fried tofu and tempeh are best the day they are made and revive in a hot oven for 5 minutes. Never dress the plate ahead: sauced gado-gado turns watery within the hour as salt draws liquid out of the vegetables.

Nutrition

Per serving (1 plate with sauce, lontong, egg, tofu and tempeh)

Calories
690
Protein
27 g
Carbs
58 g
Fat
40 g
Fiber
10 g
Sugar
15 g
Sodium
880 mg

Notable micronutrients: Vitamin K, Folate, Vitamin C, Iron, Manganese, Magnesium, Niacin

Estimated using standard ingredient data. Values vary with brands and substitutions.

Frequently Asked Questions

Can I use peanut butter instead of frying peanuts?

You can make a decent peanut dressing that way, but it will not be bumbu kacang. Commercial peanut butter is milled to a smooth emulsion, usually with added oil and sugar, and it is made from blanched skinless nuts — so it gives you a homogenous, sweet, faintly American-tasting sauce with none of the granular bite or the tannic edge the red skins provide. If you have no other option, use unsweetened natural peanut butter, cut it with more tamarind and chilli than the recipe calls for, and stir in a spoonful of coarsely chopped roasted peanuts to fake the texture.

What is the difference between gado-gado, pecel, lotek and karedok?

They are four members of one family, separated by geography and detail. Gado-gado is the fullest plate: blanched vegetables plus potato, egg, tofu, tempeh and lontong, with a peanut sauce that is only lightly aromatic. Pecel is Javanese, simpler — greens and sprouts, no potato or egg — and its sauce leans hard on kencur and makrut lime. Lotek is Sundanese and closest to gado-gado, but sweeter, with kencur and terasi, and the vegetables are traditionally tipped into the sauce rather than the other way round. Karedok is Sundanese too and the outlier: the vegetables are raw.

Where does gado-gado actually come from?

There is no settled answer, and anyone offering one is choosing between competing accounts. The dish is most at home in western Java, which points to Sundanese origins in the same tradition as lotek and karedok. A persistent Jakarta story credits Kampung Tugu in Cilincing, settled in the early 1700s by Portuguese-descended families. A third account has Betawi Chinese cooks adapting Javanese pecel to their own taste. What is certain is a date floor: peanuts are American, carried to island Southeast Asia by Portuguese and Spanish traders from the sixteenth century, so no version of this sauce is older than that exchange. The name is first recorded in print in the 1920s.

Why is my sauce watery and pooling at the bottom of the plate?

Almost always wet vegetables. Blanched cabbage, sprouts and kangkung carry a surprising amount of water, and each piece dilutes the sauce it touches until the whole thing breaks and slides. Drain them properly, spread them out to cool and dry, and pat them with a cloth. The second cause is thinning the sauce too far — the ground paste keeps absorbing water for a minute or two after each addition, so stop while it still looks slightly too thick.

Do I really need lontong? Can I just serve rice?

You can, and plenty of people do, but it works against the dish twice over. Practically, loose grains of steamed rice do not hold up under a thick sauce the way a firm slice of compressed rice cake does. Linguistically, menggado means to eat something without rice — the name is a description of eating this plate on its own, and lontong is the compromise that gives you a starch without turning it into a rice meal. Vacuum-packed lontong is sold in Asian grocers; you can also press hot, wet-cooked rice into a lined tin under a weight, chill it and slice it.

How spicy should it be?

As spicy as you want, and that is not a dodge — warung gado-gado is genuinely built to order, with the cook asking how many chillies and grinding them into your portion. Four bird's eye chillies gives a warmth that sits behind the peanut; eight puts the heat in front. Because the sauce is ground rather than simmered, the chilli stays sharp and immediate rather than mellowing, so add cautiously and taste as you go.

What to drink with this

All drinks →

Hand-picked pours to match this dish. Alcoholic pairings are for adults of legal drinking age (21+ in the US) — please drink responsibly.

From our kitchen community

Ratings & Reviews

My Rating

Tap a star to rate — no sign-in, no form needed.

Be the first to rate Gado-Gado (Indonesian Vegetable Plate with Bumbu Kacang).

Further reading