Sweet and Sour Tofu perfectly balances sweet and savory flavors with crispy tofu. It’s a delicious vegetarian takeout classic that is easy to make at home. In just 30 minutes, you can have your favorite vegan Chinese takeout meal.
I love tofu and luckily, so does the rest of my family. We’re not vegetarians, but we try to eat frequent meat-free dinners. Tofu is a great protein for those vegetarian meals because it soaks up the flavors of whatever you cook it with.
This vegan version of the Chinese restaurant classic Sweet and Sour Pork will please vegetarians and meat eaters alike. The crispy fried tofu is coated in the same sweet and sour sauce as in the original version.
What ingredients do you need to make sweet and sour tofu?
The ingredients you need to make Sweet and Sour Tofu are mostly common items that you likely already have at home. (Please scroll down to the recipe card for the detailed ingredients list with measurements, as well as detailed step-by-step cooking instructions.)
- Firm or extra firm tofu pressed
- Soy sauce
- Black rice vinegar
- Cooking oil
- Green bell pepper
- Red bell pepper
- Sesame seeds
- Brown sugar
- Tomato paste (or substitute ketchup)
- White vinegar
- Hoisin sauce
What is black rice vinegar?
The resulting vinegar is very dark in color. The flavor is complex, malty, slightly sweet, and only moderately acidic.
It comes from the Zhenjiang in Jiangsu province in Southern China.
Chinese black vinegar is used similarly to the way Balsamic vinegar is used in Italian cuisine. It adds mild acidity and a bit of sweetness to dressings, cold dishes, braised meats, and as a dipping sauce.
In Sweet and Sour Tofu, it adds both mild acidity and an additional layer of sweetness to the sauce.
You can buy Chinese black vinegar in Asian markets and some supermarkets, as well as online. If you can’t find it, you can substitute white rice vinegar or even balsamic vinegar (just don’t use the thick, syrupy, long-aged type which tends to be very sweet and won’t have that acidic kick to it).
What is hoisin sauce?
Hoisin sauce is a fermented soybean paste with vinegar, garlic, sesame oil, chile peppers, and sugar or other sweeteners.
It is a dark, thick condiment with savory-sweet flavor with lots of umami. It gives sauces and marinades both color and depth of flavor.
You can buy hoisin sauce in Asian markets and in most supermarkets. If you can’t find it, you could substitute sweet soy sauce or regular soy sauce mixed with some brown sugar.
How to prepare tofu for cooking
If I have the time, I like to freeze tofu and then thaw it before marinating. This gives the tofu a sponge-like texture that enables it to really soak up the marinade flavors.
If I haven’t frozen and thawed the tofu, I press out as much water as I can before dicing and marinating it. I use this tofu press to press the excess moisture out of the tofu.
If you don’t have a press, slice the tofu into slabs and place them in a single layer on top of a few layers of clean dishtowels or paper towels. Next place a few more layers of dishtowel or paper towel on top.
Top the whole thing with a baking sheet. Place a few cans of beans or other heavy objects on top of the baking sheet to weigh it down.
Let this setup stand for 15 to 30 minutes (the longer the better). This will press out much of the tofu’s water, making it more receptive to your marinade.
Now you are ready to make the Sweet and Sour Tofu or any other recipe where you want the tofu to absorb a flavorful marinade or sauce.
How to make sweet and sour tofu
This vegan sweet and sour tofu recipe is easy to make. Here are the basic steps (scroll down to the recipe card for the complete, detailed, step-by-step instructions and ingredient measurements).
- Start by pressing the excess water out of the tofu (see above) or thaw frozen tofu.
- Once the tofu is ready to marinate, mix the marinade ingredients in a bowl and add the diced tofu to it. Marinate for about 10 minutes and then drain off the marinade.
- Toss the tofu with cornstarch to coat.
- Heat cooking oil in a skillet and then add the tofu cubes. Fry, turning occasionally, until the tofu cubes are crisp and golden brown all over Remove the tofu from the skillet and drain on paper towels.
- Remove the excess oil from the skillet and add onions, carrots, and bell peppers, and sauté them until they are softened and beginning to brown. Remove the vegetables from the skillet, transferring them to a bowl.
- Add the sauce ingredients and bring to a boil, reduce the heat, and simmer until the liquid thickens, about 3 minutes.
- Return the tofu and vegetables to the skillet and toss to heat through. Season with salt and pepper as needed, squeeze lemon juice over the top, and garnish with sesame seeds.
- Serve hot.
What do you serve with Sweet and Sour Tofu?
Because this recipe includes protein and veggies, I usually just serve it with steamed white rice or steamed brown rice.
Tips for success
- You can prepare the tofu in an air fryer rather than frying it in the skillet, if you like.
- Or you can bake the tofu on a parchment-lined baking sheet. Bake in a preheated 425°F oven for 30 to 40 minutes or until crispy and golden brown.
- If you don’t have tomato paste, you can substitute ketchup.
- This recipe is very versatile, if you don’t have bell peppers, use zucchini instead. Or substitute celery for the carrots.
- You can store leftover Sweet and Sour Tofu in a covered container in the refrigerator for up to 5 days.
More vegetarian recipes you’ll love
- Vegetarian Dan Dan Noodles
- Sweet and Sour Tofu
- TikTok’s Crazy Good Baked Feta Pasta
- Crispy Tofu
- Burmese Garlic Noodles
- Palak Paneer
- Instant Pot Mulligatawny
- Instant Pot Falafel
- Instant Pot Hummus
- Bombay Sandwiches
- Instant Pot Turmeric Congee
For the tofu and vegetables
- ¼ cup soy sauce
- 2 tablespoons black rice vinegar
- 1 ¼ pounds firm or extra-firm tofu, excess water pressed out (see notes), cut into cubes
- ½ cup cornstarch
- 1 cup cooking oil (see notes)
- 1 onion, finely sliced
- 1 cup diced carrots
- 1 green bell pepper, julienned
- ½ red bell pepper, julienned
- Juice of 1 lemon
- 1 tablespoon sesame seeds
For the sauce
- ¼ cup brown sugar
- 2 tablespoons tomato paste (see note)
- 2 tablespoons white vinegar
- ¼ cup hoisin sauce
- ¼ cup soy sauce
- 3/4 cup water
- 2 tablespoons cornstarch mixed with 2 tablespoons of water
- In a large bowl, stir together the soy sauce and black rice vinegar. Add the tofu, toss to coat, and allow it to marinate for 10 minutes.
- Next, drain the marinade off (discard the marinade) and transfer and add the cornstarch to the bowl with the tofu toss until the tofu is well-coated.
- Heat a skillet or wok over medium-high heat, add the oil and when it begins to shimmer, add the tofu. Cook, turning occasionally until it is crisp and golden brown on all sides. Transfer to a paper towel-lined plate.
- Remove the excess oil from the skillet and add the onions, carrots, and bell peppers. Stir-fry until slightly browned, about 5 minutes. Transfer the vegetables to a bowl.
- In the same skillet, combine the sauce ingredients—the brown sugar, tomato paste, white vinegar, hoisin sauce, soy sauce, and water. Bring to a boil, stir in the cornstarch mixture, and then reduce the heat to medium-low. Simmer until the sauce has thickened, about 3 minutes.
- Return the tofu and vegetables to the skillet and stir them into the sauce. Cook a minute or two longer to heat through. Taste and adjust seasoning if needed.
- Just before serving, squeeze the lemon over the top.
- Serve hot, garnished with the sesame seeds.
- and sprinkle sesame seeds.
1. To freeze and thaw the tofu before marinating, see this post.
2. If you aren't using the freezing/thawing method for the tofu, press out the excess water. You can use a tofu press to press or slice the tofu into slabs and place them in a single layer on top of a few layers of clean dishtowels or paper towels. Next place a few more layers of dishtowel or paper towel on top. Top the whole thing with a baking sheet. Place a few cans of beans or other heavy objects on top of the baking sheet to weigh it down. Let this setup stand for 15 to 30 minutes (the longer the better). This will press out much of the tofu’s water, making it more receptive to your marinade.
2. You can use any neutral-flavored, high smoke point oil for frying the tofu. I use safflower oil. Other good options are sunflower seed oil, peanut oil, canola oil, grapeseed oil, or corn oil.
3. You can cook the tofu in an air fryer rather than frying it in the skillet.
4, Or you can bake the tofu on a parchment-lined baking sheet. Bake in a preheated 425°F oven for 30 to 40 minutes or until crispy and golden brown.
5. If you don’t have tomato paste, you can substitute ketchup.
6. This recipe is very versatile, if you don’t have bell peppers, use zucchini instead. Or substitute celery for the carrots.
7. You can store leftover Sweet and Sour Tofu in a covered container
in the refrigerator for up to 5 days.