These Chinese lettuce wraps, also known as vegan san choy bau, are fresh, flavourful and surprisingly easy to make at home. Crisp lettuce leaves are filled with a savoury tofu and vegetable stir-fry, then finished with a glossy Chinese-style sauce. They work beautifully as a fun family dinner, a light lunch, a party starter or a dish for a Chinese New Year celebration. This vegan san choy bau recipe is also gluten-free and nut-free when you choose suitable sauces, making it a useful option when cooking for guests with different dietary needs.

San choy bau is a Cantonese dish often served as a starter in Chinese restaurants around the world. It is also called san choi bow or Chinese lettuce wraps. The traditional version is usually made with a savoury minced pork filling wrapped in cold, crisp lettuce leaves. This vegan version keeps the same contrast of hot, aromatic filling and fresh lettuce, but uses tofu and vegetables instead.
One of the best things about san choy bau is the texture. The chilled lettuce is crisp and refreshing, while the filling is warm, savoury and fragrant with garlic, ginger, tamari, hoisin and toasted sesame oil. Water chestnuts are especially important because they add a juicy crunch that makes the filling feel more authentic. Their flavour is gentle and fairly neutral, so they are mainly there for that distinctive bite.
This homemade vegan san choy bau uses extra-firm tofu instead of pork mince and includes plenty of finely chopped vegetables. The extra vegetables add colour, freshness and crunch, while the tofu gives the filling a satisfying texture and makes the dish feel more complete. Everything is chopped small so the mixture has a mince-like consistency that sits neatly inside the lettuce leaves.

Many vegetarian san choy bau recipes rely heavily on mushrooms, but this recipe uses tofu as the main protein. A small amount of shiitake mushroom is included for flavour, but the tofu is the key ingredient. If you do not enjoy tofu, you can use minced tempeh or your favourite plant-based mince instead.
Stir Frying Tips
The filling for vegan san choy bau is cooked as a quick stir-fry. For the best result, keep these simple tips in mind before you start cooking.
- Use a high heat. Stir-frying works best when the pan is very hot, allowing the ingredients to cook quickly while keeping their texture.
- Keep the ingredients moving. Stir often with a spatula or wooden spoon so everything cooks evenly without burning.
- Prepare everything first. Stir-frying happens fast, so chop the tofu, vegetables, garlic and ginger before the pan goes on the heat.
- Cut everything small. The filling should be easy to spoon into lettuce leaves, so aim for a fine, mince-like texture.
- Do not walk away from the pan. Once the stir-fry starts, it only takes a few minutes, and it needs your attention.

Tips for Prepping and Cooking Mushrooms
- Mushrooms act like little sponges, so avoid soaking or washing them in water. Too much moisture can make them soggy.
- Brush away any dirt with a pastry brush or a piece of kitchen towel instead of rinsing them.
- When adding mushrooms to the pan, stir immediately so the oil coats them evenly. If they sit in one place, they can absorb too much oil very quickly.
How to Prepare Tofu For This Recipe
If you are using extra-firm tofu, you may not need to press it. If you are using firm tofu, pressing it first will remove excess moisture and help it hold its shape in the stir-fry.
- Remove the tofu from the packet and drain away the liquid.
- Pat the tofu dry with kitchen towel and place it on a plate lined with fresh kitchen towel.
- Cover the tofu with more kitchen towel, then place another plate on top.
- Add a weight, such as tins of beans or a heavy pan, and leave it for at least an hour.
- Pour away any released liquid, pat the tofu dry again, then chop it into very small pieces.
Ingredient Notes
Veggie mixture
- Extra-firm tofu – Extra-firm tofu is easiest to chop into tiny pieces and gives the filling a satisfying bite. Firm tofu can also be used if it is pressed first. Plant-based mince is another option.
- Garlic and ginger – These create the aromatic base of the stir-fry. Grating the ginger finely helps it blend into the sauce and filling.
- Vegetables – Spring onions, shiitake mushrooms, carrot, baby corn, sugar snap peas and celery add colour, crunch and freshness. You can adjust the vegetable mix to suit your taste.
- Water chestnuts – These are essential for that classic san choy bau crunch. Drain them well and chop them small before adding them to the filling.
- Little gem or iceberg lettuce – Iceberg lettuce gives the most traditional crisp texture, but little gem lettuce is easier to separate into neat leaves and holds the filling well.

Sauce ingredients
- Cornstarch – This thickens the sauce and helps it cling to the tofu and vegetables. Without it, the filling may become too wet for lettuce wraps.
- Tamari – Tamari gives savoury depth and is a useful gluten-free alternative to soy sauce. Gluten-free soy sauce or coconut aminos can also be used.
- Rice wine vinegar – A little acidity balances the richness of the sauce. Mirin or apple cider vinegar can be used if needed.
- Brown rice syrup – This adds gentle sweetness. Maple syrup can be used as an alternative.
- Toasted sesame oil – Toasted sesame oil has a deeper flavour than plain sesame oil and adds a rich, nutty aroma.
- Hoisin sauce – Hoisin adds sweetness and savoury depth. Check the label if you need the recipe to be gluten-free, as many hoisin sauces contain gluten.
Please see the recipe card below for ingredient quantities.
How to Make Vegan San Choy Bow
This recipe comes together quickly once all the chopping is done. Prepare the sauce, tofu and vegetables before heating the wok or frying pan.
- Mix the sauce ingredients in a small cup or jug and set aside.
- Chop the tofu and vegetables into small, even pieces.
- Heat the oil in a wok or large frying pan.
- Stir-fry the aromatics, mushrooms and spring onions first.
- Add the remaining vegetables and tofu in stages so everything cooks evenly.
- Stir the sauce again, then pour it into the pan.
- Cook until the sauce is thick, glossy and coating the filling.
- Spoon into crisp lettuce leaves and serve immediately.




