Vegan Lettuce Wraps

These PF Changs veggie lettuce wraps deliver flavor-infused tofu served in cups of lettuce. Enjoy this tangy vegetarian recipe for your next low-carb or vegan keto meal. Based on the PF Changs recipe, these wraps are loaded with plant-based protein, veggies, and more.

A platter of veggie lettuce wraps filled with tofu filling and sitting next to a bowl of dipping sauce.

Looking for more vegan Asian-inspired dishes? Check out this Crispy Orange Tofu or this Miso Tofu. Both are perfect served over low-carb noodles.

I’ve been a fan of lettuce wraps before I could even eat them. It seemed like our local restaurants only served them with chicken and so I had to be a bystander to this dish. I’m not one to sit on the sidelines for long. So, now I make my own veggie lettuce wraps, and they’re the best!

Why This Recipe is a Winner

  • FLAVORFUL — Tofu is cooked in a skillet with sesame oil, creating a flavorful base for the filling
  • TEXTURE — Veggies add crunch and authentic flavors to every bite
  • HEALTHY — Lettuce cups make this a low-carb recipe that’s both filling and delicious
A close up of several vegetarian lettuce wraps filled with veggie filling next to a bowl of dipping sauce.
A block of extra firm tofu sits on a white plate.

What Tofu is Best?

Use firm or extra-firm tofu because it has a compact texture that produces the best mouthfeel. Tofu will soak up the seasonings it’s cooked with. Pressing it to remove the packing water makes way for the flavors you’re about to cook it with. To press tofu, wrap it in a kitchen towel and place something heavy on it, like a pan or use a tofu press (paid link).

What You Need

You can find the full printable recipe, including ingredient quantities, below. But first, here are some explanations of ingredients and steps to help you make this recipe perfect every time.

Here are the ingredients you’ll need to make this recipe:

  • Oil — Sesame or olive oil.
  • Tofu — Here’s my guide on how to buy tofu, including where to find it in the grocery store.
  • Onion — Yellow or white onion.
  • Tamari — Substitute soy sauce.
  • Rice vinegar — Mild vinegar is perfect for lettuce wraps.
  • Garlic — Use 2 cloves of garlic. Substitute cloves from garlic confit.
  • Water Chestnuts — Use canned water chestnuts or chopped radishes.
  • Cabbage — Red or green cabbage.
  • Bell Peppers — Red, orange, or yellow bell peppers.
  • Almonds — Chopped almonds or peanuts.
  • Lettuce — Use utter lettuce for this veggie lettuce wraps recipe. Substitute romaine or iceberg.
  • Almond butter — Substitute peanut butter or tahini.
  • Spices — Add ginger and garlic powder.

Frequently-Asked Questions

What is the Best Lettuce for Lettuce Wraps?

There are a number of lettuces you can use for lettuce wraps, including iceberg, green leaf, Boston, and butter lettuces. The preferred lettuce is iceberg because it’s crisp and holds its shape well. The second best is butter lettuce because it’s softer than iceberg and therefore easier to roll up.

Are PF Changs Lettuce Wraps Vegan?

PF Chang’s Lettuce Wraps are made with seared tofu, green onions, water chestnuts, and other seasonings and fillings. As of this writing, they are safe for vegetarians and vegans to eat. However, recipes change so always check with your server.

Storage Tips

Store the filling in an airtight container in the fridge for up to 5 days. I do not recommend this recipe for freezing, as it changes the texture of the tofu.

Quick Fix Tip

Substitute store-bought Hoisin sauce for the almond sauce recipe below. However, homemade has more vibrant, fresh flavor. Read the labels of any sauce you buy to make sure they’re made without fish sauce.

Note: If you’re using this recipe as part of a low-carb or keto diet, you may wonder is tofu keto-friendly? It’s a great question! The good news is, tofu is high protein and low-carb so it’s perfect to be a part of your low-carb vegan diet.

Marly’s Tips

  • Press tofu by wrapping it in a kitchen towel and placing it on a plate with something heavy on the top for 30 minutes to an hour or use a tofu presser.
  • Substitute soy sauce for the sauce in this recipe.
  • Adapt the seasonings to suit your personal taste preferences. For example, add more tamari for a richer flavor or add hot sauce if you prefer it spicy.

Asian Vegan Recipes

If you love these vegan lettuce wraps, you’re ready to try even more vegan Asian recipes:

A lettuce cup is filled with a tofu mixture. It sits on a white tray next to more lettuce cups and a dipping sauce.

I hope you enjoy these veggie lettuce wraps as much as we do!

A platter of lettuce wraps filled with veggie filling and sitting next to a bowl of dipping sauce.

Vegan Lettuce Wraps

You're going to love these vegan lettuce wraps served with a tasty dipping sauce. This 30-minute dish is made with lots of healthy and flavorful ingredients too.
5 from 6 votes
Course: Main Course
Cuisine: Asian
Prep Time: 10 minutes
Cook Time: 20 minutes
Total Time: 30 minutes
Servings: 4
Calories: 238kcal


  • 2 tablespoons sesame oil (see note)
  • 15 oz extra firm tofu, drained
  • 1 onion, diced
  • 3 tablespoons tamari
  • 1 tablespoon rice vinegar
  • 2 cloves garlic, minced
  • 2 tablespoons water chestnuts
  • ¼ cup red cabbage, chopped
  • ¼ cup red peppers, chopped
  • 2 tablespoons almonds, chopped
  • 1 head butter lettuce

