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.
CassieAni says
This has become THE recipe everyone ask me to cook 🫶🏼
Iosune says
Hi CassieAni! So glad to read that 🙂
Mitzi says
My husband (who doesn’t like tofu) and I simply loved the sweet and sour tofu. I used broccoli instead of carrots as that’s what I had. I used ketchup in place of tomato paste. We absolutely loved it! Thank you for an easy delicious recipe.
Iosune says
Hi Mitzi! Thank YOU for your comment 🙂 Have a nice day!
Tro says
My non-vegan partner loves sweet and sour duck.. thanks to you this sweet and sour tofu recipe is now a staple in our home and he really loves it! It's so simple and turns out perfect every time. Thank you so much!
Iosune says
Hi Tro! So glad to hear that 🙂
Lynz says
This was absolutely amazing, I was surprised how lovely it was considering I am not overly fond of tofu, the sauce was so tasty
chelsie says
Absolutely loved this recipee and how quick it was ! Thankyou so much for sharing ! xoxo
Iosune says
Hi Chelsie! Thanks a lot 🙂 So glad you liked it!
Ahmad says
Cant wait to try it !
Adriana @ Simple Vegan Blog says
Hope you enjoy it Ahmad!
Janet says
Hi, for the sweet and sour tofu and the stir fry. Can the tofu baked instead of fried? Thanks. Janet
Iosune Robles says
Hi Janet! Feel free to bake it 🙂
Siri says
Go to recipe for some years now, when I have tofu and some mixed veg. I've always made a little extra sauce (x1.5 more roughly) because it's so good! Tried it with noodles and rice and it was delicious! Thank you for sharing such a great recipe!
(also used the tofu part with other recipes!)
Iosune Robles says
Hi Siri! Thanks for your kind comment 🙂
Lea says
I love a good tofu recipe and this one looks amazing!
Iosune Robles says
Hi! Thank you so much 🙂
Erika Miller says
This as so delicious. Thank you for sharing this recipe.
Iosune Robles says
Thanks for your kind comment Erika 🙂
Monika B says
Simple and delicious. Thank you!
Iosune Robles says
Hi! I'm so glad you liked it 🙂
Sarah says
Fab recipe. Added extra hot chilli powder to the cornflour as we like it hot. Worked really well. Added a bit more soy sauce and some sriracha to the sauce. Served with Pad Thai noodles with bean sprouts, water chestnuts, spring onions and soy sauce. Loved it, was very sophisticated, thank you.
Iosune Robles says
Sounds so good 🙂
Cat says
This was delicious! I warmed the tofu back up on the oven rather than in the sauce so it stayed crispy. Thanks for the great recipe!! X
Iosune Robles says
Thanks for your comment 🙂 Have a nice day!
Ant says
I had to improvise a little as I had no peppers, but added green beans instead and a couple of cloves of garlic.
I steamed the carrots (sliced lengthways) before frying them off with the onions and garlic.
The beans I added to the top of the rice, and not in the pan so they kept their shape a little more. The tofu i marinated for about 10-15 minutes before frying off, setting aside and then reading once the onion was tender with the carrots.
The sauce was fantastic - we did add pineapple (the kids loved the pineapple). And for my wife and myself I topped with some sliced chillies and sesame seeds.
Will definitely make this again.
Iosune Robles says
Thanks for your comment! Sounds amazing! Have a nice day 🙂
Daniela says
Great recipe, I made the sauce x1.5 and adjusted a bit more to taste and it was great with some rice.
I'll be making this again, but I'll try to put the tofu last in the sauce so it stays a bit crispier.
Iosune Robles says
Hi Daniela! So glad you liked it 🙂 That's a good idea!
Douglas says
This was pretty good. My only complaint is that the vinegar in the marinade came thru way too strong. I'm gonna try water instead of ACV next time and see if it makes a different.
Iosune Robles says
Hi! Also, you can try to reduce the amount of vinegar 🙂 Add less than 1tbsp!
Clee says
Hi just wondering if you can use tempeh instead?
Iosune Robles says
Hi Clee! Feel free to use tempeh 🙂 Hope you like it!
christine poole says
First time using tofu , had the texture of chicken and nice and crunchie!sauce was great too , I served it with wholegrain rice, fantastic !!
Iosune Robles says
Hi Christine! So glad you liked it 🙂
Nicole says
I made this for my sensory-sensitive 8-year old, who gets pretty anxious about new foods. (I also just needed to get my own fill of comfort food.)
I left the sauce off of my child's portion, though I thought the sauce was fantastic - it's not nearly as sweet as restaurant-style sweet and sour dishes! I also subbed arrowroot starch for the cornstarch, which worked out great.
My child loved the crispy tofu plain and gobbled it up, which us amazing because new or unexpected foods at the table often lead to tears.
I'm relieved to have this recipe in my queue of options, as it means I can finally get another healthy source of protein into my child! (Since making friends with three front-yard chickens in our neighborhood, he figured out for himself what that meant for him and what he doesn't want to eat. Introducing more plant-based proteins has been a huge challenge, even for this very seasoned vegan!)
Thank you for sharing this recipe 🙂
Iosune Robles says
Hi Nicole! So glad your child enjoyed our recipe 🙂 Have a nice day!
Beatriz says
Excellent! Easy to make. A bit too sweet for me, will reduce sugar next time. But my apple vinegar was also sweetish, which might be the reason. Anyway, very good! Thanks for sharing !
Iosune Robles says
Hi Beatriz! That's a good idea! Try to use less sugar next time 🙂 Still, I'm glad you liked it!
Jenny Chendra says
One word only Yummyyyyyyy
Thank you for sharing the recipe ❤
Iosune Robles says
So glad you liked our sweet and sour tofu 🙂 Have a nice day!
Leeann says
My fiancé and I just made this dish last night. It wasn’t as complicated as we thought, as we split the work and the end result was soooo good!! Will definitely make it again, maybe even next week!
Iosune Robles says
Hi! So glad you and your fiacé liked it 🙂 Have a nice day!
Sandra says
Best tofu recipe I’ve tried. I add lots of pepper, snow peas and still taste delicious.
Iosune Robles says
Hi Sandra! Sounds so good! I'm glad you liked it 🙂
Susan says
Thanks for the delicious and easy recipe! I not usually crazy about tofu but it was great in this dish.
Iosune Robles says
Hi Susan! So glad you liked our tofu recipe 🙂
Freya says
Hi Losune,
I loved this recipe! I included it in my roundup of 10 Easy Vegan Dinner Recipes.
https://www.happierwithtea.com/easy-vegan-dinner-recipes/
Thank you so much for sharing your recipe!
Freya
Iosune Robles says
Hi Freya! So glad you liked it 🙂 Have a nice day!