The Story of Ketoprak: Jakarta’s Iconic Tofu and Peanut Noodle Street Food

When people think of Indonesian cuisine, dishes like gado-gado, nasi goreng, or rendang often come to mind first. But tucked in the bustling corners of Jakarta’s street food scene lies a dish that’s simple in form but rich in flavor and tradition: Ketoprak. Not to be confused with the traditional Javanese theatrical performance that shares the same name, this Ketoprak is a humble yet satisfying dish centered around fried tofu, rice noodles, mung bean sprouts, and rich peanut sauce, served over cubes of compressed rice cake known as lontong.

Let’s dive deeper into this uniquely Indonesian creation that deserves a place on the global food map.

Origins and Regional Identity

Ketoprak is most strongly associated with Jakarta, Indonesia’s capital. It’s one of the staples of kaki lima—the street food carts that line almost every major thoroughfare and alleyway in the city. Interestingly, although this dish is now a mainstay of Jakarta, many food historians believe it was first introduced by Javanese migrants, particularly from Central Java, who brought with them the culinary art of peanut-based dishes.

Over time, Ketoprak evolved into its own distinctive dish, setting itself apart from similar peanut-sauced cousins like gado-gado and pecel. While gado-gado and pecel focus heavily on boiled vegetables, Ketoprak strips it down to just tofu, noodles, bean sprouts, and rice cake—emphasizing texture and depth of sauce over variety.

img featured empal gentong cirebon
imgarticleketoprak

Ketoprak: Indonesian Tofu & Peanut Noodle Salad

Ketoprak is a comforting street food dish from Jakarta, Indonesia, made of soft rice noodles, crunchy bean sprouts, crispy tofu, and a rich, aromatic peanut sauce. Traditionally served at room temperature, it’s a naturally vegetarian dish that balances sweet, savory, spicy, and nutty flavors. It’s casual, satisfying, and surprisingly simple to make at home.
Prep Time 20 minutes
Cook Time 15 minutes
Total Time 35 minutes
Servings: 6 people
Course: Breakfast, Main Course, Street Food
Cuisine: Betawi (Jakarta), Indonesian
Calories: 450

Ingredients
  

Main Ingredients
  • 15 cubes of tahu kuning Indonesian yellow tofu; substitute with extra-firm tofu, fried until golden
  • 7 oz 200 g bihun (rice vermicelli noodles; soak in hot water for 5–10 minutes, then drain)
  • 10 oz 300 g tauge (mung bean sprouts; blanched for 30 seconds in boiling water)
  • 8 pieces lontong or ketupat compressed rice cakes; substitute: cooked sushi rice, pressed into a container, chilled, then cut into cubes
  • A handful of kerupuk merah red tapioca crackers; substitute: shrimp chips, rice crackers, or prawn crackers
  • 2 tbsp bawang goreng crispy fried shallots; available pre-made or make at home
Peanut Sauce
  • 17 oz 500 g kacang tanah (raw peanuts; fried or roasted until golden brown)
  • 5 cloves garlic
  • 4 cabai rawit bird’s eye chili, boiled; substitute: Thai chili or any hot small chili
  • 8 cabai merah large red chili, boiled; substitute: red Fresno, red jalapeño, or red bell pepper + chili
  • 2 tbsp gula merah Indonesian palm sugar; substitute: dark brown sugar or coconut sugar
  • 3 tbsp kecap manis sweet soy sauce; substitute: soy sauce + molasses or brown sugar
  • 1 tbsp white vinegar
  • ½ –1 cup warm water adjust to reach desired sauce consistency
  • Salt to taste
  • Cooking oil as needed (for frying)

Instruction
 

Fry the Components
  1. Heat enough oil in a pan to shallow-fry. Fry the raw peanuts over medium heat until golden brown. Remove and let them cool.
  2. In the same oil, fry tofu until golden and crispy. Remove, drain on paper towels, cut into bite-sized cubes, and set aside.
  3. Quickly fry the kerupuk (crackers) just until puffed. Drain and store in an airtight container.
Prepare the Peanut Sauce
  1. In a blender or food processor (or use a mortar and pestle), grind the garlic, boiled chilies, and salt into a paste.
  2. Add the fried peanuts and blend until smooth or chunky (depending on preference).
  3. Stir in grated gula merah, kecap manis, and vinegar.
  4. Gradually add warm water (start with ½ cup) and mix until the sauce is thick but pourable. Adjust seasoning with more salt or sugar as needed.
Assemble the Dish
  1. On a plate, arrange cubes of lontong, softened rice noodles, bean sprouts, and fried tofu.
  2. Generously pour the peanut sauce over the top, making sure everything is well-coated.
  3. Garnish with bawang goreng (crispy shallots) and serve with kerupuk on the side or on top for added crunch.

Notes

  • Lontong/Ketupat substitute: In the U.S. or Europe, these rice cakes can be mimicked by cooking sushi rice, pressing it into a container, chilling, and cutting into cubes. You can also use Korean rice cakes (garaetteok), sliced and boiled until tender.
  • Tofu: Use extra-firm tofu for the best texture. Press before frying for extra crispness.
  • Peanuts: If short on time, you can use natural peanut butter (unsweetened and unsalted), about 1¼ cups, instead of grinding fried peanuts.
  • Kecap Manis: Available in most Asian supermarkets, but a quick alternative is to mix soy sauce with brown sugar or molasses (2 parts soy to 1 part sugar).
  • Make-ahead tip: The peanut sauce can be made 1–2 days ahead and stored in the fridge. Thin with a little water before serving if it thickens.
  • Spice control: Reduce or omit cabai rawit for a milder sauce, or add more for extra heat.
  • Vegan-friendly: This dish is naturally vegan as long as the crackers used contain no shrimp.

