Sweet and Sour Tofu (糖醋豆腐)

5 from 6 votes
Email Facebook LinkedIn Mix Pinterest Reddit Twitter
This post may contain affiliate links. Read our disclosure policy.

A favorite Chinese dish with a meatless twist that gives you the contrast of sweet and sour for a healthy meal any night of the week. {Vegetarian, Vegan, Gluten-free}

Homemade sweet and sour tofu in a skillet

Are you having fun during the holidays? I know I am! With all the activities and events, family and friends, it’s been pretty chaotic. And then there are all the heavy holiday foods. Extravagant and divine, a little indulgence here and there doesn’t hurt, but it’s nice to lighten things up in between all those robust holiday meals.

My Sweet and Sour Tofu is just the thing to help you fill up without filling out. It’s hearty and filling, yet it’s light and healthy so you can escape that overstuffed feeling for an evening. Plus, it’s easy to make. All you need is one pan and you can cook up protein, greens, and tons of nutrition deliciously.

Homemade sweet and sour tofu plated with steamed rice

Cooking notes

Sweet and sour made easier

I know, with a name like “sweet and sour tofu,” you might be concerned about sugar content. In this recipe, my sauce uses a tomato paste base to create a wonderful flavor with minimal sugar content. You’re getting 1 tablespoon of sugar compared to other sweet and sour recipes which give you anywhere from 1/4-cup to 1/2-cup of added sugar, which is so much better. You’re going to love the taste and you won’t miss all that added sugar, believe me!

How to prep tofu

There are a few approaches to making tofu crispy without deep frying it. In this recipe, I used a less time consuming approach by simply draining the water from the tofu.

Tofu is already soaked in water when you buy it. It’s OK to use it directly in stew dishes such as Mapo Tofu, but I prefer to squeeze the water out if I’m making a stir-fry. To do this, simply wrap the whole chunk of tofu with a couple layers of paper towel. Then use both of your hands to gently and slowly squeeze, so the paper towel will soak up and drain the extra water. Be careful not to squeeze too hard or else you’ll break the tofu apart. Once you cut the tofu, more water might seep out on the cutting surface. Simply pat the pieces dry with more paper towels. Then you can go ahead and sear the tofu in a hot pan for crispy, delicious results.

Homemade sweet and sour tofu in a skillet close up

How to make your tofu extra flavorful and crispy

If you want the tofu to have an extra crispy crust like the one you’d get from a Chinese restaurant, here is a great way to do it without deep-frying. Simply cut the tofu into small chunks and put them in a gallon-sized zipper bag. Then marinate your tofu with soy sauce and a little bit of syrup. From there, drain all the liquid. Then add cornstarch in and shake to coat. Two tablespoons of oil is all you need in your pan to get the crispy, browned tofu just right! You can see the detailed process in this post.

One last bit of advice…make sure you use firm or extra firm tofu. Anything softer will break apart and you don’t want that to happen with this dish.

Sweet and Sour Tofu cooking process

What pan to use

A nonstick skillet is always my top choice when it comes to cooking with tofu. It yields crispy results without making the tofu stick to the pan. On the other hand, a carbon steel skillet and a cast iron pan are great options, too. In either of these cases, you might need to use a bit more oil.

Plated homemade sweet and sour tofu close up

Serve this Sweet and Sour Tofu with steamed white rice or some tender noodles for a perfectly complete meal that tastes better than takeout (and is faster, too), even on a busy night. Happy Holidays!

More delicious tofu recipes

If you give this recipe a try, let us know! Leave a comment, rate it (once you’ve tried it), and take a picture and tag it @omnivorescookbook on Instagram! I’d love to see what you come up with.

Want to Know More?Receive our 5-Day Chinese Cooking Crash Course & Recipe Updates! Subscribe
Sweet and Sour Tofu - A favorite Chinese dish with a meatless twist that gives you the contrast of sweet and sour for a healthy meal any night of the week. {Vegetarian, Vegan, Gluten-free}

Sweet and Sour Tofu (糖醋豆腐)

