Crispy Tofu and Pine Nut Lettuce Cups

San choi bao reimagined with plant-based protein, these Cantonese-style lettuce cups deliver crispy pan-fried tofu, toasted pine nuts, and fresh jicama in a savory-sweet hoisin sauce. The magic lies in the contrast: tender iceberg or leaf lettuce wraps filled with layers of texture—nutty pine nuts, chewy mushrooms, bright diced vegetables, and umami-rich tofu that browns until golden. Key flavors balance salty soy and hoisin against vinegar's tang and optional chili heat, while ginger and garlic perfume every bite. This version celebrates the vegetable-forward spirit of traditional san choi bao while enhancing humble tofu through proper pressing and high-heat browning. Perfect for casual entertaining, light weeknight dinners, or meal prep—serve as a hands-on appetizer or main course. The jicama adds crisp sweetness absent from classic recipes, while pine nuts replace ground pork, creating a sophisticated vegetarian take that carnivores and plant-eaters alike will enjoy.
Ingredients
- 1 lb firm tofu, pressed and dicedtempeh100g tofuFull guide →
- 1 tbsp Shaoxing wine, or dry sherry
- 1 tbsp dark soy sauce
- 2 tsp Chinese black vinegar, or cider vinegarbalsamic vinegar1:1vinegar
deeper sweetness, less sharp
- 4 tbsp hoisin sauce, plus more for serving
- 2 tsp chili sauce, such as Sriracha or sambal oelek(optional)sriracha1:1condiment
same ingredient noted
- ⅓ tbsp cornstarch
- 1 ½ oz pine nuts
- 4 tbsp vegetable oil, divided
- 2 ½ oz shiitake mushrooms, stems removed, cut into 1/4-inch dice
- 3 scallions, white and pale green parts only, thinly sliced
- 1 tbsp garlic, minced, about 3 medium cloves
- 1 tbsp ginger, minced, 1-inch knob
- 4 oz jicama, peeled and cut into 1/4-inch dicewater chestnut1:1vegetable
crisper texture, slightly sweeter
- 2 oz celery, cut into 1/4-inch dice
- fresh cilantro, chopped leaves
- kosher salt
- ground white pepper
- 1 iceberg or green leaf lettuce, picked into individual leaves, stored in ice waterbutter lettuce1:1lettuceadds dairy
more delicate, slightly sweet
Instructions
- 1
Press tofu slabs between paper towels to remove moisture, then cut into 1/4-inch dice.
- 2
Combine Shaoxing wine, dark soy sauce, black vinegar, hoisin sauce, chili sauce if using, cornstarch, and water in a bowl and mix until smooth.
- 3
Combine pine nuts with oil in a wok and place over medium heat, stirring frequently until well toasted, then transfer to a large bowl.
- 4
Add oil to wok and heat over high heat until lightly smoking, add tofu and cook stirring occasionally until browned on all sides, then transfer to bowl with nuts.
- 5
Add oil to wok and heat over high heat until lightly smoking, add shiitakes and cook stirring occasionally until browned, then transfer to bowl.
- 6
Heat remaining oil in wok over high heat until lightly smoking, add scallions, garlic, and ginger and cook stirring constantly until fragrant.
- 7
Add jicama and celery, toss to combine, then return tofu, mushrooms, and pine nuts to wok and toss together.
- 8
Stir sauce to reintegrate cornstarch, add to wok, and cook tossing and stirring until all vegetables are evenly coated.
- 9
Stir in cilantro and season to taste with salt and white pepper, then transfer to warm serving platter and garnish with reserved cilantro.
- 10
Serve immediately with lettuce leaves on the side, spreading hoisin sauce on each leaf and spooning filling inside before eating with hands.
Tips
Press tofu thoroughly between paper towels before dicing—moisture is tofu's enemy. The drier your tofu, the better it browns. Don't skip this step; it transforms the texture from soft to golden-edged and crispy.
Toast pine nuts gently over medium heat to unlock their oils and nutty flavor, stirring constantly to prevent burning. They continue cooking off heat, so transfer them early to avoid bitter results.
Stir the sauce with a fork before adding to the wok—cornstarch settles quickly. This ensures even coating and proper thickening. Cook with constant motion so the filling stays loose and isn't gummy.
Good to Know
Refrigerate filling in an airtight container for up to 3 days. Lettuce leaves keep separately in ice water. Reheat filling gently in a wok or skillet over medium heat, adding a splash of water if needed.
Prepare all components through step 5 up to 1 day ahead. Store tofu, mushrooms, and pine nuts separately in airtight containers. Complete the recipe through step 8 up to 4 hours ahead; cover and chill. Rewarm gently before serving and finish with cilantro.
Serve immediately on a warm platter alongside crisp lettuce leaves and extra hoisin sauce for spreading. Pair with steamed rice, jasmine tea, or a light lager. Works as an appetizer, light main, or part of a multicourse meal.
Common Mistakes
Skip pressing tofu and you'll end up with steamed, soft cubes instead of browned, crispy ones.
Add cornstarch without stirring the sauce first and it will lump; stir with a fork before adding.
Overcrowd the wok when browning tofu or mushrooms and they'll steam instead of caramelize.
Substitutions
Nut-Free Alternatives
General Alternatives
crisper texture, slightly sweeter
slightly spicier, less sweet
FAQ
Can I make this ahead and reheat it?
Yes. Prepare the filling through the sauce step up to 4 hours ahead and chill. Rewarm gently in a wok over medium heat, stirring occasionally, until warm through. Add a splash of water if it looks dry. Assemble with fresh lettuce leaves just before serving for best crispness.
What if I don't have pine nuts?
Toasted cashews, sesame seeds, or even peanuts work well. Use equal amounts of cashews or peanuts; for sesame seeds use half the weight and toast lightly. Each adds its own character—cashews are buttery, sesame earthy, peanuts bold and familiar.
Can I freeze the filling?
Freeze in an airtight container for up to 2 months, though texture softens slightly upon thaw. Defrost overnight in the fridge and reheat gently in a wok. The pine nuts and jicama will lose some crispness. Best eaten fresh, but freezing works in a pinch.