
Indonesia's beloved salad of blanched vegetables, tofu, tempeh, and hard-boiled eggs, all smothered in a rich, sweet-spicy peanut sauce.
Gado-gado — literally 'mix-mix' in the Betawi dialect of Jakarta — is Indonesia's most internationally recognised dish and arguably its most complete vegetarian meal. Far more than a salad, it is a composed platter of blanched and raw vegetables, golden-fried tofu and tempeh, boiled eggs, and waxy potato slices, all united by a generous pour of bumbu kacang: a luxuriously thick peanut sauce built on roasted peanuts, kecap manis, garlic, and fiery bird's eye chillies. The sauce is the soul of the dish and its preparation deserves full attention — mediocre peanut butter produces a flat result, while freshly ground roasted peanuts combined with good peanut butter produce something deeply complex, simultaneously sweet, salty, and warmly spiced. What separates an exceptional gado-gado from a passable one is temperature management and the sequencing of ingredients on the plate. Each component should be cooked separately, at the right time, and allowed to cool to room temperature before assembly — a warm bowl of vegetables placed under hot peanut sauce creates an unpleasant steamed-vegetable odour. The tofu and tempeh are shallow-fried until they develop a golden, slightly crisp crust that resists the sauce long enough to maintain textural contrast in the mouth. The vegetables — cabbage, bean sprouts, green beans — are blanched just until they lose their raw edge but retain a vivid colour and bite, immediately refreshed in cold water to arrest cooking. Gado-gado is a street food, a home kitchen staple, and a restaurant showcase across all 17,000-plus islands of the Indonesian archipelago, with regional variations in every major city. In Jakarta it tends to be richer and more heavily sauced; Sundanese versions from West Java use more lime and less sweetness; Surabayan gado-gado often includes more tempeh. The crackling addition of krupuk (prawn crackers) and crispy fried shallots is not garnish — it is an essential textural layer without which the dish feels incomplete.
Serves 4
Press tofu dry between kitchen towels for 10 minutes, then slice into 1 cm planks. Slice tempeh 5 mm thick. Heat 3 tablespoons of oil in a non-stick frying pan over medium-high heat and fry tofu slices 3–4 minutes per side until deep golden with a slight crust. Fry tempeh similarly, 2–3 minutes per side. Drain on kitchen paper and season lightly with salt.
Pressing the tofu is essential — excess water prevents browning and makes the oil spit dangerously.
Bring a large pot of salted water to a rolling boil. Blanch green beans 2 minutes, cabbage 1 minute, and bean sprouts 30 seconds — each in separate batches. Transfer immediately to a bowl of ice water with tongs to stop cooking and preserve colour. Drain thoroughly and pat dry.
Keep a second large bowl of ice water ready. Over-blanched vegetables turn grey-green and watery — watch the clock.
If not already prepared, cook potatoes in salted water from cold for 18–20 minutes until just tender when pierced with a knife — they should not be mealy. Add eggs to the pot for the final 10 minutes. Cool both under cold running water, peel eggs, and slice potatoes into rounds 8 mm thick.
Combine peanut butter, kecap manis, minced garlic, chillies, lime juice, and palm sugar in a blender or deep bowl. Pour in hot water (not boiling) and blend or whisk vigorously until the sauce is smooth and pourable — it should coat a spoon thickly but flow freely. Taste: it should be simultaneously sweet, salty, nutty, and warming. Adjust with extra kecap manis for sweetness, lime for brightness, or a pinch of salt.
Warm the sauce gently in a saucepan to serve — it becomes beautifully silky at around 60°C. If it thickens on standing, thin with another splash of warm water.
Use a large flat plate or wide bowl. Start with potato slices as the base, then arrange mounds of cabbage, bean sprouts, and green beans. Place tofu and tempeh slices around the edge. Set halved eggs in the gaps, yolk-side up.
Pour warm peanut sauce generously over the entire platter — every element should be touched by it. Scatter fried shallots across the surface and tuck krupuk crackers around the edge so they stay crisp. Serve immediately with lime wedges.
The peanut sauce must be warm when served — room-temperature or cold sauce sits on top of the vegetables instead of flowing around them. Reheat gently and pour immediately.
Freshly ground roasted peanuts combined with a small amount of commercial peanut butter (half and half) gives the best of both worlds: real peanut depth and a smoother, more consistent sauce.
Do not over-blanch the vegetables. Each vegetable has a different optimal time: 30 seconds for sprouts, 1 minute for cabbage, 2 minutes for green beans. A timer and ice bath are the two most important pieces of equipment.
Krupuk (prawn crackers) must be added at the very last moment — they absorb moisture from the sauce and become rubbery within minutes. Serve them separately in a small basket so diners can add them themselves.
If your tofu sticks to the pan, you either skipped pressing it dry, or the oil was not hot enough when the tofu went in. Add oil only when the pan is fully preheated; a drop of water should evaporate immediately on contact.
Sundanese style: increase lime to 2 tablespoons and reduce kecap manis to 1 tablespoon for a sharper, less sweet sauce more typical of West Java.
Cucumber and tomato: add half a sliced cucumber and two sliced roma tomatoes — cucumber in particular provides an excellent cool crunch against the warm peanut sauce.
Almond or sunflower seed butter: works for peanut-free versions; add 1 extra teaspoon of kecap manis and a few drops of sesame oil to recover the depth that peanuts provide.
More vegetables: boiled corn, blanched broccolini, or sliced avocado all make excellent additions — gado-gado is a generous, flexible dish that accommodates whatever the kitchen offers.
Store the peanut sauce separately in the refrigerator for up to 5 days — it thickens considerably when cold, so reheat with a splash of water before serving. All blanched vegetables can be prepared up to 4 hours ahead and refrigerated covered. Fried tofu and tempeh keep at room temperature up to 2 hours. Do not dress the assembled salad in advance — it becomes soggy within 20 minutes.
Gado-gado's exact origins remain contested among food historians, but it is documented in Javanese and Sundanese communities from at least the 19th century, with some scholars arguing for a much older heritage. The peanut sauce reflects the cultural transformation that followed the introduction of peanuts by Portuguese and Spanish traders in the 16th century — indigenous Javanese cooks adopted the legume rapidly and made it the cornerstone of bumbu kacang, a preparation style that now defines several major Indonesian dishes including satay and pecel. The name 'gado-gado' likely originates in Betawi (Batavian, old Jakarta) slang for mixing or jumbling together — an apt description of the dish's joyful assembly of whatever vegetables are available.
Kecap manis is Indonesian sweet soy sauce — thick, dark, and molasses-rich with a flavour closer to hoisin than regular soy sauce. If unavailable, combine 2 tablespoons regular soy sauce with 1 tablespoon brown sugar and simmer briefly until the sugar dissolves. The result lacks the specific depth of kecap manis but is a functional substitute.
Yes, and the result is noticeably better. Toast raw peanuts in a dry pan 8–10 minutes until deep golden, cool completely, then blend with the other sauce ingredients. The sauce will have more complexity and a rougher, more interesting texture. Use 200 g raw peanuts to replace 200 g peanut butter.
It can easily be. The only non-vegan elements in the standard recipe are the eggs and any prawn crackers used as garnish. Omit eggs and use rice crackers instead of krupuk and the dish is fully vegan — the peanut sauce itself contains no animal products.
Peanut butter absorbs water differently depending on brand and fat content. If too thick, whisk in warm water a tablespoon at a time. If too thin, simmer gently in a small saucepan, stirring constantly, until it reduces to the right consistency. The sauce should coat a spoon heavily but pour off it slowly.
Yes, with some organisation. Make the peanut sauce up to 2 days ahead and refrigerate. Blanch vegetables and fry tofu and tempeh up to 4 hours ahead. Boil eggs and potatoes the day before. Keep everything separate and refrigerated. Reheat the sauce, assemble the platter, and pour warm sauce just before guests sit down.
Per serving · 4 servings total
Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.
Chat with AI Chef →Join the conversation
Sign in to leave a comment and save your favourite recipes