Tofu Stir Fry

Jump to Recipe
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!
Prep 25 minutes
Cook 15 minutes
Total 40 minutes
5 from 90 votes

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

Tofu and pepper stir fry on a bed of white rice in a black bowl.

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.

ad for meal plans program with picture of woman with button

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.

Finished tofu and peppers in a deep silver skillet.

Ingredient notes

Tofu stir fry ingredients chopped and in various bowls on a wooden cutting board.

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.

Tofu stir fry with carrots in a wok.

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.

Tofu cut into squares covered in cornstarch and spices in a large glass bowl.

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. 

Fried tofu in a wok.

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 use the extras for meal prep. It’s wildly addicting and pairs great with my 15-Minute Chili Garlic Noodles, Gochujang 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. 

Finished tofu with peppers on a bed of white rice in a black bowl.

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.

Various chopped vegetables on a large wooden cutting board.

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.

Tofu stir fry with carrots on a bed of rice in blue bowl.

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.

Stir fried tofu with carrots in a wok.

Watch: How to make Tofu Stir Fry

For a complete step by step walkthrough of this recipe, check out the YouTube video!

Tofu Stir Fry, my latest weeknight obsession
Tofu Stir Fry, my latest weeknight obsession

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!

Tofu Stir Fry

5 from 90 votes
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!
Prep Time: 25 minutes
Cook Time: 15 minutes
Total Time: 40 minutes
Course: Dinner
Cuisine: Chinese
Diet Vegan, Vegetarian
Serving size: 4 with rice


  • 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.


1. If using a wok, use the greater end of oil (3 tbsp oil for tofu, 1 tbsp for veggies; otherwise, the tofu will char and stick a bit). If you don’t have a wok, use a 12-inch nonstick frying pan: in step 6, heat it over medium-high for 2 minutes, then add oil and heat 2 more min. Cook the tofu on one side for 4 to 5 min, then toss and cook for 6 to 7 min, shaking the pan or rotating it every minute.  Follow the instructions in step 7 but use medium-high heat. 
2. 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.
3: You can sub Shaoxing wine with mirin, which is sold at many grocery stores. Or even with dry sherry. 
4: This is 3.5 to 4 cups of sliced/chopped vegetables, or 400 to 450g. For reference, in the photos, I used 1 medium red bell pepper and 2 baby bok choy heads; in the second set of photos, I used 1 1/2 cups very thinly sliced carrots and 2 cups broccoli florets. For veggie options and instructions, see the “How to customize the vegetables” section.

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

Did you make this recipe?

Tag @rainbowplantlife and hashtag it #rainbowplantlife

Leave a Comment & Rating

If you enjoyed this recipe, please consider giving it a star rating along with your comment! It helps others discover my blog and recipes, and your comments always make my day :) Thank you for your support!

Your email address will not be published. Required fields are marked *

Rate this recipe

130 comments on Tofu Stir Fry

  1. Rachel

    5 stars
    I’ve made this a few times now and it’s maybe my favorite stir fry recipe ever! The tofu is so good that my boyfriend likes to steal some when it’s done frying.

    1. Kaitlin @ Rainbow Plant Life

      We appreciate your feedback and support, Rachel. Thank you for leaving a review!

Development Alchemy + Aim