Say hello to this not-so-average Tofu Stir Fry! It’s bursting with incredible flavors, has everything you’d expect from a Chinese restaurant-style stir fry, and is quick and easy to make at home.
There are three layers in this vegan stir fry that make it so special: (1) Frozen, then thawed tofu is pan-fried until crispy and chewy, (2) crisp-tender vegetables, and (3) a flavor-rich sauce that makes each bit a little salty, savory, tangy, and a little sweet.
It’s flexible, too! Mix up the veggies, swap the tofu for tempeh, or serve it over noodles. There are plenty of ways to make this dish your own.
Why this recipe works
The tofu is the main protein in this vegan stir–fry. But instead of the standard squishy cubes, it really shines here.
I prefer to use frozen, then thawed tofu for 3 reasons:
1. The texture becomes more porous and chewy (kinda like meat);
2. The golden crust gets extra crunchy;
3. It better absorbs the delicious flavors from the spice crust and the stir fry sauce.
Each piece of tofu is coated in white pepper and five spice powder to add distinctive Chinese flavors that keep you coming back for more. It’s similar to salt and pepper tofu, and just as addictive.
A supercharged gourmet sauce.
There are just 6 ingredients in this vegan stir fry sauce but they’re high-impact ingredients that supercharge the sauce with flavor.
Soy sauce is the base, creating a deep and savory profile across the board. Hoisin sauce comes in next for a subtle sweetness.
Next, you need Chinese wine and rice vinegar for tang and balance. Chili sauce adds heat, but you can go easy on it. And brown sugar intensifies the salty, savory notes while mellowing the heat.
You end up with a sensational, out-of-this-world sauce you’ll want to bottle and keep on hand at all times.
PS: if the sound of a super flavorful and unique tofu dish sounds right up your alley, you’ll go crazy for this Chinese Braised Tofu!
It’s easy (and fun) to customize.
One of the great things about a stir fry is that there are so many ways to customize it. Have fun with this one.
Use your favorite veggies or swap for frozen in a pinch. Add extra spice to the tofu or extra chili sauce for a spicy version. Serve it over rice or noodles or even cauliflower rice! Check out the Tips section below for more customization options.
Extra-firm Tofu. When frozen and thawed, the tofu becomes chewier and it crisps up more when pan-fried. Plus, the spongy pockets mean it absorbs more flavor from the stir fry sauce. If you like a softer tofu, you can use firm tofu.
Soy sauce. It’s rare to find a Chinese stir fry recipe without soy sauce because it adds a deep savory richness.
Tip: If using traditional Chinese soy sauce (“light soy sauce”), use only 1 tablespoon to start as it’s saltier than standard grocery store soy sauce (e.g., Kikkoman soy sauce).
Hoisin Sauce. A thick salty-and-sweet condiment made from fermented soybeans, sugar, and flavorings like garlic, and chiles.
Where to buy: At well-stocked grocery stores, online, or pan-Asian grocery stores. The Lee Kum Lee brand is a tried and true vegan-friendly favorite. Use leftover sauce in other stir fries, marinades, noodle dishes, and with BBQ recipes.
Substitute: While we haven’t tried this recipe with a substitute for hoisin sauce, if you have access to vegetarian oyster sauce or kecap manis (you can find my homemade recipe for kecap manis in this post), those would probably work fine. If you’re feeling adventurous, you can try making your own hoisin sauce using this recipe from Chinese cooking blog, Omnivore’s Cookbook (use agave instead of honey to keep it vegan).
Shaoxing wine. This Chinese cooking wine is a traditional ingredient in many stir fries. According to the Chinese cooking blog The Woks of Life, it’s the key to authentic Chinese cooking. Here, it adds a rich, nutty, salty, but slightly sweet depth of flavor.
Where to buy: Buy a bottle online (affiliate link) or at pan-Asian and Chinese grocery stores.
Substitute: Use mirin, which is available at well-stocked grocery stores. It’s slightly sweeter, so use just 1 teaspoon brown sugar instead of 1 tablespoon. If you don’t have mirin either, use dry sherry.
Chili-garlic sauce. Look for the classic Huy Fong chili sauce (affiliate link) in the plastic bottle with a green lid. Use just a touch for a mild sauce, or up to 2 tablespoons for a spicy version!
Substitute: Sambal oelek works just as well. If using a chili sauce with sugar (e.g., Sriracha), use less brown sugar.
White pepper. This is essential for the traditional Chinese salt and pepper flavors. It’s brighter and sharper than black pepper, and a little fruity. It should be easy to find at most grocery stores.
Chinese five spice powder. A spice blend said to be a balance of the main flavors used in Chinese cuisine: sweet, sour, salty, bitter, and pungent. Most blends are made with cinnamon, cloves, fennel, star anise, and Sichuan peppercorns.
Here, it gives the fried tofu a uniquely warm, slightly sweet, and pungent flavor profile that is so unique.
Where to buy: You can find this blend at well-stocked grocery stores. However, if you’re unable to find it, go ahead and omit it.
Cornstarch. Cornstarch (1) slightly thickens the stir fry sauce, giving it a sticky texture that helps it cling to the vegetables; and (2) coats the tofu before frying to give it a crispy golden crust.
Substitute: You can use arrowroot powder instead.
Press the tofu. Use a tofu press or wrap the block in a thin towel, then weigh it down with heavy books or a skillet.
Meanwhile, stir the sauce ingredients together in a bowl and prep your veggies and aromatics.
Coat the tofu. Slice the tofu into 4 squares. Flip each square on its side and then slice into squares, about ⅓” wide.
Whisk the spices and cornstarch together in a small bowl. Sprinkle half on top of the tofu. Flip and sprinkle the other half of the spice mixture on top. Toss to coat.
Fry the tofu. Heat a wok over medium-high heat until you start to see light wisps of smoke. Add the oil and swirl it around to get it up the sides. Add the tofu and cook on one side until golden brown, then flip.
Transfer the fried tofu to a paper towel-lined plate and wipe out the pan.
Note: Don’t have a wok? Check out the notes in the recipe card below.
Cook the vegetables. Once the wok is on the heat and smoking again, add a little more oil, then the garlic and ginger. Next, add the sliced vegetables.
Stir fry for 1 ½ to 2 minutes, depending on the type of vegetable used. Pour in the sauce.
Stir fry for another 2 ½ minutes, then add any delicate vegetables, like bok choy greens until wilted. Add the cornstarch slurry and stir until thickened and glossy.
Off the heat, stir in the fried tofu, cilantro, sesame seeds, and sesame oil. Toss to coat. Serve over rice and enjoy.
Tips for making this recipe
Use defrosted tofu, if possible.
I highly recommend freezing and thawing the tofu for this recipe. It’s still very good with refrigerated tofu, but you’ll miss out on the chewy, meaty texture and crisp exterior.
When you buy tofu at the grocery store, buy an extra block and freeze it. Set a timer for 10 hours, then defrost.
That way, you can use defrosted tofu whenever you need it, like when making this East Asian Marinated Tofu or this Indian-inspired Tofu Curry.
Don’t skip the toasted sesame oil.
Just a drizzle at the ends a nutty richness and brings all the flavors together.
A wok will be your best friend.
A good quality wok will last you a lifetime and is the best tool when making homemade stir fry.
When using a carbon steel (or cast iron) wok, remember it: (1) heats up faster than standard pans; and (2) the pan must be heated until you see light wisps of smoke, then add the oil (otherwise, the tofu and aromatics will stick).
Want to learn more about cooking with a wok? Read this guide on woks from J. Kenji Alt. López, author of the best-selling cookbook, The Wok.
Don’t have a wok? Use a large nonstick frying pan and read the Notes in the recipe card below.
Double the salt and pepper tofu!
And double the stir fry sauce.
It takes just a few minutes to make and stores well in the fridge for at least one week, so you can toss together a tofu stir fry in even less time.
Meal prep and save time!
You can slice your vegetables, press and slice the tofu, and make the stir fry sauce 3 to 5 days ahead of time. Store them separately in the fridge. One the day of cooking, this stir fry will come together in no time.
How to customize the vegetables
We’ve tested this recipe with 8 different vegetables! Bok choy, bell peppers, broccoli, carrots, mushrooms, snap peas, snow peas, and green beans. All are great. You can also try canned baby corn or water chestnuts if you like those.
Pick what you like best or what you have on hand. I like to stick with 2 vegetables so each vegetable can shine brightly, but feel free to use more if you want.
Chop the vegetables appropriately
Hearty vegetables need to be sliced very thinly or julienned or else they won’t soften. Or, you can blanch these ahead of time and cut them into bigger pieces.
Broccoli: Chop very finely. Or, blanch first.
Carrots: Julienne or slice them paper thin on a mandoline. Or, blanch first.
Green beans: Cut in half or thirds.
Bell peppers: Slice into strips.
Mushrooms: Slice or tear.
Baby Bok Choy: Cut leafy tops into 1” pieces; cut white stems into 1” or bite-sized pieces.
Snap peas and snow peas: Cut in half (or keep whole).
Some vegetables need different cook times
Hearty veggies like carrots and broccoli should be added to the wok first and cooked for 1 to 2 minutes before adding softer vegetables like bell peppers or mushrooms.
Very tender vegetables, like bok choy leaves or spinach, should be added for just 30 seconds after the stir fry sauce cooks.
Mushrooms emit a lot of water, so use more cornstarch slurry: use 1 tablespoon cornstarch + 1 tablespoon cold water.
Do you prefer softer veggies over crisp-tender veggies? After the stir fry sauce is added, cover the pan with a lid for 1 minute of the cook time.
PS: If using bok choy, trim the bottom and wash inside the nooks and crannies several times, as it’s very dirty.
Frequently Asked Questions
Extra firm tofu is the best option because it gets crispy and chewy on the outside and stays tender on the inside. If you prefer softer tofu, firm tofu is also fine.
You can freeze the tofu straight in its package for at least 8 hours. Or, unpackage the tofu, and freeze the block of tofu in a freezer-safe bag or container, with or without the water it was packed in.
Leave the frozen block of tofu in the fridge for 24 hours or longer to defrost. I like to speed it up by leaving it on the counter for up to 2 hours at a time.
If you’re really in a hurry, place the tofu under warm running water before microwaving it on high in 1-minute intervals until all the ice is melted.
No, but it can be easily made gluten-free by swapping the soy sauce for tamari or gluten-free soy sauce.
Sure. When making tempeh stir-fries, I prefer to crumble the tempeh finely or slice it into matchsticks. You can follow the instructions for frying tempeh in my Tempeh Kecap recipe.
Jasmine white rice or brown rice would be the most classic, but it’s also great with noodles, like ramen or udon noodles, or rice noodles for GF. You can add the noodles after the cornstarch slurry.
For a less traditional option, you can serve over cauliflower “rice” or whole grains like farro or barley.
Fun toppings include roasted peanuts or cashews for a nutty crunch, extra chili-garlic sauce for heat, and sliced scallions for a sharp fresh bite.
Keep the leftover tofu and assembled stir fry in separate airtight containers in the fridge for 3 to 5 days. When it’s time to eat, reheat the tofu in a frying pan with a touch of oil to revive some of its crispiness.
Watch: How to make Tofu Stir Fry
For a complete step by step walkthrough of this recipe, check out the YouTube video!
If you fell for the restaurant-quality flavors in this Tofu Stir Fry, please be sure to leave a rating and review below :) And as always, I love seeing your remakes on Instagram!
- 3 to 4 tablespoons neutral-flavored high-heat oil such as avocado oil, divided (Note 1)
- 1 (14-ounce/400g) block extra-firm tofu (ideally, previously frozen and defrosted) (Note 2)
- ½ teaspoon kosher salt
- ½ teaspoon white pepper
- ½ teaspoon garlic powder
- Heaping 1/4 teaspoon Chinese five spice powder (optional but amazing!)
- 3 tablespoons cornstarch or arrowroot powder
Stir Fry Sauce
- 1 ½ tablespoons soy sauce (tamari for GF)
- 1 ½ tablespoons rice vinegar
- 2 tablespoons hoisin sauce
- 2 tablespoons Shaoxing wine (Chinese cooking wine) (see Note 3 for substitutes)
- 1 tablespoon organic brown sugar (see Note 3)
- 1 to 2 tablespoons chili-garlic sauce (or sambal oelek) (2 for spicy!)
- 3 tablespoons veggie broth or water
Aromatics & Vegetables
- 2- inch piece ginger finely chopped (not grated or minced)
- 4 garlic cloves, chopped (not minced)
- 14 to 16 oz vegetables of choice (Note 4)
- 1 teaspoon cornstarch (or arrowroot powder) + 1 tablespoon cold water, stirred together
- 2 teaspoons black sesame seeds or toasted white sesame seeds
- 2 teaspoons toasted sesame oil
- ¾ cup (12g) cilantro leaves and tender stems, roughly chopped
- 3 to 4 cups cooked white or brown rice, for serving
- Drain tofu and wrap in a thin dish towel. Weight down with a heavy cookbook or skillet. Press for 10-15 min, changing the towel halfway through. Meanwhile, stir together the Sauce ingredients in a bowl or measuring cup, and prep your veggies and aromatics.
- Cut the tofu. Slice the tofu into four equal squares. Flip each square on its side and then slice into squares, ⅓” wide (~1 cm). Transfer to a large bowl or shallow baking pan.
- Coat the tofu. In a small bowl, combine the salt, white pepper, garlic powder, five spice powder (if using) and cornstarch. Sprinkle half over the tofu, flip the tofu over, and sprinkle with the rest, tossing gently to coat with your hands.
- Fry the tofu. Line a cutting board or large plate with paper towels. Open some windows, as it will get smoky if you’re using a wok. Heat a flat-bottomed wok over medium-high heat until you start to see light wisps of smoke. Only then add 3 TBSP of the oil (this prevents sticking). Swirl the pan to get oil up the sides (See Note 1 if you don't have a wok). Carefully add tofu. Cook 3 to 5 minutes, shaking the pan every minute for even cooking, until golden brown on the bottom. Flip and toss the tofu and repeat for 2 to 4 min, until golden brown but not charred on the bottom (reduce the heat if it starts to char). Transfer tofu to the paper towel-lined surface to absorb excess oil. Wipe out the pan.NOTE: Depending on your wok size and tofu weight, it may not all fit in a wok. You'll get the best results frying in 2 batches.
- Finish the stir fry. Return the wok to the stove. Heat over high until smoking, then add the remaining 1 TBSP oil. Add garlic and ginger, and stir fry for 20 to 30 seconds, tossing frequently so they don’t stick. Add prepped veggies, and stir fry for 1 to 1.5 minutes (add sturdy veg like carrots or broccoli for 1-2 minutes, then add softer veg like bell peppers for 1 to 1.5 min). Add the Sauce and stir fry for 2 ½ minutes, then add any tender vegetables (e.g., bok choy leaves) and stir fry for 30 seconds until wilted.
- Mix the cornstarch and water in a small bowl until well-dissolved. Add to the pan and stir until thickened and glossy (it won’t take long). Off the heat, add the tofu, cilantro, sesame seeds and sesame oil. Toss well to coat the tofu. Serve over rice.