I love a red, glossy, Chinese restaurant-style mapo tofu, but I don't know if it loves me back. 😩 So, I crafted a Vegan Mapo Tofu that is low in grease and high in protein (27 g per serving!), while staying as authentic and whole-food focused as possible.
This recipe makes 5 servings, great for making at the beginning of the week and eating throughout the week, or perfect for meal prepping!

ATTN: Tofu Lovers
If you looove tofu as I do and are protein-conscious, then you should try my Easy Braised Tofu! It comes together in under an hour, with mostly hands-off cooking and simple Trader Joe’s ingredients... not to mention almost 25 g of protein per serving!
If you want something silky and smooth, then try my Umami Silken Tofu and Silken Tofu with Century Egg ... especially if you are not in the mood for cooking!
What Is TVP and Why Use It?
Textured Vegetable Protein (TVP) is defatted soy flour.
Traditionally, mapo tofu is made with either ground beef or ground pork. Shiitake mushrooms used to be my go-to sub for ground meats in various Chinese recipes, but now that I am more mindful of my daily protein intake, I want every ingredient and meal to be intentional and impactful. And I hope that if you are here, that's what you want, too!
While researching how to make vegan mapo tofu higher in protein, I came across a "hack" on Reddit to quickly tell whether a food is high in protein.
I like to use the reverse of what the author suggests: When looking at the nutritional content of an item, take the last digit of the calories per serving off, and compare it with the grams of protein per serving. If the protein number is higher than the adjusted calorie number, the food is relatively high in protein, and vice versa. (Note: this does not take into account protein quality, though.)
For example, one serving of Lightlife's Original Tempeh has 150 calories and 18 g of protein. Take off the last digit of the calorie number, 150, is 15, and since the protein number, 18, is higher than 15, this tempeh would be considered "high-protein" per this hack.
While I am not a registered dietician or nutritionist, I have a basic understanding of vegetarian nutrition and macro counting, and this seems to be a useful quick hack, anecdotally.

To mimic the texture and protein content of beef or pork, I considered various plant-based protein sources that are "high-protein" using the above "hack": store-bought seitan like Upton's Traditional Seitan, TVP like Bob's Red Mill's TVP, vegan ground meats like Impossible's Plant-Based Beef Lite, Beyond Beef, or Abbot's Ground Beef, and unflavored tempeh like Lightlife's Original Tempeh (I considered super firm tofu but it barely passes the "hack" test, so it was crossed off).

TVP turned out to be the best candidate because it is protein-packed (13 g per ¼ cup/25 g serving), cost-efficient, shelf-stable, has a meaty texture once rehydrated, easy to flavor…aaand it goes SO well in mapo tofu! It is made from soy (I understand some people have a soy allergy or are avoiding soy), but if you are already eating tofu, TVP couldn't be a better candidate in my opinion.
What Type of Tofu Should I Use?
Instead of silken tofu, which forms directly in its container using coagulant agents (i.e., hard to take out unless you slice off the four corners of the packaging), soft tofus, which are pressed blocks soaked in water, are traditionally used in mapo tofu.
I have made mapo tofu with silken tofu, soft tofu, and firm tofu (not extra firm)…aaand they all taste great! If you want more protein per meal, go for soft or firm tofu. Plus, they are way easier to handle. If you like creamy and can handle, and are ok with, tofu cubes that break very easily, go for silken tofu.
And the KEY to less tofu breakage during cooking is to boil the tofu cubes in salted water (i.e., strengthening the tofu structure through osmosis).
Recipe Testing Notes
- Start small with chili (broad) bean paste or doubanjiang. Different chili bean pastes taste different, and some can be really salty; I've made the recipe with Lee Kum Kee's Sichuan-Style Broad Bean Sauce, and the dish turned out super salty. For that reason and in the spirit of keeping the dish as whole-food as possible, I prefer to use Lian How brand's Hot Broad Bean Sauce (which has a metallic orange label).

