Skip to Content

Sweet and Sour Tofu with Vegetables & Pineapple

This sweet and sour tofu uses seared crispy tofu wrapped in a simple rich sauce & lots of veggies to create the perfect vegan fakeaway.

Taking just 25 minutes to cook also means that it is much quicker than your local takeaway!

Vegan sweet and sour tofu loaded with vegetables served on a blue plate.

Vegan Tofu Stir Fry.

I’ve been guilty of being pretty rude about tofu in the past but I am gathering a taste for it!

I’m neither vegan nor vegetarian and do not use tofu as a “meat substitute”. I use it for what I think it is good at, and that to me is carrying flavour and delivering texture.

In both my Vietnamese fried tofu and salt and pepper tofu recipes its role is to be kinda crispy, whereas it is soft and smooth in my gochujang tofu stew.

It plays a halfway house in my tofu katsu curry and tofu satay recipe.

In this sweet and sour tofu recipe, its role is to be a little more “chewy”, much like in my teriyaki tofu recipe and vegan massaman curry recipe.

We begin by frying off the tofu to get a nice crispness. Then set it aside, whilst we stir fry some vegetables and pineapple.

We finish it off with a variation on a sweet and sour sauce that I use in everything from my sweet and sour pork chops to my BBQ chicken skewers and sweet and sour prawns.

Tofu is like a sponge and sucks up those flavours. Frying it off first means we get a unique almost chewy outside texture that I love.

It’s something that that you can only get when you combine tofu with a sticky sauce.

Combine that with a comfortable 30 minute cooking time and you have the perfect midweek fakeaway!

Overhead vegan sweet and sour tofu loaded with vegetables.

Frequently Asked Questions.

What type of tofu should I use?

You are looking for extra firm tofu. If you cannot get that buy firm tofu, wrap it in a cheesecloth or some muslin and press it overnight.

To do this sandwich it between two plates and place a weight on top. This will drive out liquid and give you the right texture.

Can I use different vegetables?

Absolutely, knock yourself out! Cauliflower and broccoli are both particularly good. I like both cauli and broccoli quite ‘al dente” so I do not think they need blanching first.

If you are using root vegetables then they will definitely a bit of parboiling. 5-10 minutes in rapidly boiling water should be fine but you must allow them to steam dry a little before adding to the pan.

Can I use fresh pineapple?

Yes, just sub it in for the same amount as canned.

What is Chinkiang vinegar?

Chinkiang vinegar is a Chinese black vinegar. It has a wonderful flavour and I use it in lots of my Chinese-inspired dishes, everything from my Instant Pot Chinese Spare Ribs to my Teriyaki Salmon.

Close up vegan sweet and sour tofu loaded with vegetables.

Serving Suggestions.

For me sweet and sour anything needs rice as a side because it is the perfect flavour vehicle and this tofu is no different.

I personally usually go for plain old boiled rice! There is more than enough flavour and veggies here to make this work.

However it works well with fried rice too.

If you are sticking to the vegan approach then this vegetable fried rice would be great.

If you are fine with vegetarian rather than vegan then I’d go with egg fried rice as a side for this sweet and sour tofu.

Vegan sweet and sour tofu loaded with vegetables and pineapple.
Yield: 2 Servings

Sweet and Sour Tofu Recipe

Prep Time: 5 minutes
Cook Time: 25 minutes
Total Time: 30 minutes

This sweet and sour tofu recips is a simple quick and utterly delicious vegan version of the ever-popular favourite Chinese takeaway dish.


  • 300g (10 oz) Extra Firm Tofu
  • 2 Tbsp Cornflour (Cornstarch)
  • 2 Cloves Garlic
  • 1 Tbsp Grated Ginger
  • 75g (1/2 Cup) Red Onion
  • 1 Small Courgette (Zucchini)
  • 100g (1/2 Cup) Pineapple Chunks
  • 1 Spring Onion
  • 2 Tbsp Cooking Oil
  • 1 Tbsp Sesame Seeds

For the Sauce:

  • 1 Tbsp Dark Soy Sauce
  • 1 Tbsp Light Soy Sauce
  • 1 Tbsp Rice Wine (Check to ensure that it is vegan)
  • 2 Tbsp Chinkiang Vinegar
  • 1 Tbsp Light Brown Sugar
  • 1 Tbsp Tomato Ketchup
  • 3 Tbsp Pineapple Juice (From the can is fine so long as it is not syrup)
  • 1 Tbsp Toasted Sesame Oil
  • 50ml (3 Tbsp + 1 Tsp) Water
  • 1 Tbsp Cornflour


  1. Place all of the ingredients for the sauce into a saucepan with the exception of the cornflour and bring to a boil.
  2. Cook the sauce for 5 minutes on a rapid boil remove and set aside.
  3. Slice the spring onion into circles as thinly as possible.
  4. Mix the cornflour for the sauce with 1 tablespoon of water and set aside.
  5. Cut the tofu into 25mm (1") cubes and dredge with 2 tablespoons of cornflour.
  6. Top and tail the red onion and cut into 8 wedges.
  7. Remove the seeds from the red pepper and cut it into 25mm (1") dice.
  8. Mash the garlic and grate the ginger.
  9. Cut the courgette in half lengthways and then into half moon shapes approximately 1.5cm (1/2"-3/4") thick.
  10. Heat a nonstick frying pan over a medium high heat and when hot add the cooking oil.
  11. Remove any excess cornflour from the tofu and fry on all four sides until golden brown, remove and set aside.
  12. Return the pan to a high heat and add the red onion and red pepper and stir fry for 3-4 minutes.
  13. Add the courgette and pineapple then cook for another minute.
  14. Return the tofu to the pan and pour over the sauce.
  15. Give the cornflour another stir and ou it into the pan mixing constantly.
  16. As soon as the sauce thickens serve topped with the chopped spring onions and sesame seeds.

Nutrition Information:



Serving Size:


Amount Per Serving: Calories: 464Total Fat: 31gSaturated Fat: 4gTrans Fat: 0gUnsaturated Fat: 26gCholesterol: 0mgSodium: 1077mgCarbohydrates: 31gFiber: 4gSugar: 21gProtein: 19g

Calorific details are provided by a third-party application and are to be used as indicative figures only.

Did you make this recipe?

If you made this recipe, I'd love to see what you did and what I can do better, share a picture with me on Instagram and tag me @krumplibrian and tell me how it went!

Skip to Recipe