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!

Love it? Leave a rating!
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.








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!!!