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 mins
Cook 15 mins
Total 37 mins
5 from 14 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.

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.

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. 

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 rice vinegar but only 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.

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.

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 14 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 mins
Cook Time: 15 mins
Total Time: 37 mins
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) (Note 3)
  • 1 ½ tablespoons rice vinegar
  • 2 tablespoons hoisin sauce
  • 2 tablespoons Shaoxing wine (Chinese cooking wine) (sub with mirin)
  • 1 tablespoon organic brown sugar (1 teaspoon if using mirin)
  • 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 (weigh that down with a few cans of beans). 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.
  • Line a cutting board or large plate with paper towels. Open some windows, as it will get smoky if you’re using a wok.
  • Fry the tofu. 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: If using Chinese soy sauce (“light soy sauce”), use slightly less, as it’s a bit saltier than standard grocery store soy sauce. 
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

18 comments on Tofu Stir Fry

  1. John

    As with most of your recipes, the ingredient list is a page long, including about half a dozen ingredients you would never find in my little town. I just read and discard, pretty much every time.

    1. Rob

      Hi John. If you are willing to order non-perishable food items online, you can get them delivered to your house if they’re not available in your local stores. Tofu may be available at the end of the refrigerator section of your supermarkets or Walmart. If you are an adventurous cook, you could try making your own!

  2. Young Jorry

    5 stars
    Hi RBPL, I have a question. Today while shopping for ingredients to cook this, I came across “chickpea tofu”– any scoops on this product and whether or not it be a suitable substitute for Nisha’s tofu recipes? Thank You :-)

    1. Kaitlin @ Rainbow Plant Life

      Hi Young, it honestly depends on the recipe! We haven’t tried it ourselves so we can’t personally say how good it will taste in recipes but we think it would probably be ok in a lot of the savory recipes. If you try it, let us know how it goes!

  3. sally

    5 stars
    I have tried many stir fry recipes that are always missing something-I’m never sure what. I made this tonight and was over-the-moon happy with the way it turned out-followed it exactly as written, had all ingredients laid out beforehand, and used edamame, baby bok choy, onion and peppers for veg and served over jasmine rice. I added a bit more water to sauce as I like it saucy so next time will make a little bit more. And I always have pounds of tofu in my freezer ready for anything. Thank you Nisha for the most awesome stir fry sauce ever!!

    1. Kaitlin @ Rainbow Plant Life

      So cool to hear you finally found a stir fry recipe you like- and it’s from RPL! Thank you for sharing, Sally :) I love keeping tofu in my freezer at all times as well- you really can’t go wrong with that decision!

  4. Stephanie

    5 stars
    Yummy — this is a keeper. I made extra veggies and I wish I had also made extra tofu. I loved the Chinese five spice power and the flavor from the Mirin. My online order of Shaoxing wine was delayed, so next time–as soon as next week–I will use it.

    1. Kaitlin @ Rainbow Plant Life

      Hi Stephanie, it’s great to hear you had success with the recipe. Thanks for the review!

  5. Lori Ann

    5 stars
    This was soo tasty!! I just used what I had: tofu, onions, shiitake mushrooms. It was delicious! Will definitely add to the rotatin. Thank you for sharing!

    1. Kaitlin @ Rainbow Plant Life

      Hi Lori Ann, thank you so much for your kind review!

  6. Gena

    Hi, I’m looking for some clarification about the recipe. It says to add the cornstarch slurry towards the end of the recipe, but I don’t see any mention of making the cornstarch slurry before that or in the ingredients list. Is it possible to clarify this? Thanks! :)

    1. Kaitlin @ Rainbow Plant Life

      Hi Gena, sorry that was a bit confusing! The cornstarch slurry is under the aromatics section of the ingredients list on the recipe card. It’s 1 teaspoon cornstarch (or arrowroot powder) + 1 tablespoon cold water, stirred together. Hope that clarified things for you!

  7. Nancy

    5 stars
    This was sooo good! I’ve done many tofu stir fries but this one is on another level! Thanks for all of your thoughtful delicious recipes!

    1. Kaitlin @ Rainbow Plant Life

      Nancy, we’re grateful for your support. Thanks for taking the time to leave a review!

  8. Carol A McCollum

    Would it be possible to air fry the tofu? And would it work if the 4T oil is omitted? Can the veggies be stir fried with a bit of veggie broth? I can see where the 2T toasted sesame oil would add a lot of flavor, but I’d prefer to leave out the ‘neutral flavored oil’.

    1. Kaitlin @ Rainbow Plant Life

      Hi Carol, we don’t have an air fryer so we don’t have specific instructions on how to air fry tofu, but if you have air fried tofu with spices before, you can just do what you’ve done before (you should be able to use less oil that way). You can also less oil by baking tofu cubes (I have instructions in this blog post on Thai Green Curry:

      We haven’t tested cooking the stir fry with broth instead of oil (we use oil because it releases the flavor compounds in aromatics and promotes browning in a way that liquid does not), but if you have tried something similar before, then sure, feel free to do that here.

      We designed this recipe to be a Chinese restaurant-style stir-fry, hence the ingredients and techniques, so these changes will alter the final flavor and texture.

  9. aish

    can I skip the mirin? and use chickpea flour instead of the cornstarch? looks delicious cant wait to try it.

    1. Kaitlin @ Rainbow Plant Life

      Hi, Aish. The mirin adds a distinct fermented tangy flavor. We recommend substituting with rice vinegar (or even lime juice) instead of omitting it. We haven’t tried coating the tofu in chickpea flour, but we have tried similar recipes with medium or coarse-grind cornmeal and that adds a nice crunchy coating. As for chickpea flour, we haven’t tried it ourselves, but according to our research, it can be used as a sub for cornstarch in some recipes, but will likely result in a slightly different texture and taste.

Development Alchemy + Aim