Almond Butter Sauce

  • 2 tablespoons almond butter
  • 1 tablespoon tamari
  • 1 teaspoon garlic powder
  • 1 teaspoon ground ginger
  • 1 teaspoon rice vinegar


  • Heat sesame oil in a skillet over medium-high heat. Break the tofu into chunks and add to the skillet. Use a spatula to continue breaking the tofu down into a crumbly mixture. Cook tofu until browned, about 10 minutes.
    Tofu is in a skillet and a hand holds a spatula breaking the tofu into smaller pieces.
  • Stir in onion, tamari, and rice wine vinegar. Cook until onions are tender, about 5 minutes. Stir in chopped garlic, water chestnuts, red pepper, cabbage, and almonds. Cook a few more minutes, until the peppers are slightly tender.
    Tofu filling with veggies is in a skillet and a hand holds a spatula stirring it.
  • Prepare the almond butter sauce by combing the ingredients and stirring. Add half of the sauce to the skillet with the tofu mixture, stirring it to ensure all the pieces are coated.
  • To serve, scoop a spoonful or two of the veggie tofu mixture into the center of each butter lettuce leaf. Serve with reserved almond butter sauce or sauce of your choice.

Recommended Equipment

(The products above contain sponsored links to products we use and recommend)


Oil — substitute olive oil for sesame oil.
Carbs — If you’re not worried about carbs, adding something sweet (like maple syrup or blackberry jam) to the almond sauce adds extra flavor.
Calories: 238kcal | Carbohydrates: 11g | Protein: 13g | Fat: 16g | Saturated Fat: 1g | Sodium: 1081mg | Potassium: 493mg | Fiber: 3g | Sugar: 4g | Vitamin A: 1705IU | Vitamin C: 20.1mg | Calcium: 100mg | Iron: 2.8mg

The nutrition information shown is an estimate provided by an online nutrition calculator and should not be considered a substitute for a professional nutritionist’s advice.

This post was originally published in 2015 and was updated to include new photos, new text, and an updated recipe in 2021.

9 Responses to Vegan Lettuce Wraps

  1. Avatar thumbnail image for MarlyCindy Reply

    This recipe looks great, but I must comment about your use of sesame oil to saute the tofu. Sesame oil is for flavoring after cooking. It’s not safe to heat at high temps. Best to use neutral flavored oil that is safe for high heat cooking. I like avocado oil. It’s safe at high temp and healthy

    • Avatar thumbnail image for MarlyMarly

      Hi Cindy
      Thanks for your comment! I added a note so that folks can swap out olive oil if they prefer.

  2. Avatar thumbnail image for MarlyToni Reply

    5 stars
    I am doing the Daniel Fast during Lent and I have been looking for recipes that would fit the guidelines of the fast. This was also my first time cooking with tofu and I was quite skeptical. I tweeked the recipe a little and fell in love with the results. These lettuce wraps were truly amazing!

  3. Avatar thumbnail image for MarlyXuhi Reply

    5 stars
    I’m pinning and making!Love this recipe.easy and simple .i will definitely try it. One of our families favorite dinners! So easy and it tastes delicious! Thanks for a great recipe!

    • Avatar thumbnail image for MarlyMarly

      Thanks Xuhi! So glad you like this recipe!

  4. Avatar thumbnail image for Marlysusan Reply

    I made this tofu lettuce wrap tonight and it was delicious. I did not read the recipe, carefully, and I threw the Blackberry Hoisin in, while it was cooking, instead of adding it as a sauce at the end, but I think I like it that way. Also, is rice wine vinegar the same as rice vinegar? It was called for twice, and I did not know what to do, so the first time I used rice vinegar and the second time I used mirin. 3rd thing (there is no end of me, is there?), the blackberry jam has teeny seeds, so you might want to warn people that if they feel an occasional gritty thing, it is not dirt from the lettuce, as I had feared I had not washed my lettuce well enough, until I realized it was seeds. Anyway, I loved the dish and will make it again.

    • Avatar thumbnail image for MarlyMarly

      5 stars
      Susan, thanks for your comment! First, let me say I’m so glad you liked these vegetarian lettuce wraps! It’s one of my favorites too! I used rice vinegar. However, I think mirin would be quite tasty in this recipe as well! And I also added a note – thanks to you – about the seeds in the blackberry jam. Sometimes I like to say it takes a village to create a recipe. Thanks for your contributions!

  5. Avatar thumbnail image for MarlySy Reply

    5 stars
    I love vegan food! Esp raw 😀

    • Avatar thumbnail image for MarlyMarly

      Well, these veggie lettuce wraps aren’t raw, but I did transform them into low carb!

Rate / Comment

Your email address will not be published.

Recipe Rating

This site uses Akismet to reduce spam. Learn how your comment data is processed.