Its ingredient list is short and readable, it is not super salty, and it should be widely available in the US (let me know in the comments if otherwise!). It has vinegar, which is not usually used in mapo tofu, but it doesn't take away from the finished dish.
All that to say, if you can't find the exact chili bean paste that I'm using for this recipe (i.e., Lian How's Hot Broad Bean Sauce), start with one level Tablespoon of the chili bean paste you have and adjust accordingly.
- I left out fermented black soybeans and didn't miss them. Traditionally, finely chopped fermented black soybeans are part of the base mapo sauce. I didn't use much and did not see a huge difference with the extra work. I left it out in a second test, didn't miss it, decided not to include it for simplicity, and verified it in a third and fourth test.
Fry some Sichuan peppercorns first to enhance the oil. Since we are not using real ground meats, which have fat and their own aroma when cooked, the flavors in my first try, where I didn't infuse the oil with peppercorns, turned out to be flat. I decided to infuse the cooking oil first with Sichuan peppercorns in a second try, and I found that doing so helps to distribute the sweet and nutty peppercorn aroma subtly throughout the dish.
Add umami to the TVP by adding Shaoxing wine and nutritional yeast. I learned how to use nutritional yeast to make cheesy sauces when I was vegan, and have since kept it in my pantry because I love its savory and umami flavors. Shaoxing wine is normally used when cooking meats, so why not for vegan "meats"? I tried, and it turned out amazing! (Obviously, skip if you are not able to consume alcohol.)
Key Ingredients
Find the complete list of ingredients with measurements on the recipe card below.
Jump to Recipe
Tofu: Use soft or firm tofu, as they are easier to handle and help with making the dish higher in protein.
TVP & Flavoring Marinades (Soy Sauce, Shaoxing Wine, Nutritional Yeast, and Sugar): Nutritional yeast is VERY non-traditional, but trust me on this one! It gives the TVP some oomph. Rehydrating and marinating the TVP is KEY to making it taste more meat-like.
Chili (Broad) Bean Paste or Doubanjiang: Doubanjiang from Pixian County of Sichuan Province is the most traditional fermented chili bean paste to use. But in case they are not readily available, look for any chili bean paste that has either chili or broad beans (fava beans) as its first ingredient. Some chili bean pastes are really salty, so start with one level Tablespoon to be safe when cooking and adjust accordingly.
Sichuan Peppercorn: You might find both green and red Sichuan peppercorns at your local Asian grocery store; go for the red ones! They are traditionally used in mapo tofu recipes and are supposedly less numbing.
Chinese Chili Powder or Korean Gochugaru: I found them to be very similar in texture and taste, so I use them interchangeably. I would not use chili flakes.
Cornstarch Slurry: Not only are we adding water to make the mapo sauce, but the tofu cubes also release water into the sauce while cooking. Cornstarch slurry thickens and allows the mapo sauce to coat all the tofu cubes, and gives the dish a little glossy finish.
How To Make This Vegan Mapo Tofu
Find the full instructions with ingredients on the recipe card below.
Jump to RecipePreparation

Step 1: Mix TVP with nutritional yeast.

Step 2: In a small saucier or saucepan, boil water, soy sauce, and sugar. Once boiling, add Shaoxing wine and turn off the heat.

Step 3: Pour the mixture over TVP.

Step 4: Mix thoroughly and let the TVP sit for 5-10 minutes to rehydrate and marinate.

Step 5: In a pot, add water, salt, and tofu cubes.

Step 6: Bring the water to a boil, then let it simmer for 3 minutes. After 3 minutes, turn the heat off, and keep the tofu in water until they are to be cooked.

Step 7: In a wok or large nonstick skillet, toast Sichuan peppercorns on low heat, stirring often, until aromatic, slightly darkened, and shriveled.

Step 8: Add the toasted Sichuan peppercorns into an electric spice grinder or a mortar-and-pestle, and grind to powder.

Step 9: Use a fine mesh strainer or a sieve to sift through the ground Sichuan peppercorns.

Step 10: Keep the sifted powder and discard any husks.
Cooking

Step 1: Using the same wok or skillet, heat oil and Sichuan peppercorns on high heat until aromatic, about 2 minutes.

Step 2: Turn the heat to low, take out the fried peppercorn kernels, and discard.

Step 3: Turn the heat to medium-high, and add the TVP.

Step 4: Fry the TVP, for 3-4 minutes, until the moisture is evaporated and slightly browned.

Step 5: Add ginger, garlic, scallions (white parts), chili powder or gochugaru, and hot broad bean sauce; give everything a good mix.

Step 6: Add water, sugar, ⅓ of the ground Sichuan peppercorns, and tofu cubes.

Step 7: Give everything a few gentle stir and let the water come to a boil. Once boiling, turn the heat to medium-low and let simmer for 5 minutes.

Step 8: Add ⅓ of the slurry mixture and gently stir everything for 15 seconds. The sauce will thicken slightly.

Step 9: Add ½ of scallions (green parts), the second ⅓ of the Sichuan peppercorns ground, and the second ⅓ of the slurry mixture. Gently stir everything for 15 seconds. The sauce will thicken a lot more than in the first round.
Save and use the remaining ½ of green scallions, as well as the remaining ⅓ of ground Sichuan peppercorns, as garnish.

Step 10: Add the last ⅓ of the slurry mixture and gently stir everything for 15 seconds.
After adding the last bit of the slurry mixture, the sauce should thicken and coat the spatula. Give everything a gentle mix before turning off the heat.
Protein-Packed Vegan Mapo Tofu (With TVP, No Mushrooms)
Equipment
- 1 small saucier or saucepan for making TVP marinade liquid
- 1 pot for blanching tofu cubes
- 1 spice grinder for grinding Sichuan peppercorns
- 1 fine mesh strainer for sifting ground Sichuan peppercorns
- 1 wok or large skillet I use a 12-inch (30-cm) wok
Ingredients
For the Tofu
- 2 16 oz-pack soft or firm tofu cut into 1-inch (2.5-cm) cubes
- 32 oz water for blanching
- 1 Tablespoon salt for blanching
For the TVP
- 1 cup Textured Vegetable Protein (TVP)
- ½ cup water
- 1 Tablespoon soy sauce
- 1 Tablespoon Shaoxing Wine
- 4 Tablespoon nutritional yeast
- ¼ teaspoon sugar
For the Mapo Sauce
- 2 Tablespoons peanut oil or neutral cooking oil
- 3 Tablespoons Sichuan peppercorns roasted then ground
- 1 Tablespoons Sichuan peppercorns fry in oil then discard
- 3 stalks scallions (about 10 Tbsp) white parts minced, and green parts sliced (used separately)
- ¾ inch ginger (about 1 Tbsp) minced
- 6 cloves garlic (about 3 Tbsp) minced
- 3 Tablespoons chili powder or gochugaru
- 1-3 Tablespoons chili bean paste (doubanjiang) Note 1
- ½ teaspoon sugar
- 2½ cup water
For the Cornstarch Slurry
- 3 Tablespoons cornstarch
- 6 Tablespoons water
Instructions
- Mince ¾ inch ginger (about 1 Tbsp) and 6 cloves garlic (about 3 Tbsp) but not very finely, as bigger pieces help to enhance each bite.
- Separate the green and white portions of 3 stalks scallions (about 10 Tbsp). Slice the green portion into thin rounds, and roughly mince the white portion like the ginger and garlic.
- Cut the 2 16 oz-pack soft or firm tofu into 1-inch (2.5-cm) cubes.
To Rehydrate and Marinate the TVP
- In a mixing bowl, add 1 cup Textured Vegetable Protein (TVP), 4 Tablespoon nutritional yeast, and mix until combined.
- In a small saucier or saucepan, add ½ cup water, 1 Tablespoon soy sauce, ¼ teaspoon sugar, and bring to a boil. Once boiling, add 1 Tablespoon Shaoxing Wine and turn off the heat. Pour the mixture over TVP, mix thoroughly, and let it sit to rehydrate and marinate.
To Blanch the Tofu
- In a pot, add 32 oz water and 1 Tablespoon salt. Use a utensil to gently dissolve the salt before adding the tofu cubes. Bring the water to a boil, then let it simmer for 3 minutes. After 3 minutes, turn the heat off, and keep the tofu in water until they are to be cooked.
To Toast and Grind the Sichuan Peppercorns
- Heat a wok or a nonstick skillet over low heat. Add 3 Tablespoons Sichuan peppercorns. Toast, stirring the peppercorns often, for 2-3 minutes, until aromatic, slightly darkened, and shriveled. You don't want them to toast them too much, which can make them bitter.
- Add the toasted Sichuan peppercorns into an electric spice grinder or a mortar and pestle, and grind to powder. I prefer to use an electric spice grinder because the peppercorn husks are tough and hard to grind (and they might fly everywhere if you are using a mortar and pestle).
- Over a bowl, use a fine mesh strainer or a sieve to sift through the ground Sichuan peppercorns. Keep the sifted powder and discard any husks. You should get about half of what was toasted (e.g., 3 Tablespoons of untoasted Sichuan peppercorns should yield about 1.5 Tablespoons of fine, sifted powder).
To Make the Mapo Tofu
- Heat the same wok you used earlier over high heat. Add 2 Tablespoons peanut oil , 1 Tablespoons Sichuan peppercorns, and wait for the peppercorns to start sizzling, about 2 minutes. The peppercorns will release aroma, shrivel, and darken. Turn the heat to low, take out and discard the fried peppercorn kernels.
- Turn the heat to medium-high and add the rehydrated and marinated TVP. Fry the TVP, for 3-4 minutes, until the moisture is evaporated and slightly browned.
- Add ¾ inch ginger (about 1 Tbsp), 6 cloves garlic (about 3 Tbsp), scallions (white parts), 3 Tablespoons chili powder, and 1-3 Tablespoons chili bean paste (doubanjiang); give everything a good mix.
- Add 2½ cup water, ½ teaspoon sugar, ⅓ of the ground Sichuan peppercorns, and tofu cubes. Give everything a few gentle stir and let the water come to a boil.To keep the tofu cubes intact while stirring, use the back of your spatula and push from the edge of the wok to the middle of the wok, and repeat that from different angles. Once boiling, turn the heat to medium-low and let simmer for 5 minutes.
- While you wait for the water to boil, in a small bowl, mix 3 Tablespoons cornstarch and 6 Tablespoons water to make the slurry mixture. Cornstarch and water tend to separate as time passes, so make sure the slurry is fully combined and not separated before using.
- Add ⅓ of the slurry mixture and gently stir everything for 15 seconds. The sauce will thicken slightly.
- Add ½ of the chopped scallions (green parts), the second ⅓ of the Sichuan peppercorn ground, and the second ⅓ of the slurry mixture. Gently stir everything for 15 seconds. The sauce will thicken a lot more than in the first round. Save and use the remaining ½ chopped green scallions and remaining ⅓ ground Sichuan peppercorns as garnish.
- Add the last ⅓ of the slurry mixture, and gently stir everything for 15 seconds. After adding the last bit of the slurry mixture, the sauce should thicken and coat the spatula. Give everything a gentle mix before turning off the heat.
To Store Leftovers
- You can store any leftovers in an airtight container and store in the refrigerator for up to 5 days.
Notes
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.





Comments
No Comments