This is not a P.F. Chang’s copycat recipe because, funny enough, I’ve never actually eaten at a P.F. Chang’s. These Vegetarian Lettuce Wraps are a protein-forward, vegetarian adaptation of Fu Pei Mei’s recipe, with 18 grams of protein per serving and plenty of savory flavor and crunch.
Fu Who? Fu Pei Mei was Taiwan's first celebrity TV chef, and in my opinion, she belongs in the same legendary conversation as the Chinese family behind P.F. Chang's (especially Philip Chiang's mother). This recipe is simple to make, whether you serve it as a satisfying appetizer or a filling meal!

Did you know the main protein for the original lettuce wrap recipe was minced pigeon? Lettuce wraps, or sometimes called san choy bow in Cantonese, are said to have come from the Machu people, who have an affinity for hunting and enjoy the taste of wild pigeons.

My version swaps in Textured Vegetable Protein (TVP), egg, and edamame for a satisfying vegetarian filling, and I use fresh jicama for crunch instead of canned water chestnuts. The result is a fresh, savory, protein-forward dish.


Recipe Testing Notes
- Dark soy sauce in the sauce is a must! I tested this recipe multiple times, and across all the variables I tried, dark soy sauce in the sauce was the key differentiator.
It gives the dish not only a dark, rich brown color, but also a deeper, more savory flavor that neither regular Japanese soy sauce nor reduced-sodium soy sauce comes close to. The Woks of Life has an in-depth article about dark soy sauce that echoes my sentiment.
All that being said, however, I would not use dark soy sauce as part of the TVP marinade, as it would make the whole dish too dark.
- Air-fried mung bean noodles were a flop! To save on calories, I tried air-frying mung bean noodles (what I had at home) to emulate the crispy, fried rice noodles.
The first time, I tried air frying them without oil; the second time, I used 1 Tablespoon of oil. Both came out terrible, lol! If you told me they were plastic strips, I would have believed you. (Testing using actual rice noodles pending.)
However, egg noodles work wonderfully (they remind me of the crispy Japanese ramen snack)! I did not include them for aesthetic reasons, but see the recipe notes for how to make them.
- Omit the cornstarch! I tried both having and not having cornstarch (part of Pei Mei's recipe), and not having it did not seem to make a difference. So, I am leaving it out of this recipe.
What Is TVP and Why Use It?
Textured Vegetable Protein (TVP) is defatted soy flour. It's protein-packed, cost-effective, shelf-stable (I use Bob's Red Mill's TVP, and it has a 1.5-year shelf life from the manufacture date), has a meaty texture once rehydrated, and takes on flavoring really well. In an effort to increase the protein content per serving in my Vegan Mapo Tofu, I compared it against five other plant-based protein candidates, and TVP was the winning pick!
Key Ingredients
Find the complete list of ingredients with measurements on the recipe card below.
Jump to Recipe
- The "Meat" - Textured Vegetable Protein (TVP) and nutritional yeast. Nutritional yeast is very un-Chinese, but trust me on this one! I learned how to use it when I was vegan, and have since kept it in my pantry because I love its savory, umami taste, which is useful in mimicking the "meat" taste.
- The Marinade - Water, reduced-sodium soy sauce (you can use regular soy sauce), sugar, and Shaoxing wine. I would not skip using Shaoxing wine unless you are not able to consume alcohol.
- Egg - I tried using only the yolk (per Pei Mei's recipe) as well as the whole egg, and I couldn't tell the difference, so whole egg it is! Omit it to make this recipe vegan.
- Peas and Shelled Edamame - They add a nice contrast of dark and light green to the dish, as well as some protein.
- The Aromatics - Onions and shiitake mushrooms.
- Jicama - I love how crunchy water chestnuts are, but I prefer fresh whenever possible! If jicama is not readily available for you, use water chestnuts or bamboo shoots, as written in Pei Mei's recipe.
- The Sauce - Water, dark soy sauce, sesame oil, and black pepper. Dark soy sauce is a must, as mentioned above in the Recipe Testing Notes section.
- Salt - Personally, I find the recipe to be just fine as is (i.e., no salt), but my taste tester (aka my fiancé) prefers it to be a little more salty. So, to taste!
- Lettuce - Use any lettuce you like, as long as it can hold the filling! I like using Little Gem Lettuce because they are more bite-sized.
- Green Onions - Sprinkle onto your lettuce cups as garnish!
How To Make These Vegetarian Lettuce Wraps
Here is a quick visual rundown! Find the full instructions with ingredients below.
Jump to RecipePreparation

Step 1: In a mixing bowl, add Textured Vegetable Protein (TVP) and nutritional yeast.

Step 2: Mix until combined.

Step 3: Add the marinade liquid and mix well. Then, add the beaten egg mixture and mix until combined.

Step 4: Let it sit for 10 minutes to rehydrate.

Step 5: While you wait for the TVP to rehydrate, prepare the other ingredients: dice onions, shiitake mushrooms, and jicama; have the shelled edamame and peas ready; and make the sauce.
Cooking

Step 1: First, stir fry the onions on medium-high heat.

Stir fry until they are soft and translucent, about 3-4 minutes.

Step 2: Then, add shiitake mushrooms.

Stir fry until they are soft, about 1-2 minutes.

Step 3: Turn the heat to high, add the marinated TVP.

Stir fry until the moisture has mostly evaporated, about 2-3 minutes.

Step 4: Add shelled edamame, peas, and jicama.

Mix everything with your spatula.

Step 5: Finally, add the sauce.

Stir fry until everything is evenly browned, before turning off the heat, about 1 minute.

Protein-Forward Vegetarian Lettuce Wraps (TVP, Egg, Edamame)
Equipment
- 1 small saucier or saucepan for making TVP marinade liquid
- 1 wok or large skillet I use a 12-inch (30-cm) wok
Ingredients
For the Filling: TVP & Marinade
- 1 Cup Textured Vegetable Protein (TVP)
- 2 Tablespoons Nutritional Yeast
- ½ Cup Water
- 1 Tablespoon Soy Sauce I use reduced-sodium
- ½ teaspoon Sugar
- 2 Tablespoons Shaoxing Wine
- 1 Whole Egg beaten
For the Rest of the Filling
- 1 Tablespoon Cooking Oil I use peanut oil
- 1 cup Onions diced
- 1 cup Shiitake Mushrooms diced
- 1 cup Jicama diced
- 1 cup Peas frozen or fresh; make sure to soak frozen peas in hot water or boil fresh peas before use
- 1 cup Shelled Edamame
For the Sauce
- 1 Tablespoon Water
- 1 Tablespoon Dark Soy Sauce I use the Pearl River Bridge brand
- 1 Tablespoon Sesame Oil
- ¼ teaspoon Black Pepper
- Salt to taste
For Assembly and Serving
- 1-2 heads Little Gem Lettuce use any lettuce you like, as long as it can hold the filling
- 1-2 stalks Green Onions for garnish; optional
Instructions
To Rehydrate and Marinade the TVP
- In a mixing bowl, add 1 Cup Textured Vegetable Protein (TVP) and 2 Tablespoons Nutritional Yeast, then mix until combined.
- In a small saucepan or saucier, add ½ Cup Water, 1 Tablespoon Soy Sauce, and ½ teaspoon Sugar, then bring to a boil. Once boiling, turn off the heat, add 2 Tablespoons Shaoxing Wine, and gently mix. You can also use a water kettle and a small mixing bowl instead.
- Pour the marinade liquid over the TVP, mix until well combined. In a separate bowl, crack and beat 1 Whole Egg, then add it to the TVP. Let it sit for 10 minutes to rehydrate.
To Prepare the Other Filling Ingredients
- While you wait for the TVP to rehydrate, dice 1 cup Onions, 1 cup Shiitake Mushrooms, 1 cup Jicama, and have 1 cup Peas and 1 cup Shelled Edamame ready.
To Prepare the Sauce
- In a small bowl, add 1 Tablespoon Water, 1 Tablespoon Dark Soy Sauce, 1 Tablespoon Sesame Oil, and ¼ teaspoon Black Pepper, then mix well.
To Cook the Lettuce Wrap Filling
- Heat a wok on medium-high heat, add 1 Tablespoon Cooking Oil and 1 cup Onions (diced). Stir fry the onions until they are soft and translucent, about 3-4 minutes.
- Add 1 cup Shiitake Mushrooms (diced) and stir fry until they are soft, about 1-2 minutes.
- Turn the heat to high, add the marinated TVP and stir fry until the moisture has mostly evaporated, about 2-3 minutes.
- Add 1 cup Jicama, 1 cup Peas, 1 cup Shelled Edamame, and mix everything with your spatula.
- Add the sauce and stir fry until everything is evenly browned before turning off the heat, about 1 minute.
- Taste test and see if the dish needs more Salt.
To Assemble and Serve
- Spoon the filling into lettuce cups and garnish with green onions.
Notes
- Air-Fried Egg Noodles:
- Cook a bundle of noodles per the package instructions.
- Drain well, place the noodles in a stainless steel or silicone tray, and mix in 1 Tablespoon of oil (I like to use sesame oil).
- Use food-grade scissors to cut the noodles into shorter sections (they will be harder to cut when they are crispy).
- Place the tray in the air fryer and air fry the noodles at 385 °F (196 °C) for 15 minutes, checking 1-2 times in between and rearranging the noodles for even browning.
- Nutrition calculated does not include lettuce or green onions.
- Each Tablespoon of filling is about 15-25 g, and each Little Gem Lettuce holds about 1-2 Tablespoons of the filling; each serving (175 g) makes about 8-12 Little Gem Lettuce wraps.
Nutrition
Nutrition is hand-calculated using Cronometer, and should be treated as an estimate only. Values can vary based on the ingredients, brands, and quantities you use. For the most accurate results, please calculate the nutrition using the exact ingredients you use, or consult a qualified healthcare professional or registered dietitian.

KK says
This is a very complete and considerate recipe, not just how to cook but covering the nutrition , the size of the dish we try to serve, so considerate, great recipe ! Thank You !