Please see the recipe card below for full instructions.
How To Get Lettuce Leaves Crisp
For the freshest lettuce wraps, soak the separated lettuce leaves in a bowl of iced water for 5 minutes. Drain them carefully, then pat dry with a clean tea towel or kitchen towel. Place the leaves on a plate lined with kitchen towel, cover with another piece of kitchen towel and keep them in the fridge until you are ready to serve. This helps the lettuce stay cold, crisp and refreshing.


Serving Suggestions
Vegan san choy bau makes a lovely starter because the lettuce cups look fresh and colourful on a platter. If you are using little gem lettuce, each leaf is usually a neat hand-held portion. Avoid overfilling the leaves if you want them to be easy to eat.
It also works well as a relaxed family meal. Place the hot tofu and vegetable filling in a bowl, arrange the lettuce leaves on a plate and let everyone build their own wraps at the table. If some people do not enjoy lettuce, serve the filling over rice instead. Adults can add chilli sauce or extra sesame seeds if they like a stronger flavour.

Variations
This recipe is easy to adapt, so use it as a flexible base for the vegetables and protein you enjoy most.
- Swap the vegetables for your favourites, but keep them finely chopped so the filling cooks quickly.
- Use plant-based mince instead of tofu for an even faster version.
- Serve the filling with rice, crackers or another grain instead of lettuce leaves.
- Add chilli sauce at the table if you want extra heat.
Leftovers
Leftover san choy bau filling is easy to turn into another meal. Store it in a sealed container in the fridge and use it within 3 days. Reheat it gently and serve with rice, noodles or a simple vegetable side. The filling can also be frozen for up to 6 months.
Vegan San Choy Bau FAQs
Iceberg lettuce is the most traditional choice because it is crisp and refreshing. However, the leaves can tear easily when separated. Little gem lettuce is less traditional but very practical because the leaves are easy to remove, naturally cup-shaped and comfortable to hold.
Store the filling in an airtight container in the fridge for up to 3 days. It can also be frozen for up to 6 months. Reheat thoroughly before serving.
📖 Recipe 📖

Vegan San Choy Bau
Ingredients
Sauce
- 1 tablespoon cornstarch, (mixed with 2 teaspoons water)
- 4 tablespoons water
- 1 tablespoon tamari
- 1 tablespoon hoisin sauce
- 2 teaspoons rice wine vinegar
- 1 teaspoon brown rice syrup
- 1 teaspoon toasted sesame oil
Stir-fry
- 1 block extra-firm tofu, (or firm tofu, pressed)
- 2 tablespoons grapeseed oil or another flavourless oil
- 2 garlic cloves, minced
- 1 cm piece ginger, grated
- 2 spring onions, thinly sliced
- 30 g shiitake mushrooms, chopped small
- 1 carrot (100g), grated
- 80 g baby corn, thinly sliced
- 60 g water chestnuts, drained and chopped small
- 60 g sugar snap peas, thinly sliced
- 30 g celery, chopped small
To serve
- iceberg or little gem lettuce leaves, separated
- spring onions, thinly sliced
- sesame seeds
Instructions
-
Make the sauce first. In a small jug or cup, mix the cornstarch with 2 teaspoons of water until smooth. Add the remaining sauce ingredients and stir well. Set aside.
-
Prepare the tofu and vegetables. Chop the tofu into very small pieces. Mince the garlic, grate the ginger, grate the carrot, thinly slice the spring onions, baby corn and sugar snap peas, and finely chop the mushrooms, water chestnuts and celery.
-
Heat the oil in a wok or large frying pan. When hot, add the garlic, ginger, spring onions and mushrooms. Stir-fry for 1 minute.
-
Add the carrot, celery and baby corn. Stir-fry for 2 minutes.
-
Add the tofu, water chestnuts and sugar snap peas. Stir-fry for another 2 minutes.
-
Stir the sauce again, then pour it into the pan. Stir constantly while it bubbles for about 2 minutes, until thick and glossy. Keep stirring to prevent lumps.
-
Taste and adjust if needed. Add more tamari, hoisin, rice vinegar, sesame oil or brown rice syrup to suit your preference. If the mixture is too dry, add a little water. If it is too wet, add a small amount of cornstarch mixed with water and cook gently until thickened.
-
Spoon the filling into lettuce leaves and garnish with sliced spring onions and sesame seeds.
Notes
- For very crisp lettuce leaves, soak them briefly in iced water, dry well and refrigerate until serving.
- Use plant-based mince instead of tofu if preferred.
- Press the tofu first if it is not extra-firm.
- Check that the hoisin sauce is gluten-free if required.
Nutrition
If you enjoy this vegan san choy bau recipe, save it for an easy Chinese-inspired lettuce wrap meal.
More Vegan and Gluten-Free Asian Recipes
If you like this vegan san choy bau, you may also enjoy other vegan and gluten-free Asian-inspired recipes such as Chinese green beans with tempeh, homemade gluten-free hoisin sauce, crispy air fryer tofu and Thai basil vegan mince stir-fry.
Quick and Easy Chinese Green Beans with Tempeh Recipe (Vegan)
Homemade Hoisin Sauce (Gluten-Free)
Crispy Air Fryer Tofu with Chia Seeds
Thai Basil Vegan Mince Stir-Fry