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.
Table of Contents:
1. Why this recipe works
2. Ingredient notes
3. Step-by-step instructions
4. Tips for making this recipe
5. Customize the vegetables
6. Frequently Asked Questions
7. Recipe Card
Why this recipe works
Crave-worthy tofu.
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.
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.
Ingredient notes
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.
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.
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.
Step-by-step instructions
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.
You can use the extras for meal prep. It’s wildly addicting and would pair well with my 15-Minute Chili Garlic Noodles and Tofu Mushroom Lettuce Wraps.
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.
Bok Choy: Cut leafy tops cut 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.
Frequently Asked Questions
What kind of tofu should I buy?
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.
How do you freeze and defrost frozen tofu?
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.
Is this recipe gluten-free?
No, but it can be easily made gluten-free by swapping the soy sauce for tamari or gluten-free soy sauce.
Can I use tempeh instead of tofu?
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.
What should I serve this stir fry with?
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.
How do you store tofu stir fry?
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.
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!
Every bite of this Tofu Stir Fry will transport you to your favorite Chinese restaurant! Packed with gourmet flavors, it’s deeply savory, a little spicy, and perfectly saucy. Easy to customize with your favorite vegetables!
- 4 tablespoons neutral-flavored high-heat oil such as avocado oil, divided
Tofu
- 1 (14-ounce/400g) block of extra-firm tofu (ideally, previously frozen and defrosted) (Note 1)
- ½ teaspoon kosher salt
- ½ teaspoon white pepper
- ½ teaspoon garlic powder
- ¼ teaspoon Chinese five spice powder (optional but amazing!)
- 3 tablespoons cornstarch or arrowroot powder
Stir Fry Sauce
- 1 ½ tablespoons soy sauce (Note 2)
- 2 tablespoons hoisin sauce
- 2 tablespoons Shaoxing wine (Chinese cooking wine) (sub with mirin)
- 3 tablespoons veggie broth or water
- 1 ½ tablespoons rice vinegar
- 1 tablespoon organic brown sugar (1 teaspoon if using mirin)
- 1 to 2 tablespoons chili-garlic sauce (or sambal oelek) (2 is for spicy!)
Vegetables
- 12 to 16 oz vegetables of choice (Note 3)
Aromatics
- 2- inch piece ginger chopped (you can peel it if you want)
- 4 garlic cloves, chopped
- ¾ cup (12g) cilantro leaves and tender stems, roughly chopped
- 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
Press the tofu. Drain tofu and wrap it in a thin dish towel. Weight down with your heaviest cookbook or skillet (weigh that down with a few cans of beans) and press for 10 to 15 minutes. If possible, change the towel halfway through. If using a tofu press, rearrange the screws halfway through.
Meanwhile, stir together the Sauce ingredients in a bowl or measuring cup, and prep all 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, ¼ to ⅓” wide.
Coat the tofu. Transfer tofu to a bowl. Combine the salt, white pepper, garlic powder, five spice powder (if using) and cornstarch. Sprinkle about half of this mixture over the tofu, flip the tofu pieces over, and sprinkle them with the rest of the mixture, tossing gently to coat with your hands. If the tofu seems wet still, add a bit more cornstarch.
Line a cutting board or large plate with paper towels. Turn on your oven vent and open some windows, as it will get smoky if you’re using a wok.
Fry the tofu. Heat a flat-bottomed wok (Note 4) over medium-high heat until you start to see light wisps of smoke. Then add 3 tablespoons of the oil and swirl the pan to get it up the lower sides of the pan.
Add the tofu. Cook for 3 to 5 minutes until golden on the bottom, shaking the pan or rotating it every minute to ensure even cooking. Flip and toss the tofu and repeat this process for 2 to 4 minutes, until the tofu is golden brown but not charred on the bottom (reduce the heat if it starts to char).
Transfer the tofu to the paper towel-lined surface to absorb excess oil. Wipe out the pan.
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 ½ minutes (Note 5). 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.
Add the cornstarch slurry and stir well until thickened and glossy (it won’t take too long). Turn the heat off and add the cooked tofu, cilantro, sesame seeds and sesame oil. Use tongs to toss everything together. Serve over white rice.
Note 1: If your tofu wasn’t previously frozen, after slicing the pressed tofu into rectangles, gently press down on each rectangle to pat dry to remove some excess water.
Note 2: Use tamari for gluten-free. If using Chinese soy sauce (“light soy sauce”), use less, about 1 TBSP to start (it’s saltier than standard grocery store soy sauce).
Note 3: This is about 3 to 4 cups of sliced/chopped vegetables, or 350 to 450g. For reference, in the photos, I used 1 medium red bell pepper and 1 to 2 baby bok choy heads; in the second set of photos, I used 1 1/2 cups very thinly sliced carrots and 1 1/2 cups broccoli florets.
For veggie options and instructions, see the “How to customize the vegetables” section.
Note 4: Don’t have a wok? Use a 12-inch nonstick frying pan. Heat it over medium-high for 2 minutes, then add oil and heat for 2 more minutes. Cook the tofu on one side for 4 to 5 minutes, then toss and cook for another 6 to 7 minutes, shaking the pan or rotating it every minute to ensure even cooking. Follow the instructions in step 7 but use medium-high heat.
Note 5: Check out the “veggies” section in the blog post for differing cook times for vegetables. If using bok choy, trim the bottom and wash it several times, as it’s very dirty.
Calories: 334kcal | Carbohydrates: 25g | Protein: 12g | Fat: 21g | Saturated Fat: 2g | Polyunsaturated Fat: 4g | Monounsaturated Fat: 11g | Cholesterol: 0.2mg | Sodium: 779mg | Potassium: 417mg | Fiber: 4g | Sugar: 8g | Vitamin A: 2867IU | Vitamin C: 111mg | Calcium: 114mg | Iron: 2mg