5 from 6 votes
A favorite Chinese dish with a meatless twist that gives you the contrast of sweet and sour for a healthy meal any night of the week. {Vegetarian, Vegan, Gluten-free}
Author: Maggie Zhu
Course: Main
Cuisine: Chinese
Keyword: takeout
Prep Time: 10 minutes
Cook Time: 15 minutes
Total Time: 25 minutes
Servings: 4 servings



  • 1/4 cup vegetable stock
  • 2 tablespoons light soy sauce
  • 2 tablespoons Shaoxing wine (or vegetable stock)
  • 1 tablespoon rice vinegar
  • 4 tablespoons tomato paste
  • 1 tablespoon maple syrup (or sugar) (*Footnote 1)


  • 1/2 head small broccoli , cut into bite size florets
  • 2 tablespoons vegetable oil
  • 1 pack (16-oz. / 450-g) extra-firm or firm tofu , drained and cut into bite size pieces
  • 1/2 small onion , sliced
  • 3 cloves garlic , minced
  • 1 teaspoon ginger , minced


  • Mix all the ingredients for the sweet and sour sauce in a bowl. Set aside.
  • Heat 1/4 cup water in a large nonstick skillet over medium-high heat until boiling. Spread broccoli and cook covered for 1 minute, or until it reaches the desired texture. Transfer the broccoli to a plate and wipe the extra water from the skillet with a few paper towels held in a pair of tongs.
  • Heat a tablespoon of oil (more oil if using a carbon steel or a cast iron pan, to prevent sticking) in the same skillet over medium-high heat. When the oil is hot, carefully spread the tofu in the skillet. Cook the tofu without disturbing it until the bottom side turns golden brown, about 5 minutes. Flip tofu with a spatula and grill the other side to the same doneness. Transfer the tofu to a plate and set aside.
  • Add a tablespoon of oil into the same skillet and heat on medium-high heat. Add onion. Stir and cook for 2 minutes, until the edge of the onion turns slightly golden.
  • Add the garlic and ginger. Stir a few times until fragrant.
  • Add the sweet and sour sauce. Add the cooked tofu back into the skillet. Stir gently to mix well with the sauce. Cook until the sauce has reduced to the desired thickness, another 2 to 3 minutes.
  • In a large bowl, add the cooked broccoli. Pour the tofu and all the sauce on top. Serve with steamed rice or noodles on the side.


  1. Although most recipes use quite a lot of sugar in this type of dish, I personally think 1 tablespoon of maple syrup creates a great sweet-sour profile with the tomato paste. Adjust the sweetness by adding another 1 to 3 tablespoons of syrup to suit your taste.


Serving: 4g, Calories: 160kcal, Carbohydrates: 8g, Protein: 9.7g, Fat: 11g, Saturated Fat: 2.2g, Sodium: 486mg, Potassium: 385mg, Fiber: 2.2g, Sugar: 3.3g, Calcium: 160mg, Iron: 2.3mg
Did You Make This Recipe?Don't forget the last step! Tag me @OmnivoresCookbook and #OmnivoresCookbook on Instagram!
Sweet and Sour Tofu - A favorite Chinese dish with a meatless twist that gives you the contrast of sweet and sour for a healthy meal any night of the week. {Vegetarian, Vegan, Gluten-free}

Receive our FREE 5-Day Chinese Cooking Crash Course & Recipe Updates!


Leave a Review!

I love hearing from you! Submit your question or review below. Your email address will not be published. Required fields are marked*.

Rate This Recipe!

