Ketoprak: Betawi Tofu and Noodle Salad
Ketoprak is a Jakarta street dish of tofu, rice cake, bean sprouts and often rice vermicelli, brought together with a thick peanut sauce. It is served warm, usually with fried shallots and crisp crackers. The combination is filling but still built around contrasts: soft rice cake, tender sprouts, chewy noodles, tofu and a sauce that can be sweet, savoury, tangy and chilli-hot.
What ketoprak tastes like and what is in the bowl
The defining feature is not a single fixed recipe but the way a few simple components are assembled around the peanut dressing. A typical bowl starts with ketupat, a compressed rice cake traditionally cooked inside a woven palm-leaf casing, and fried tofu cut into small pieces. Bean sprouts, called toge or tauge, provide a fresher, lightly crisp element. Some sellers add bihun, fine rice vermicelli, which catches the sauce and makes each mouthful more substantial.
The sauce, often called bumbu kacang or saus kacang, is the component that brings the ingredients into one dish. Ground peanuts give it body; garlic and chilli make it savoury and hot; palm sugar rounds it with sweetness; tamarind can contribute a sour edge. Salt balances the mixture. The exact balance varies, so two bowls can look familiar but taste quite different: one may lean sweet and mild, another more garlicky, sharp or fiery.
At the finish, fried shallots add a fragrant crunch and kerupuk bring a brittle, airy texture. Some versions include sliced spring onion. These toppings are not decoration alone: they keep the softer rice, noodles and sauce from making every bite feel alike. Eat soon after serving, while the tofu and crackers have not yet softened under the dressing.
How the ingredients change the eating experience
Ketupat gives the dish its steady, compact base. Unlike loose steamed rice, it is cut into pieces that hold their shape as sauce is mixed through. Its mild taste lets the peanut dressing dominate, while its firm, slightly springy texture makes the bowl feel like a meal. A vendor may use a related compressed rice cake or a softer cut; the practical difference is whether the pieces stay distinct or blend into the sauce.
Fried tofu contributes a more savoury centre. The outside can be lightly crisp when freshly fried, while the inside remains soft. Once the sauce reaches it, that contrast fades, which is why the dish is most appealing straight from assembly. If the tofu is cut small, more surface gets coated and the flavour is distributed evenly. Larger pieces give you a clearer tofu bite but need to be broken with the spoon or fork.
Sprouts are usually briefly blanched rather than cooked until limp. Their mild flavour cuts through the richness and their slight snap gives the bowl a fresher feel. Vermicelli is optional in some preparations; when included, it is soft and slippery, not a crisp noodle. It also takes up space that might otherwise be filled by rice cake, so the balance of ingredients is not identical from one seller to another.
Crackers change quickly after they touch sauce. If you want to keep their crunch, leave them at the top and break off pieces as you eat, rather than mixing everything at once. Fried shallots soften more slowly and perfume the sauce as they are stirred in. A first bite before mixing lets you notice whether the sauce is sweet, tangy or hot; subsequent bites can combine all the elements.
Ketoprak and gado-gado are related, but not interchangeable
Both dishes use peanut sauce, which is why they can look similar to someone encountering them for the first time. Ketoprak is usually organised around tofu, rice cake and sprouts, with vermicelli appearing in many versions. Gado-gado is more strongly associated with a mixture of cooked vegetables and can include ingredients such as potato and egg. There is overlap: tofu may appear in both, and recipes differ between cooks. The useful distinction when ordering is the main structure of the meal, not a claim that every version follows one rigid formula.
Choose ketoprak when you want a warm, rice-based bowl whose sauce coats tofu and compressed rice. Gado-gado suits a diner looking for a broader assortment of vegetables and, depending on the preparation, egg or other additions. Neither name guarantees a particular level of chilli or sweetness. If a specific ingredient matters to you, ask what is in that vendor’s version rather than relying on the category alone.
Other Indonesian dishes can share ingredients without being the same meal. Peanut sauce also appears in several regional foods, while rice cakes turn up in soups and vegetable dishes. Ketoprak’s particular identity comes from the pairing of tofu, rice cake and sprouts with the thick dressing, rather than from peanut sauce by itself.
Ordering ketoprak in Jakarta
At a street cart or small stall, preparation is often visible: the seller cuts the rice cake and tofu, prepares or portions the sauce, and combines the components in a plate or bowl. The sauce may be mixed to order, which makes it possible to request less chilli before it is added. A simple phrase is tidak pedas for not spicy, or sedikit pedas for a little spicy. You can also ask pakai bihun? (“with vermicelli?”) if you want to know whether it is included.
Use short, specific requests. Jangan terlalu pedas means “not too spicy”; it is clearer than asking for no chilli if you are comfortable with a little warmth. If you want the sauce served separately, ask whether that is possible before the vendor starts mixing. Not every cart can adjust every part of its preparation, so treat the request as a preference rather than an assurance about the final heat.
Ketoprak is sold by mobile vendors and at small food stalls in Jakarta, including around markets and busy neighbourhood streets. The location of a cart can change, and a dish page cannot promise that a particular seller will be at a particular corner. If you are already walking through central Jakarta or Kota Tua, regard a stall as a meal stop when you see one with active preparation, rather than planning a long cross-city detour around a name that may no longer be there. The Jakarta guide helps put neighbourhood choices in context, while Kota Tua is useful for planning a visit to the historic quarter.
Vendors commonly serve this as an individual portion, mixed just before handing it over. A spoon and fork work well because the sauce, rice cake and noodles are easier to gather together than with chopsticks. If the dish is served on a leaf or paper, use the utensil offered or fold the edge slightly to keep the sauce from running. Avoid carrying it around for later: once mixed, the warm sauce and soft components are best eaten where they are prepared.
Heat, allergies and ingredient questions
Peanuts are central to ketoprak, not an optional garnish. Anyone with a peanut allergy should avoid it; asking for less sauce does not make the dish safe, because the same dressing is mixed through the ingredients and preparation surfaces may be shared. Tofu is made from soy, another important allergen to consider. A vendor may not be able to confirm every ingredient or prevent cross-contact, so do not treat a brief answer as a guarantee when an allergy is serious.
Chilli levels vary, and the sauce may already contain chilli before any extra sambal is offered. Ask about the base sauce first. If you prefer a mild dish, state that before mixing begins. If you enjoy heat, request extra chilli separately when possible, so you can add it gradually rather than making the whole bowl hotter than you intended.
Ketoprak’s central components are plant-based, but toppings and sauces can vary, so the dish is not automatically vegetarian. Crackers may contain ingredients beyond flour, and cooking oil or shared equipment may matter to a strict dietary requirement. Ask about the actual preparation if you need to avoid a particular ingredient; the dish name alone does not establish that a serving meets a dietary standard.
For general food handling, notice whether ingredients are protected from dust and whether hot components are served hot. Fresh assembly means the bowl is prepared for you, but it does not by itself prove how every ingredient was stored. Choose based on what you can see and what the seller can explain. These observations are especially useful at a busy street-side setup where the whole preparation area is visible.
What the name means, and the separate theatre form
The origin of the food’s name is uncertain. One popular explanation treats “ketoprak” as a compressed phrase drawing on ketupat, tahu (tofu), toge (sprouts) and the idea of ingredients being pounded or crushed. These are explanations in circulation, not a settled etymology, so it is more accurate to present them as competing stories than as a proven account.
There is also a different art form called ketoprak or kethoprak: a Javanese popular theatre tradition. It is not a food. The shared name can confuse searches and conversation, particularly when the word appears without context. In a Jakarta food setting, ketoprak normally means the tofu-and-rice-cake dish; in a performance context, it may refer to theatre. Mentioning the distinction prevents the dish from being mistaken for a show or the theatrical form from being taken for a meal.
The dish is widely associated with Jakarta and Betawi food culture, but claims about a precise birthplace or founding date are not reliable enough to state as settled history. Jakarta’s food traditions have moved with people and neighbourhoods, and the sellers preparing a familiar dish need not all share one origin story. A clear description of what is in the bowl tells a visitor more than a confident but unsupported founding legend.
How ketoprak fits into a day in Jakarta
Because the dish is warm, sauce-rich and built around rice cake, it makes sense as a quick lunch or an informal evening meal when a stall is nearby. It is substantial enough to stand on its own for many appetites, although appetite depends on the portion and on whether vermicelli is included. If you are planning to taste several Betawi foods, share a bowl or choose smaller portions where available rather than ordering multiple full meals at once.
Its street-stall format pairs naturally with a day already spent in the area: stop when you are hungry, eat while the food is freshly assembled, then continue on foot or by your planned transport. It is less useful as a fixed appointment across Jakarta, since vendors move and traffic can make a short map distance an unreliable measure of travel time. For a separate sour and crisp contrast, Central Jakarta can help you keep a meal stop within the area you are already exploring, while Batavia’s history in Kota Tua adds context to a visit through the historic quarter.
Do not confuse “street food” with a guarantee that every cart serves the same recipe or works to a universal schedule. The facts that matter at the moment are whether the cart is present, what components the seller is using and whether the sauce suits your preference. That is why watching a portion being prepared can answer more than a general description: you can see whether it contains bihun, how much sauce is added and whether chilli is mixed in or offered separately.
Questions visitors ask about ketoprak
Is ketoprak served hot?
It is usually served warm, with recently fried tofu and warm or briefly blanched components under the peanut sauce. It is not a soup, and it is best eaten soon after assembly while the textures remain distinct.
Does every ketoprak include noodles?
No. Rice vermicelli is common but not universal. Ask whether the vendor’s version includes bihun if you want to know what will be in your bowl.
Is ketoprak the same as gado-gado?
No. The dishes share peanut dressing and may share tofu, but ketoprak centres on tofu, rice cake and sprouts, while gado-gado is usually more vegetable-led and may include potato or egg.
Can I ask for ketoprak without chilli?
You can request tidak pedas or jangan terlalu pedas before the sauce is mixed. The base sauce may already contain chilli, so ask how it is prepared if even mild heat is a problem.
Is ketoprak safe for someone with a peanut allergy?
No. Peanut sauce is a defining part of the dish and is mixed through it. Tofu also contains soy. Avoid the dish if either allergen is a concern, especially where preparation surfaces are shared.
Related guides: asinan betawi, taman suropati, Mancak in Betawi Community Life, tari cokek, cingkrik, Gado-gado Jakarta: Mixed Vegetable Salad with Peanut Sauce.
