Sweet and Sour Tofu (糖醋豆腐)

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

Extra crispy sweet and sour tofu served with crunchy, colorful vegetables and a rich, sticky sauce for a delicious Chinese dinner! The result is so good that you won’t want to order takeout again. {Vegetarian, Vegan, Gluten-Free Adoptable}

Sweet and sour tofu with pepper and onion over steamed rice

If you appreciate a simple and tasty tofu stir fry, you can’t miss this sweet and sour tofu. I’ve posted a few Chinese takeout style tofu recipes in the past, such as General Tso’s Tofu, Tofu and Broccoli, and Black Pepper Tofu. I’ve gotten so many requests for sweet and sour tofu, so I finally developed one for you. I can’t believe it took me so long to get to making this dish, because it tastes SO GOOD! The tofu cubes are golden crispy, extra crunchy on the outside, and tender inside. The sauce is very fragrant and rich. Serve it over steamed white rice – it is truly an indulgent feast. 

So let’s jump in and learn how to make this delicious dish!

The secret to extra flavorful and crispy tofu

I rarely press tofu. But I have a few tricks that helps you create the best tofu texture:

  1. Use a bit of salt to marinate the tofu before cooking. The salt draws moisture out of the cut tofu and seasons it at the same time. All you need to do is pat the tofu dry right before cooking. It will not be waterlogged and will have a better taste. 
  2. Cornstarch adds the best crunchy crispy texture. You can actually directly pan fry the tofu until golden brown and crispy. But by using cornstarch, it gives you the extra crunchiness and a delicious taste, one that is like deep fried battered tofu but without deep frying.
  3. Pan fry the tofu long enough to crisp it up. You do not need a wok or deep fryer for this heavenly crispy texture. All you need is a nonstick skillet and a thin layer of oil that is just enough to cover the whole skillet. The key is to let the tofu cook long enough so it has time to crisp up. 
Take-out style crispy tofu with pepper and onion in sticky sauce
Sweet and sour tofu over steamed rice close up

Best pan for sweet and sour tofu

I highly recommend a 12” (or larger) nonstick skillet to make sweet and sour tofu. It simply saves you so much trouble because the tofu won’t stick to the skillet and fall apart when you try to pry it up.

It is entirely possible to use a cast iron skillet or a carbon steel skillet. But you will need to use a bit more oil. Also make sure to cook the tofu until fully browned before moving it, to keep it intact. 


Your table should have marinated tofu, cornstarch, oil, mixed sauce, aromatics in a bowl, and pepper and onions on a plate.

I prefer to group ingredients together if I plan to add them at the same time during cooking. It saves some cleanup and it makes me less likely to forget to add them. 

PS. I always love a colorful sweet and sour tofu so I used a third of three different colored peppers. Feel free to use any color(s) you prefer!

Ingredients for making sweet and sour tofu
Sweet and sour tofu over steamed rice

How to cook sweet and sour tofu

Cooking sweet and sour tofu couldn’t be easier!

  1. Mix the oil and cornstarch with the tofu. It’s totally OK if the tofu is not coated evenly. It creates a nice texture this way.
  2. Pan fry the tofu. Take time to make sure the bottom is browned before flipping it.
  3. Cook the other side of the tofu. Separate it with chopsticks if you can, because it tends to stick together due to the cornstarch. Once done, remove the tofu so it crisps up a bit more before mixing with the sauce.
  4. Fry the aromatics until fragrant.
  5. Add the sauce and cook until slightly thickened.
  6. Add back the tofu with vegetables. Stir to mix well and serve!

NOTE: I prefer to cook my vegetables very briefly, so they stay vibrant and crisp. If you prefer the vegetables a bit more softened, you can add them after you fry the aromatics. Quickly stir frying them for a minute will do the job. Then proceed to add the sauce and tofu.

Cooking sweet and sour tofu step-by-step


Granted, this sweet and sour tofu does contain quite a bit of sugar. But it is still much healthier than the restaurant version. I used plenty of aromatics to make the sauce fragrant without using too much sugar. If you have a family member who doesn’t usually like tofu, I think this one will be a great introduction to the magical world of tofu!

Take-out style crispy tofu with pepper and onion in sticky sauce

More delicious tofu recipes

Want to Know More?Receive our 5-Day Chinese Cooking Crash Course & Recipe Updates! Subscribe
Extra crispy sweet and sour tofu served with crunchy, colorful vegetables and a rich, sticky sauce makes a delicious Chinese dinner! The result is so good that you won’t want to order takeout again. {Vegetarian, Vegan, Gluten-Free Adoptable}

Sweet and Sour Tofu (糖醋豆腐)