Reader Questions and Reviews

  1. Leah | So, How's It Taste? says:

    That looks so good! I’m not a vegetarian, but I do like tofu and always forget about it. I’ve got to make this dish!

    • Maggie says:

      Me too! I forget about tofu all the time. But thinking about how healthy it is, I’m trying to use tofu to create more dishes lately. Let me know how the cooking goes! 🙂

  2. Thalia @ butter and brioche says:

    the vegetarians in my household would definitely appreciate this dish.. one i will be making. thanks for sharing the recipe!

    • Maggie says:

      Hi Thalia, glad you like the dish and yes, it’s a good choice for vegetarian. Happy cooking! 🙂

  3. Lokness @ The Missing Lokness says:

    Sounds super easy! I love fried tofu. Even though tofu is not meat, this looks very filling. I think my husband won’t mind a vegetarian dish like this. 🙂

    • Maggie says:

      Yep, it’s so easy to cook, and definitely a no-fail dish! Tofu will be filling and give you satisfaction like meat if you make some appetizing sauce. Happy cooking! 🙂

  4. Sarah @ The Woks of Life says:

    I know no one will believe me, but tofu is one of my favorite foods. It’s so versatile. This dish looks awesome Maggie!

    • Maggie says:

      Thanks Sarah! Tofu is indeed very versatile, great in stir-fry, soup or stew. I really need to look into this and to use tofu more. It’s a very healthy ingredient and low in calories too.

  5. Prash @ YummilyYours says:

    Maggie! All I can say is thank you for this recipe. YUMMY!

    • Maggie says:

      Glad you like it! Yes, it’s very delicious! 🙂

  6. Aysegul - Ice says:

    Sweet and sour – I love!
    I also love how you take pics of every step. So helpful.. 🙂

    • Maggie says:

      Yeah, I’m aiming to create easy to follow recipes to help beginners to ease into cooking Chinese food. Glad it helps!

  7. Bonnie Eng says:

    This recipe looks so awesome Maggie…will be making this very soon!

    • Maggie says:

      Glad you like this one Bonnie! The sweet sour flavor just goes well with everything 🙂

  8. Thomas says:

    5 stars
    I just cooked this and it totally rocks!

    I didn’t realize how much better tofu gets if you press it with paper towels to get the water out. That made a huge difference in the texture, and I’m going to do that to all my stir fried tofu from now on.

    Also – tomato paste in sweet-n-sour? Who knew? It adds a perfect slightly sweet umami to the dish that I hadn’t tasted in Chinese food before. Great recipe!

    • Maggie says:

      Thanks! So glad you like this dish 🙂
      Yes, the tofu will get quite firm during cooking if you press the water out. If you want the tofu become drier, you could put is in a drainer (I often use 2 chopsticks to do this) to let the water drip in about 30 minutes. Same idea for draining normal yogurt to get Greek yogurt. 🙂

    • joslin says:

      You can buy tomato paste in large cans then freeze excess in ice cube trays or plastic wrap. I keep tomato paste blocks in my freezer to add to soups, curries, stew….tofu marinade!

  9. 5 stars
    Wow I have never seen tofu look so good! Sweet and sour anything is usually a winner. I really like that you have picture in your step by step portion of the recipe that is so helpful.

  10. riska says:

    5 stars
    Hi Maggie,

    This is so perfect dish for beginner and very easy, such no fail dish. Can i replace tomato paste with tomato sauce? if can will it be the same amount as tomato paste? thank you.

    • Maggie says:

      Hi Riska, yes, you can use 1/2 cup tomato sauce to replace the tomato paste and skip the water. The dish might end up a bit sweeter, since tomato paste is a bit sour than tomato sauce. What you can do is only adding 1/2 tablespoon sugar when you’re mixing the sauce and taste it. You can add the rest sugar if it’s not sweet enough. Hope this could help and happy cooking! 🙂

  11. Janet says:

    Hi Maggie, just want to know what brand tofu did you used in the recipe. Thanks.

    • Maggie says:

      Hi Janet, if you’re based in the US, you can try “House Foods” (you should be able to find it at most Asian market, Whole Foods or other upscale supermarket). If you cannot find this brand, actually you won’t go very wrong with the dish if you just pick any packaged tofu with the right type. If this is your first time cooking with tofu, you can get the firm type (http://www.house-foods.com/product/PREMIUM+TOFU+FIRM+16+oz./). When you get used to handling tofu, I will suggest using medium firm type (http://www.house-foods.com/product/PREMIUM+TOFU+MEDIUM+FIRM+16+oz./). It’s a bit delicate, so you need to pay some attention not to break them during the cooking. But it will generate a very tender texture with a crispy surface, which I enjoy the most. Hope this is helpful.
      Happy cooking and let me know how the dish turns out 🙂

  12. Suzanne L Reuben says:

    Do you have a vegetarian cookbook ?

  13. Od says:

    5 stars
    Made this tonight and it turned out great. Its a bit different take on sweet and sour sauce but overall the taste is excellent. Gah I uou so much for sharing this recipe!

  14. lauren says:

    reading this and am so glad i came across your site maggie 🙂
    i’m a student living away from asia for the first time, and sadly my asian cooking skills are near zero.
    i’ll be trying some of your recipes, i’m glad youve made them so easy to follow, even for novices like me



  15. Efan says:

    5 stars
    Yummy and satisfying dish with very little prep.

  16. Sophie says:

    5 stars
    I made this recipe yesterday for dinner and I was pleasantly surprised with the result! This is a super quick, tasty and simple recipe that I will add it to my regular rotation. I used 1tbsp of maple sirup as suggested and it was perfect.

  17. joslin says:

    I never squeeze my tofu. But to make a meatier texture … have you or your husband tried freezing and refreezing your tofu before use? I do this to get a layered meaty texture (from the water crystals forming and melting). When I lived in Asia, I had a strong little toaster oven. I could marinade then bake tofu squares…they always came out puffy and delicious. My large convection oven doesn’t work as well! I LOVE tofu!

    • Maggie says:

      I do! I love frozen tofu because it absorb more sauce and becomes more flavorful. I should do it more often but sometimes I’m not so organized to thaw it in advance. Thanks for sharing the tip on refreezing. Can’t wait to try it out next time 🙂

Omnivore's Cookbook: Make Chinese Cooking Easy
BuzzFeedGood HousekeepingHuffington PostLucky ChowMSNReader's DigestSaveurYahoo! News

FREE 5-Day Chinese Cooking Crash Course

Cooking delicous Chinese food is easier than you think!





Follow us on Facebook