Sweet and sour tofu, made in just 30 minutes. A plant-based version of this classic Chinese food that is much healthier than take-out!
Tofu is a staple in my kitchen. I use it a lot and, lately, I've been obsessed with this delicious sweet and sour tofu. It’s a great meat alternative, especially when you’re trying to recreate meat-based dishes because, if you cook it properly, you can get a similar texture.
This sweet and sour tofu recipe is super flavorful and ready in just 30 minutes. Besides, it is way better and healthier than take-out. It makes the perfect dinner!
How to make sweet and sour tofu
- Mix the soy sauce and apple cider vinegar in a bowl until well combined.
- Incorporate the tofu cubes and let marinate for at least 5 minutes.
- Drain the tofu and transfer ⅓ of the tofu cubes to a freezer bag with 2 tablespoon of cornstarch and toss to coat. Repeat this step with all the remaining tofu and cornstarch.
- Heat half of the oil in a skillet and when it’s hot, incorporate the tofu cubes. Cook over medium-high heat until all sides are golden brown. Remove the tofu from the skillet and set aside.
- Heat the other half of the oil in the skillet and add the veggies. Cook over medium-high heat until golden brown. Set aside.
- To make the sauce just mix all the ingredients until well combined.
- Pour the sauce into the skillet or pan and cook until it thickens.
- Mix the tofu, veggies, and sauce in the skillet, stir, and cook for about 5 minutes over medium heat.
- Serve your sweet and sour tofu immediately.
Sweet and sour tofu ingredients and tips
- Soy sauce or tamari: I used soy sauce, but tamari is a good gluten-free alternative. If you don't consume soy, coconut aminos is a great substitute. You could also add the same amount of water or vegetable stock and add more salt.
- Apple cider vinegar: you could also use white vinegar or lemon juice instead.
- Firm tofu: firm or extra firm tofu work best for this sweet and sour tofu recipe. Soft or silken tofu is not a good choice as it will fall apart easily.
- Cornstarch: I’ve only made this recipe using cornstarch, but any type of starch should work.
- Extra virgin olive oil: I’m Spanish, so I use extra virgin olive oil to cook most of my dishes. However, any type of oil will work. I always use extra virgin oils when possible because they’re healthier.
- Carrot.
- Green bell pepper.
- Red bell pepper.
- Onion.
- Sugar: I used brown sugar, but feel free to use the type of sugar you want, or even other sweeteners like maple or agave syrup.
- Tomato paste: it can be replaced by tomato puree, ketchup, or tomato sauce.
- Water.
Looking for more tofu recipes?
Did you make this sweet and sour tofu recipe?
Please leave a comment below, share it, or rate it. You can also FOLLOW ME on FACEBOOK, INSTAGRAM, and PINTEREST. I’d love to see what you cook!
📖 Recipe
Easy Sweet and Sour Tofu
Ingredients
For the sweet and sour tofu:
- 2 tablespoons soy sauce
- 1 tablespoon vinegar, I used rice vinegar
- 10 ounces firm tofu, cubed
- 6 tablespoons cornstarch
- 2 tablespoon oil, I used extra virgin olive oil, divided
- 1 carrot, chopped
- ½ red bell pepper, chopped
- ½ green bell pepper, chopped
- ½ onion, chopped
For the sweet and sour sauce:
- ¼ cup granulated sugar
- 2 tablespoons tomato paste
- 1 tablespoon vinegar, I used rice vinegar
- 1 teaspoon soy sauce
- 6 tablespoons water
- 2 teaspoons cornstarch
Instructions
- Mix the soy sauce or tamari and apple cider vinegar in a bowl until well combined.
- Incorporate the tofu cubes and let marinate for at least 5 minutes.
- Drain the tofu and transfer ⅓ of the tofu cubes to a freezer bag with 2 tablespoon of cornstarch and toss to coat. Repeat this step with all the remaining tofu and cornstarch. Add more cornstarch if needed.
- Heat half of the oil in a skillet and when it’s hot, add the tofu cubes. Cook over medium-high heat until all sides are golden brown. Remove the tofu from the skillet and set it aside.
- Heat the other half of the oil in the skillet and when it’s hot, incorporate the veggies (carrot, green bell pepper, red bell pepper, and onion). Cook over medium-high heat until golden brown. Set aside.
- To make the sauce just mix all the ingredients until well combined.
- Pour the sauce into the skillet and cook until it thickens, stirring frequently.
- Mix the tofu, veggies, and the sauce in the skillet, stir, and cook for about 5 minutes over medium heat, stirring occasionally.
- Serve your sweet and sour tofu immediately with some sesame seeds on top (optional).
- Keep the leftovers in a sealed container in the fridge for up to 1 week.
Notes
- Some people add pineapple to this sweet and sour tofu recipe, but I don’t. If you want to enjoy this dish with pineapple, just sautée it with the veggies.
- Feel free to use any type of vinegar, starch, oil, veggies, or sweetener you have on hand.
- Tomato paste can be replaced by tomato puree, ketchup, or tomato sauce.
- The amount of sodium is not a real measurement because you’d need to marinate the tofu for hours for it to absorb all the soy sauce.
Nutrition
Update Notes: This post was originally published in May of 2018, but was republished with new photos, step-by-step instructions, and tips in April of 2022.
Karen says
Hi! I made your recipe and it was sooo good that even my meat eater brother loved it! I subbed the tomate paste for ketchup and followed the recipe as is for everything else. Thank you so much for sharing!
Iosune Robles says
Hi Karen! Thanks for comment! I'm so glad you both liked it 🙂 Have a nice day!
Sandra says
Best tofu recipe
Iosune Robles says
Hi Sadra! Thank you so much 🙂 So glad you liked it!
Jess M says
Thank you so much for this recipe.
My family absolutely love it.
I like omitting some of the sugar for pineapple juice and pieces in the sauce also.
Iosune Robles says
Sounds so good! So glad you loved it 🙂
Elizabeth says
I followed the instructions mostly, and I absolutely adore it! Thank you so much!
Iosune Robles says
So glad you liked it Elizabeth 🙂
Jay says
Not sure where I went wrong, but this recipe did not work out for me at all! The tofu tasted entirely like cornstarch and my sauce was severely lacking in flavor. The only change I made was ketchup instead of tomato paste. Oh well :/
Iosune Robles says
Hi Jay! Have yo follow the recipe to a T?
Althea W says
Very good and tasty. I ate it alone as a meal.
Iosune Robles says
Hi! Thanks for your words 🙂 So glad you liked it!
David Green says
This is a brilliant recipe. Easy to prepare, easy to cook, looks and tastes great! Many thanks.
Jennifer says
Turned out perfect!
Iosune Robles says
Great to hear that Jennifer!!! 🙂
Meri says
Thank you for this tofu recipe! This was so delicious and I really liked the texture of the tofu. My carnivore boyfriend thought this was better than sweet and sour chicken at our local Chinese restaurant. 😋
Iosune Robles says
Hi Meri! So glad you and your boyfriend liked our tofu recipe 🙂 Have a nice day!
Jenny says
Very easy and tasty! Added some broccoli. Ran out of cornstarch and used tapioca starch instead. The coating still stuck but got a bit gooey when everything was combined. Maybe cause of my substitution? I’d make this again though!
Iosune Robles says
Hi Jenny! Probably cause tapioca tends to be thicker than cornstarch. Next time if you need to use tapioca again you can try with less. Thank you for writing!! Have a great day!
belinda mouzakitis says
Just about the best sweet and sour recipe ever
Iosune says
Hi Belinda! Thank you so much 🙂 Have a nice day!
sarah Jane otterburn says
Quite sweet so I cut down the sugar to 3.5tbsp. Very quick and tasty...
Iosune says
Hi Sarah! So glad you liked it 🙂
Betty says
Loved it. Very tasty.
Michele Haynes says
How long should I leave the tofu in the freezer?
Iosune says
Hi Michele! You don't have to freeze the tofu, just use a freezer bag 🙂
Fiona Conroy says
Love this recipe, adjust the sauce to own taste but is great and so easy
Iosune says
Hi Fiona! Thanks a lot 🙂 Hace a nice day!
Natasha Porter says
I made this the other night and used tvp balls - it was amazing! Totally brought me back to weekly Chinese dinner when I was a kid 💕
Iosune says
Hi Natasha! I'm so happy to read that 🙂
Latoya P. says
This is one of the best sweet and sour recipes that I have ever tried and I have tried quite a few.
Iosune says
Hi Latoya! Thank you so much 🙂 So glad you liked it!
willem says
damn that shit is good making it 2 days in a row lol
Iosune says
Hi Willem! So glad you liked it 🙂
KB says
Sorry if this is a silly question, but do I need to press/drain my tofu prior to starting this recipe?
Thanks!
Iosune says
Hi KB! I never press the tofu, but it's up to you 🙂
Sarojini says
Great recipe follow it to a “T” came out great tasted great
Iosune says
Hi Sarojini! Thanks a lot 🙂 So glad you enjoyed it!
Amy says
Made this yesterday - fantastic - so tasty. I did add tinned pineapple and it was all delicious. Thanks for the great recipe
Iosune says
HI Any! SO glad you liked it 🙂 You're so welcome!
Gabby says
Hi there! I'd love to make it this evening, but I want to know if we need to press the tofu prior to cutting it into cubes.
Iosune says
Hi Gabby! Not, you don't need to press the tofu, but it's up to you 🙂
julie krebs says
Added Chinese 5 spice to cornstarch before frying tofu, other than that exactly the same and it was amazing. Served it over white rice, I know but a billion Chinese can't be wrong.
Iosune says
Hi Julie! Sounds so good 🙂 So glad you enjoyed it!
HARNEET says
I made the sweet & sour tofu with this recipe today , i also added noodles on the side with some broccoli too and it came out so well. My husband loved it. Thank you so much 💕
Iosune says
Hi Harneet! Sounds great 🙂 You're so welcome!
Kamal says
Pictures are stunning. What camera are you using?
Iosune says
Hi Kamal! Thanks a lot 🙂
Kim Felmingham says
Made it without measuring stuff. Turned out better than the Chinese restaurant. Not even joking. My wife had 2 bowls and I am about to start on my 3rd after I finish writing this. Seriously good recipe
Iosune says
Hi Kim! I'm so glad you guys liked it so much 😀
Luke says
The pictures are mouth watering. Simply stunning.
Iosune says
Hi Luke! Thank you so much 🙂
Amanda says
Dzięki, bardzo nam miło:)Pozdrawiamy!8 stóp
Iosune says
Hi Amanda! Thanks for your comment 🙂
JW says
This is the first time i am having tofu, wow, i love this recipe it taste good.
would do this again.
Iosune says
Hi Jw! I'm so glad you enjoyed it 🙂
Dani says
Yummy! Thank you for such clear, simple instructions and the clear separation of ingredients! We loved this recipe!
Iosune says
Hi Dani! You're so welcome 🙂 So glad you loved it!
ashley matyszewski says
Awesome recipe, I used about half the amount of corn starch and tomato sauce instead of tomato paste and it turned out very yummy
Iosune says
Hi Ashley! Thanks a lot 🙂 So glad you liked it!
Owen says
What a cool recipe. I just made it. Delicious. I’m learning to eliminate meat from my diet so thank you for this.
I added a couple of things just because I had them on hand. A bit of fresh ginger, fresh garlic, a few tbsp of 3-pepper relish (instead of tomato paste). I didn’t have sesame seeds as a topping, so I used chopped walnuts which worked great.
Iosune says
Hi Owen! You're so welcome 🙂 Sounds amazing as well!
Dale says
I would use this recipe for the tofu alone. The rest was equally good but the tofu was incredible.
Iosune says
Hi Dale! I'm so glad you liked it 🙂
Avery says
I'm not confident working with tofu, but this came out really exceptional - the corn starch dredging really coves it a simple mouthfeel and taste to orange chicken.
Really tasty and straightforward!
Iosune says
Hi Avery! I'm so happy to heat that 🙂 So glad you liked it!
Andy Stevenson says
Forgot the review, sorry
Iosune says
Thank you so much 🙂 Have a nice day!
Andy Stevenson says
Absolutely delicious!
Iosune says
Hi Andy! Thanks a lot 🙂
Linda Gaudreau says
I followed the recipe exactly, and found the flavor lacking, the tomato paste was taking over, thankfully I had pineapple on hand, I added approx 3/4 cup crushed pineapple with juice. I served it with basmati rice. I liked the idea of coating the tofu in the cornstarch, it looked vey appetizing when cooked but overall I don't think I'll do that again, odd texture in the mouth.
Iosune says
Hi Linda! I'm so sorry the recipe didn't work for you, but it's a favorite on the blog and our reader love it, as you can read in the comments. Have you used the same ingredients? Maybe you should try another brand of tomato paste. Hope it helps!
Tracy says
Just found this recipe! It's a keeper. My whole family loved it. I used a standard 14 ounce container of firm tofu and doubled the marinade and sauce to ensure there was enough. Adding pineapple was terrific!
We can't wait to make/eat this again. Thanks!
Tracy says
(Forgot to add my 5 star review!)
Iosune says
Hi Tracy! Thanks a lot 🙂 So glad you liked it!
David says
Made this with pineapple and two extra tablespoons of tomato paste. Very nice.
Iosune says
Hi David! Sounds great 🙂 So glad you liked it!
Maria says
Hi Amanda, This recipe is totally awesome ! My husband has asked me to bookmark and make it a regular item 🙂 I didn't have tomato paste, so used ketchup and came out fine. Next time I will add pineapple as I think it will complement beautifully.
Thanks for helping us former omnivores embrace vegan cooking and all its delights !
Iosune says
Hi Maria! I'm so happy to hear that 🙂 You're so welcome!!!
Wan (chinese dude from UK) says
Do you reuse freezer bags? Seems like an odd choice when a bowl would have sufficed without having to use plastic...
For pineapple lovers, would recommend using juice from the tin instead of plain water. You'd reduce the need for extra sugar plus it'll bring out the flavour.
Finally, for those feeling a bit more adventurous, try adding a bit of chili in.
Iosune says
Hi Wan! Thanks for your comment 🙂
Maddy says
Just tried this and it was delicious! Every time I’ve made tofu its turned out bland and soggy up until now! Really enjoy your blog : )
Iosune says
Hi Maddy! Thanks a lot 🙂 So glad you liked it!
Jim says
This was superb. Thanks for the recipe!
Iosune says
Hi Jim! So glad to hear that 🙂 Thank YOU for making the recipe!
Amanda says
Tofu was great, but the sauce was not. The tomato paste overpowered other flavors and the sauce just wasn’t anything like a sweet & sour sauce. Tasted like sweet tomato sauce 🙁
Iosune says
Hi Amanda! I'm so sorry the recipe didn't work for you. You should use tomato paste or another brand of tomato sauce because this sauce is really delicious and our readers love it. Hope it helps!
Jepkemoi says
This is LEGIT!!! Yummy!
Iosune says
Hi Jepkemoi! Thanks a lot 🙂 So glad you liked it!
Veronica says
I believe The amount of cornstarch in the recipe was too much and made the sauce a little grainy, next time i will use less. I also added broccoli and pineapple (from a can).
Iosune says
Hi Veronica! Our sauce wasn't grainy as you can see in the pictures and this recipe is so popular on the blog and people love it. Maybe it was because of the brand you were using... Have a nice day!
Ali says
Super easy and very tasty, wasn't sure how long to leave the cubes in the freezer so I guessed (5-10 minutes)!
Definitely will be making this again in the future.
Iosune says
Hi Ali! So glad you liked it 🙂 We didn't leave the cubes in the freezer, we used a freezer bag. Have a nice day!
Tia says
This is one of the best tofu dishes I've ever had! My whole family loved it, including my 2 and 3.5 year old daughters. The tofu packages around here are 14 oz so I ended up using a whole red pepper, adding another carrot, and some pineapple with double the sauce. Spectacular. My husband has requested this to become part of our regular fare!
Iosune says
Hi Tia! Thank you so much 🙂 So glad you enjoyed it!
Christine Hood says
I have eaten a lot of tofu in my life, and this has got to be my new favorite recipe! Simple Vegan Blog is an amazing resource for anyone who wants delicious, straightforward vegan recipes.
Iosune says
Hi Christine! I'm SO glad you liked it so much 🙂 Thanks a lot for your kind words!!! <3
Jazzmin says
This looks absolutely amazing and I can't wait to try it! I have one question though: does the liquid in the tofu need to be drained before being cubed and added to the recipe?
Iosune says
Hi Jazzmin! No, you don't need to drain the tofu 🙂
Melodie says
This is by far my new favorite tofu recipe!! Tried it last night and absolutely loved it. Props!!
Iosune says
Hi Melodie! Thank you so much, I'm so happy to read that 🙂
Aleshia Simpson-Walters says
Wow!! I am impressed. this is the best I have ever prepared tofu. I am involve.
Having a proper non-stick skillet is crucial. I had to throw my tofu cubes into the oven for the crisp as they were sticking in my skillet. I marinated my tofu for two hours. I also used up the marinate that was left after draining the tofu
I know this is a recipe i will be saving and reusing. I also will be using the sweet and sour sauce recipe for other dishes. 🙂 🙂
Iosune says
Hi Aleshia! Thank you SO much 🙂 So glad you liked it!