Vegan San Choy Bau Lettuce Cups

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.

Photo of 4 lettuce leaves with vegan san choy bau filling inside, placed on a blue-grey oblong plate with pan in the background and a chinese dish of hoisin sauce to the side.

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.

Overhead photo of vegan san choy bau in lettuce leaves on a blue-grey oblong plate on a jute mat underneath.

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.
Photo of vegan san choy bau filling cooked in a wok, with a plate of lettuce leaves to the side and some lime wedges.

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.
Photo of all the ingredients to make Vegan San Choy Bau.

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.
Photo of stir-frying garlic, ginger, mushrooms and spring onions.
1. Stir-fry garlic, ginger, mushrooms and spring onions.
Photo of stir-frying vegan san choy bau after carrot, baby corn and celery added.
2. Add carrot, celery and baby corn.
Photo of stir-frying vegan san choy bau after tofu and water chestnuts added.
3. Add tofu, water chestnuts and sugar snap peas.
Photo of sauce being added to the san choy bau mixture in the pan.
4. Add the sauce and simmer until glossy.

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.

Photo of a bowl of lettuce leaves soaking in iced water.
1. Soak the lettuce leaves in iced water for 5 minutes.
Photo of lettuce leaves drying on kitchen towel.
2. Dry on kitchen towel and refrigerate until serving.

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.

Photo of a hand holding a lettuce leaf filled with vegan san choy bau filling.

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

Which is the best type of lettuce to use for Chinese lettuce wraps?

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.

How long can you store leftover san choy bau filling?

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 📖

Photo of 4 lettuce leaves with vegan san choy bau filling inside, placed on a blue-grey oblong plate with a chinese dish of hoisin sauce to the side.

Vegan San Choy Bau

These vegan Chinese lettuce wraps are filled with finely chopped tofu, vegetables, water chestnuts and a glossy savoury sauce. They are fresh, crunchy, flavourful and easy to serve as a starter or family meal.
Prep Time 15 mins
Cook Time 15 mins
Total Time 30 mins
Servings: 4
Author: Camilla Sanderson

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

Calories: 200kcal | Carbohydrates: 18g | Protein: 10g | Fat: 11g | Saturated Fat: 1g | Fiber: 2g | Sugar: 7g

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.

  • photo of a wok containing vegan chinese green beans and tempeh recipe on a butcher block surface
    Quick and Easy Chinese Green Beans with Tempeh Recipe (Vegan)
  • Close-up photo of a shallow Chinese bowl filled with homemade hoisin sauce and a Chinese ceramic spoon, all on a jute mat with bamboo steamer and chop sticks in the background.
    Homemade Hoisin Sauce (Gluten-Free)
  • photo of a blue oblong plate filled with crispy air fried tofu with spring onion sprinkled on top and a bowl of kimchi sauce in the background.
    Crispy Air Fryer Tofu with Chia Seeds
  • Photo of thai basil vegan stir fry with white rice in a dark grey bowl on a wooden table with the pan in the background and cutlery.
    Thai Basil Vegan Mince Stir-Fry