SWEET & SOUR TOFU IS OUR FAVORITE EXCUSE TO STAY IN

Sweet and sour sauce is a staple across Chinese-American restaurant menus—and for good reason. The combination of savory, tangy, and sweet flavors pairs well with virtually every protein. That’s especially true when it comes to tofu—because it’s mild in flavor, the sweet and sour sauce truly shines (even the tofu haters in your household will ask for seconds).

The key to this recipe is the tofu’s crispy exterior, which means it requires a few special steps. The first is making sure you’re buying the correct type of tofu—in this case, it’s extra-firm. This variety has less water and more protein than softer varieties, which gives it more structural integrity when you toss it in the stir-fry.

The second step is crucial: You need to press the water out of the tofu. A tofu press is the most effective way to achieve this (and, in our opinion, it’s an essential kitchen item), but you can still squeeze out the water with a DIY solution. Place 3 layers of paper towels or a clean tea towel on a plate. Place tofu on towels and cover with another 3 layers of towels. Place a heavy can or small skillet on top of the tofu block to press the moisture out for 30 to 45 minutes. Replace towels once they get soaked.

The third secret to crispy tofu is by tearing it. You can certainly cut them into uniform cubes, but we'd suggest getting your hands dirty for the best texture. Using your hands to tear the tofu isn’t just a fun project—it also creates craggly edges that can pick up more of the cornstarch coating and gives your tofu the best texture possible.

Did you try making this? Let us know how it went in the comments!

Yields: 4 servings

Prep Time: 15 mins

Total Time: 1 hour 15 mins

Ingredients

  • 14 oz.

    extra-firm tofu

  • 1

    small red onion

  • 1

    red bell pepper

  • 1

    green bell pepper

  • 1

    (1") piece ginger, peeled

  • 2

    garlic cloves, peeled

  • 1/2 c.

    canned pineapple chunks plus 1/3 cup pineapple juice, divided

  • 3 tbsp.

    unseasoned rice vinegar

  • 2 tbsp.

    reduced-sodium soy sauce or tamari

  • 1 tbsp.

    ketchup

  • 1 tbsp.

    light brown sugar

  • 1 tbsp.

    plus 1/3 cup cornstarch, divided

  • 4 tbsp.

    neutral oil, divided

  • Kosher salt

  • Steamed white rice, for serving

  • Sesame seeds, for serving (optional)

Directions

  1. Place 3 layers of paper towels or a clean kitchen towel on a plate. Place tofu on towels and cover with another 3 layers of towels or another clean kitchen towel. Place a heavy can or skillet on top of tofu to press moisture out, pouring off excess water and replacing towels as they get soaked, 30 to 45 minutes (you can do this with a tofu press if you have one).
  2. Meanwhile, preheat oven to 425°. Cut onion and bell peppers into 1" pieces. Into a medium bowl or large measuring cup, grate ginger and garlic. Add pineapple juice, broth, vinegar, soy sauce, ketchup, brown sugar, and 1 Tbsp. cornstarch and stir to combine.
  3. Break tofu into rough 1" pieces and transfer to a large bowl; season with 1 tsp. salt. Drizzle with 1 Tbsp. oil and gently toss tofu to coat. Sprinkle with remaining 1/3 cup cornstarch and gently toss until tofu is coated. Arrange on a parchment-lined baking sheet and drizzle with 2 Tbsp. oil.
  4. Bake tofu, turning halfway through, until light brown and crisp, 25 to 30 minutes.
  5. When tofu has about 12 minutes remaining, in a large skillet or wok over medium-high heat, heat remaining 1 Tbsp. oil. Add onion and bell peppers; season with salt, then toss to coat vegetables with oil. Cook, stirring frequently, until vegetables start to soften and blister on the surface, 4 to 5 minutes. Transfer vegetables to a plate.
  6. Reduce heat to medium. Whisk sauce to reincorporate cornstarch and pour into skillet. Bring to a simmer and cook, stirring occasionally, until slightly thickened, about 4 minutes. Add vegetables, tofu, and pineapple chunks to skillet and toss to coat in sauce.
  7. Divide rice among bowls. Spoon tofu mixture over.

2025-01-10T15:17:03Z