Homemade Sapo Tahu: Silky Tofu Stir-Fry

Sapo tahu is an Indonesian Chinese-fusion stir-fry that celebrates delicate egg tofu as its star, cradled in a savory, umami-rich sauce studded with shrimp, chicken, and seasonal vegetables. This version balances tender proteins with crisp-tender produce—mushrooms, carrots, cauliflower, snap peas, and corn—bound by a silky cornstarch glaze infused with fish sauce, oyster sauce, and sesame oil. The dish is special for its textural contrast: creamy tofu against snappy vegetables, all held together by a glossy, deeply flavored sauce. Best for weeknight dinners when you want restaurant-quality results at home, or for impressing guests with an approachable yet refined Asian dish. Serve it over steamed rice to catch every drop of sauce. This homemade version lets you control sodium and customize vegetables to what's fresh, setting it apart from takeout versions that often rely on cornstarch alone and miss the aromatic garlic base that makes this sing.
Ingredients
- 2 batang egg tofusilken tofu1:1firmdairy-freeeggs-freeadds soy
same texture, slightly less structure
- 5 ½ oz chicken fillet
- 5 ½ oz shrimp
- 2 buah shiitake mushrooms
- 1 buah carrot
- 1 bonggol cauliflower
- 3 ½ oz snap peas
- 3 ½ oz corn
- 3 siung garlic cloves
- 1 batang scallion
- 2 sdt sugar
- ¼ sdt salt
- 2 sdt mushroom stock powder
- ½ sdt ground white pepper
- 1 sdm fish saucesoy sauce3/4:1vegetarianveganfish-freeadds glutenadds soy
loses umami depth but less pungent
Full guide → - 1 sdm sesame oil
- 1 ½ sdm oyster sauce
- vegetable oil
- water or broth
- cornstarch slurry
Instructions
- 1
Heat oil in a wok or large pan and stir-fry minced garlic until fragrant.
- 2
Add shrimp and chicken and stir-fry until the proteins change color.
- 3
Add carrot, corn, and shiitake mushrooms, stirring gently to combine.
- 4
Season with salt, sugar, mushroom stock, fish sauce, and oyster sauce.
- 5
Pour in broth or water and bring to a boil. Add cauliflower, stir and cook until wilted halfway.
- 6
Taste and adjust seasoning, adding water if needed.
- 7
Add egg tofu and snap peas, then pour in cornstarch slurry while stirring until the sauce thickens and coats everything.
- 8
Taste and adjust seasoning one more time. Remove from heat, stir in scallion and sesame oil, then serve.
Tips
Cut all vegetables and proteins to roughly the same size for even cooking. Prep everything before you start cooking, as the actual cooking moves quickly—this is a true stir-fry that demands attention and speed once the heat is on.
The cornstarch slurry (cornstarch mixed with cold water) is key to a silky, clingy sauce. Mix it just before adding to prevent it from settling and clumping. Stir constantly as you pour for a lump-free gloss.
Fish sauce and oyster sauce are non-negotiable for authentic depth. Taste after adding them and before the cornstarch—you'll adjust salt more easily in liquid than in thickened sauce.
Good to Know
Refrigerate in an airtight container for up to 3 days. Reheat gently in a wok or pan over medium heat, adding a splash of water if the sauce has thickened too much.
Prep all vegetables and proteins up to 4 hours ahead. Keep in separate containers. Make the cornstarch slurry just before cooking. Do not thicken the sauce in advance—assemble and cook the full dish fresh.
Serve over steamed white or jasmine rice, with a side of sliced fresh chilies and extra fish sauce for heat and depth.
Common Mistakes
Do not skip mincing the garlic fine; large pieces won't release their flavor in the short cooking time and create a harsh bite.
Do not add cornstarch slurry to hot liquid without stirring constantly; it will clump and create a grainy sauce instead of a silky one.
Do not overcook the cauliflower before adding tofu; it should be half-wilted, not soft, so it stays tender and does not release water that dilutes the sauce.
Substitutions
Dairy-Free Swaps
same texture, slightly less structure
Vegan Options
loses umami depth but less pungent
Full guide →Gluten-Free Swaps
General Alternatives
FAQ
Can I make this vegetarian or vegan?
Yes. Replace shrimp and chicken with tofu cubes or mushrooms. Swap fish sauce and oyster sauce for soy sauce, though flavor will be less complex. Use vegetable broth. The dish will be lighter but still satisfying with the sesame oil and vegetables.
What if I don't have egg tofu or shiitake mushrooms?
Silken tofu works if you handle it gently. For mushrooms, use cremini or button mushrooms, though you'll lose the earthy chew. Both subs are 1:1 by weight. Adjust cooking time slightly for cremini—they release water faster.
How long does sapo tahu keep and can I freeze it?
Refrigerate for up to 3 days in an airtight container. Freezing is not recommended because the tofu texture becomes spongy and the sauce separates. If you must, freeze only the broth and vegetables, then add fresh tofu when reheating.