A classic Betawi street food from Jakarta, this dish layers slippery rice vermicelli, golden fried tofu, and crisp bean sprouts under a creamy-spicy peanut sauce. It is finished with cucumber, fried shallots, and a generous drizzle of sweet soy sauce for an unmistakable Jakarta flavor. Perfect as a hearty snack or light meal.
Prep Time20 mins
Cook Time20 mins
Total Time40 mins
Servings4
Yield4 servings
Nutrition Facts
Per serving (estimated)
- 640 kcalCalories
- 30 gFat
- 5 gSaturated Fat
- 62 gCarbs
- 6 gFiber
- 14 gSugar
- 24 gProtein
- 720 mgSodium
- 610 mgPotassium
- 210 mgCalcium
- 4 mgIron
- 9 mgVitamin C
- 35 mcgVitamin A
Ingredients
For the peanut sauce
- 1 cup roasted unsalted peanuts
- 3 cloves garlic, peeled
- 2 red Thai chilies, stemmed
- 1 tbsp palm sugar, grated
- 2 tbsp kecap manis (sweet soy sauce)
- 1 tbsp tamarind paste
- 1/2 tsp fine sea salt
- 1/2 cup warm water, plus more as needed
For the noodles and toppings
- 8 oz dried rice vermicelli (bihun)
- 14 oz firm tofu, drained and cut into 1-inch cubes
- 2 cups fresh bean sprouts, rinsed
- 1 large English cucumber, thinly sliced
- 3 tbsp vegetable oil
- 2 tbsp fried shallots
- 3 tbsp kecap manis (sweet soy sauce)
For serving
- 2 lime, cut into wedges
- 2 bird's eye chilies, thinly sliced
Directions
- Bring a large pot of water to a boil. Cook the rice vermicelli for 3 to 4 minutes until tender but still springy, then drain and rinse under cool water. Toss with a drizzle of oil to prevent sticking and set aside.
- Pat the tofu cubes very dry with paper towels. Heat the vegetable oil in a nonstick skillet over medium heat and fry the tofu for 6 to 8 minutes, turning often, until deeply golden on all sides. Transfer to a plate lined with paper towels and sprinkle lightly with salt.
- Blanch the bean sprouts in boiling water for 30 seconds, drain, and immediately rinse under cold water to keep them crisp. Set aside.
- Make the peanut sauce: combine the peanuts, garlic, and chilies in a blender or food processor and pulse until coarsely ground. Add the palm sugar, kecap manis, tamarind paste, salt, and warm water, then blend until you have a thick, pourable sauce, adding a splash more water if needed.
- In a large mixing bowl, gently toss the warm noodles with 2 tablespoons of kecap manis so they absorb the sweet soy flavor throughout.
- To assemble, divide the noodles among 4 shallow bowls. Top each with fried tofu, a generous handful of bean sprouts, and sliced cucumber. Spoon the peanut sauce liberally over each bowl.
- Finish with a drizzle of the remaining kecap manis, a sprinkle of fried shallots, and a few slices of bird's eye chili. Serve immediately with lime wedges for squeezing over the top.
Cook’s Notes
- For the creamiest sauce, use freshly roasted peanuts and grind them yourself; pre-ground peanut butter can be substituted in a pinch but the flavor will be sweeter and less complex.
- Do not skip rinsing the noodles under cold water; this stops the cooking and removes excess starch so they do not clump together.
- If kecap manis is unavailable, simmer 2 tablespoons regular soy sauce with 1 tablespoon brown sugar and a splash of water until thickened.
- Ketoprak is best eaten right away while the tofu is still warm and crispy, as it loses its texture once it sits in the sauce.