What’s in a Bowl of Ketoprak?

At a glance, Ketoprak is deceptively simple. The main elements include:

  • Tahu goreng: Deep-fried tofu, crispy outside, silky inside
  • Bihun: Thin rice vermicelli noodles
  • Tauge: Lightly blanched mung bean sprouts
  • Lontong: Rice cakes cooked in banana leaves, sliced into firm cubes
  • Bawang goreng: Fried shallots for crunch and aroma
  • Kerupuk merah: Bright pink tapioca crackers for texture
  • Sambal kacang: A robust peanut sauce made with garlic, chilies, and usually—yes— gula merah (Indonesian palm sugar)

So, Does Ketoprak Use Palm Sugar?

Many home cooks and street vendors will confirm: yes, it traditionally uses gula merah. The palm sugar balances the savory and spicy notes in the peanut sauce, adding complexity and a subtle caramel sweetness.

However, not all versions include it explicitly. Some rely solely on kecap manis (sweet soy sauce), which already contains sugar. But for those who grew up with it, like I did, gula merah is essential—it’s what gives Ketoprak its mellow, comforting depth.

A Personal Take: Breakfast with Soul

Growing up in Jakarta, the dish was a regular part of my morning routine. It’s commonly sold from carts parked on the sidewalks as early as 6 a.m., and it’s considered a breakfast food by many locals. A full portion—topped with generous peanut sauce, kerupuk, and the optional boiled egg—was hearty enough to keep you full well until lunchtime.

ketoprak

One of the joys of eating Ketoprak is watching the vendor prepare it. They mash the sauce to order, often in a wooden mortar, then layer each component with practiced ease. The sauce isn’t just poured—it’s folded into the noodles and tofu, ensuring every bite is deeply flavored.

A standard portion with lontong usually costs around 12,000 Rupiah (under $1 USD) without egg—affordable, nutritious, and filling. It’s not just food, it’s sustenance with character.

Gado-Gado, Pecel, and the Philosophy of Carbohydrates

If you’re familiar with gado-gado or pecel, you might assume Ketoprak is just another peanut sauce dish. And in some ways, yes, it is. But Ketoprak has a minimalist charm.

Unlike gado-gado or pecel, which can be eaten with either steamed rice or lontong, Ketoprak is almost always eaten with lontong. This may seem like a small detail, but it reflects the Javanese cultural principle of balance. Lontong, being moist and neutral, serves as the ideal backdrop to the bold, slightly oily peanut sauce. Steamed rice would fall apart or feel too granular against the creamy texture.

pastel ayam sayur

It’s as if the dish was designed around harmony. Everything—from the softness of the tofu to the chewiness of the noodles and the crunch of the fried shallots—coexists in a single bite.

Nutritional Perspective

Despite its indulgent sauce, Ketoprak is surprisingly balanced. A typical serving offers:

  • Plant-based protein from tofu and peanuts
  • Healthy fats from roasted peanuts
  • Carbohydrates from rice cakes and vermicelli
  • Fiber from bean sprouts and optional vegetables

It’s naturally gluten-free (depending on soy sauce choice) and vegan, unless you add the boiled egg or use non-vegan crackers.

Is Ketoprak Ready for the Global Stage?

Absolutely.

For American or European kitchens, some adjustments might help:

  • Rice cakes: Instead of lontong, use firm sushi rice molded into cubes and chilled, or substitute with sliced Korean rice cakes (garaetteok) for chewiness.
  • Peanut sauce shortcut: Use unsweetened natural peanut butter instead of grinding whole peanuts.
  • Vegetable options: Add blanched spinach or shredded carrots for more greens, though purists may protest!
  • Protein boost: Add boiled egg or tempeh for extra nutrition.

When to Eat Ketoprak

Traditionally, Ketoprak is eaten for breakfast or brunch, but it also makes a great meatless dinner. Since it’s served at room temperature, it’s ideal for picnics, potlucks, or any casual gathering.

Where to Find Ketoprak in Indonesia

You’ll find Ketoprak:

taoge goreng featured
  • At sidewalk food stalls across Jakarta
  • In food courts and warung makan
  • Sometimes in train stations or night markets
  • Rarely in high-end restaurants—Ketoprak is proudly street food

Outside Indonesia, it’s still rare, even in Indonesian restaurants. But if you’re lucky enough to find an Indonesian home cook, ask for Ketoprak—it’s the taste of Jakarta mornings.

A Dish of Substance, Simplicity, and Soul

In an age of fusion food and over-complicated plating, Ketoprak reminds us of the beauty in simplicity. It’s made of humble ingredients, yet it’s complex in flavor, culturally rich, and deeply personal for many Indonesians.

For me, it tastes like comfort. Like busy school mornings. Like chatting with the abang ketoprak while he pounds garlic and chili into a paste. It’s not flashy, but it doesn’t have to be. Ketoprak knows what it is—and it’s enough.

If you’re curious to try it, start by mastering the peanut sauce—the rest will follow naturally. Who knows, Ketoprak might just become your new favorite breakfast, no matter where you live.

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating




Recommended Recipe
featured

Nasi Goreng, Indonesia’s Beloved Fried Rice and How to Put a Curry Twist on It

This window will close in 20 seconds...