5 from 10 votes
Extra crispy sweet and sour tofu served with crunchy, colorful vegetables and a rich, sticky sauce for a delicious Chinese dinner! The result is so good that you won’t want to order takeout again. {Vegetarian, Vegan, Gluten-Free Adoptable}
To make the dish gluten-free, use dry sherry to replace the Shaoxing wine. Use tamari to replace the soy sauce.
Author: Maggie Zhu
Course: Main
Cuisine: Chinese
Keyword: restaurant-style
Prep Time: 18 minutes
Cook Time: 12 minutes
Total Time: 30 minutes
Servings: 4 servings



  • 1 block (16 ounces / 450 g) extra firm tofu , cut into 1/2 inch (1 cm) squares
  • 1/4 teaspoon salt
  • 1 tablespoon peanut oil
  • 4 tablespoons cornstarch


  • 2 tablespoons ketchup
  • 2 tablespoons Shaoxing wine (or dry sherry)
  • 2 tablespoons rice vinegar
  • 2 tablespoons light soy sauce (or soy sauce)
  • 3 tablespoons brown sugar (*Footnote 1)
  • 2 tablespoons water
  • 1/2 tablespoon cornstarch


  • 1/4 cup peanut oil (or vegetable oil)
  • 2 cloves garlic , minced
  • 2 teaspoons minced ginger
  • 1/2 small white onion , chopped into 1/2 inch (1 cm squares)
  • 1 sweet pepper , chopped into 1/2 inch (1 cm squares) (I used a mix of colors in this recipe)


  • Marinate the tofu: Spread the tofu on a medium-sized baking sheet and sprinkle with salt. Gently mix a few times. Let marinate for 15 to 20 minutes while preparing the other ingredients.
  • For the sauce: Mix all the sauce ingredients together in a small bowl and set aside.
  • Prepare the tofu: When you’re ready to cook, pat the tofu dry with paper towels. Add the peanut oil. Mix a few times. Then add the cornstarch, one tablespoon at a time. Stir gently until all the tofu is coated evenly with a thin paste.
  • To cook the stir fry: Heat oil over medium-high heat in a large skillet until hot. Add the tofu pieces in a single layer.
  • Cook over medium heat until the bottom turns golden, 4 to 5 minutes or so. If using a nonstick skillet, use a pair of chopsticks to separate the tofu as much as you can during the time (*Footnote 2). Flip to brown the other side, another 3 to 4 minutes until turning golden. Transfer the tofu to a big plate and remove the pan from the stove.
  • You should still have 1 to 2 tablespoons of oil in the pan. Wipe off any excess oil with paper towels if needed. Add green onion and garlic. Cook and stir a few times until it releases fragrance.
  • Stir the sauce again to dissolve the cornstarch completely. Pour into the pan. Stir and cook until it thickens.
  • Add the white onion and peppers. Stir a few times, then add back the cooked tofu. Stir to coat everything with the sauce, 30 seconds or so. Transfer everything to a big plate. Serve hot as a main dish.


  1. Reduce to 2 tablespoons sugar for a less sweet dish.
  2. The tofu tends to stick together because of the cornstarch, so separating it helps with the later cooking. However, you should not try to separate the tofu if using a carbon steel or cast iron pan, as doing so will break apart the tofu pieces. Wait until the bottom is fully cooked before flipping, and the tofu will release without issue.



Serving: 1serving, Calories: 304kcal, Carbohydrates: 26.5g, Protein: 10.6g, Fat: 18.4g, Saturated Fat: 3.3g, Sodium: 765mg, Potassium: 317mg, Fiber: 2g, Sugar: 13.2g, Calcium: 246mg, Iron: 2mg
Did You Make This Recipe?Don’t forget the last step! Leave a comment below, and tag me @OmnivoresCookbook and #OmnivoresCookbook on Instagram!

The recipe was updated with major changes in 2022. If you want the older version, see the recipe below:

Sweet and Sour Tofu (Old Version)


  • 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)


  • 1/2 head small broccoli, cut into bite size florets
  • 2 tablespoons vegetable oil
  • 1 (16-oz. / 450-g) pack extra-firm or firm tofu, drained and cut into bite size pieces (about 1/2″ thick, 1 1/2″ long and wide)
  • 1/2 small onion, sliced
  • 3 cloves garlic, minced
  • 1 teaspoon minced ginger
  1. Mix all the ingredients for the sweet and sour sauce in a bowl. Set aside.
  2. 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.
  3. 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.
  4. 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. 
  5. Add the garlic and ginger. Stir a few times until fragrant. 
  6. 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. 
  7. 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.

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

      • Soner Ali says:

        Hi Maggie
        Is this a new recipe for sweet and sour tofu,I seem to remember the old recipe used tomato paste not ketchup,I don’t know if y remember but I asked you to bring back the old mapo tofu recipe when you updated that and you very kindly did, could you do the same with your original sweet and sour tofu recipe.
        Thank you.

      • Maggie Zhu says:

        I just added it back to the bottom of the page.
        Looking at the old recipe, I’m surprised to see how little sugar I used to use. I lived in the US for too long and my taste bud did changed a lot lol
        My vegetarian friends loved the new recipe though. Taste like candies, but it does hit the spot 🙂

  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 🙂

  18. Joe Doe says:

    5 stars
    I think the recipe needs to be corrected from green onion to ginger.

  19. Simone says:

    5 stars
    Great recipe. I made minor adjustments including swapping shaoxing wine for jack daniels and using tomato paste instead of ketchup as well as adding carrots and mushrooms. It worked very well

  20. Pam S says:

    5 stars
    We made the newer version using ketchup and it was delicious! I did air fry the tofu because it can be a pain and all was really good! We’ll likely make again.

  21. Marcy says:

    5 stars
    You know when your teenage son asks for more tofu, that it’s good!

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