How to Make Vegan Cantonese-Style Lettuce Cups With Tofu, Pine Nut, and Jicama
San choi bao, the classic Cantonese dish of stir-fried ground meat served in crisp lettuce cups, is a celebration of texture—crunchy vegetables, tender protein, and the fresh bite of lettuce coming together in every hand-held bite. The original recipe relies on balance: the meat acts as a supplement to vibrant veggies and nuts, not the star. This makes it ideal for veganizing, as the focus stays on what makes the dish memorable: contrast and freshness.
Why Tofu Works for This Dish

Extra-firm tofu is the perfect plant-based substitute for meat here. It holds its shape when cooked, takes on flavors well, and develops a golden brown sear if pressed first (removing excess moisture with paper towels ensures it doesn’t turn soggy). For me, tofu’s versatility and mild taste make it a natural choice—it lets the other ingredients shine while adding a satisfying heartiness.
Swapping Water Chestnuts for Jicama
Traditional san choi bao uses water chestnuts for their signature crunch, but jicama is a great alternative. Its crisp, slightly sweet texture mimics water chestnuts, and it’s easier to find fresh at most markets. Plus, its larger size makes dicing into uniform quarter-inch pieces a breeze—no more struggling with tiny, slippery water chestnuts!
Building the Stir-Fry Filling
The key to a great vegan san choi bao is balancing textures and flavors. Here’s what goes into the mix:

– Tofu: Pressed extra-firm, diced fine for a meaty texture.
– Jicama: Diced for crunch (substitute water chestnuts if preferred).
– Celery: Diced for an extra layer of freshness and crunch.
– Pine Nuts: Toasted in oil until golden for nutty sweetness.
– Shiitake Mushrooms: Fresh or rehydrated dried (for deeper flavor), diced fine.

– Aromatics: Minced garlic, ginger, and scallions—these form the base of the dish’s savory profile.
– Cilantro: Chopped, for a bright, herby finish.
Cooking the Stir-Fry: Batch by Batch
Home stoves can’t match the heat of restaurant kitchens, so working in batches is essential to avoid soggy ingredients. Here’s the process:
1. Brown the Tofu: Sauté diced tofu in a hot wok until golden. Transfer to a bowl.

2. Cook the Shiitakes: Add a little oil to the wok, then sauté mushrooms until they release their liquid and turn caramelized. Add to the tofu.
3. Sauté Veggies and Aromatics: Heat more oil, then cook celery, jicama, garlic, ginger, and scallions until tender-crisp (about 3-4 minutes).
4. Combine and Sauce: Return the tofu and shiitakes to the wok. Stir in a mixture of Shaoxing wine (dry sherry works as a substitute), soy sauce, hoisin, black vinegar, and a touch of cornstarch (to bind the sauce without making it gloopy). Cook until the sauce thickens slightly, then remove from heat.
Assembling the Lettuce Cups
The finished stir-fry is a symphony of textures—crunchy jicama, tender tofu, nutty pine nuts, and fresh celery—all coated in a flavorful, light sauce. To serve:

1. Prepare the Lettuce: Use chilled iceberg (or green leaf) lettuce—separate leaves, rinse, and pat dry to keep them crisp.
2. Add Hoisin: Spread a small amount of hoisin in the bottom of each leaf (this adds sweetness and helps the filling stick).
3. Pile in the Filling: Spoon the stir-fry into the lettuce cups—don’t be afraid to overstuff!
4. Serve Immediately: Eat with your hands, like a taco, to fully enjoy the mix of textures and flavors.
This vegan take on san choi bao stays true to the original’s spirit—focused on texture, freshness, and balance—while being entirely plant-based. It’s a fun, interactive meal perfect for sharing, and it’s sure to become a favorite in your recipe rotation.











