Janet Gronnow’s spicy sweet & sour tofu broccoli stir-fry from her cookbook 15-Minute Vegan Meals is a quick and flavorful option for any meal. This dish combines crispy tofu, tender broccoli, and a tasty sauce that balances sweet, sour, and spicy notes. The sauce, made with gochujang, orange juice, and chili garlic sauce, gives the meal its signature tangy kick.
Full of plant protein from the tofu and nutrients from the broccoli, this recipe makes a wholesome dinner. It’s versatile, too — serve it over jasmine rice and garnish with sesame seeds and scallions for a complete plate. If you want to save time, the recipe suggests easy swaps, like steaming broccoli in the microwave or skipping the tofu coating step.
Perfect for busy weeknights or when you’re craving bold flavors, this stir-fry delivers on taste and simplicity. It’s a quick way to enjoy a vibrant, plant-based meal without spending hours in the kitchen. Whether you’re cooking for yourself or sharing with family, this dish is sure to please.
Read more: How To Make This Vegan Teriyaki Tofu Rice Bowl
Spicy sweet & sour tofu broccoli stir fry
Ingredients
For the stir fry
- 1 cup (200 g) jasmine rice
- 10 oz (283 g) precut broccoli florets bite-sized pieces
- ½ cup (64 g) cornstarch
- ¼ cup (60 ml) avocado oil
- 16 oz (454 g) super-firm tofu
- ¼ tsp kosher salt
- ¼ tsp black pepper
- ¼ large red onion
- 2 tsp (6 g) sesame seeds for serving
- 3 tbsp (8 g) sliced scallions for serving
For the sauce
- ¼ cup (60 ml) ketchup
- 2 ½ tbsp (38 ml) agave nectar
- 2 tsp (10 ml) soy sauce
- 2 tbsp (30 ml) gochujang
- 1 ½ tbsp (60 ml) rice vinegar
- ¼ cup (60 ml) orange juice
- 1 tsp garlic powder
- 1 tsp chili garlic sauce
Instructions
- In a medium saucepan, add the jasmine rice plus 2 cups (480 ml) of water. Bring it to a boil, covered, then immediately reduce the heat to low and cook it until the rice is tender and the water has been absorbed, around 12 minutes.
- To prepare the broccoli, add the florets and approximately 1 inch (2.5 cm) of water to a medium saucepan and bring it to a boil, covered. Reduce the heat to low and cook for 3 to 4 minutes, or until it’s crisp-tender, then drain the broccoli and set it aside.
- Meanwhile, add the cornstarch to a large mixing bowl. Preheat a large pan on medium-high heat and add the oil. Let the oil heat up while you drain the tofu and cut it into 1⁄2-inch (1.3-cm) cubes.
- Toss the tofu cubes in the cornstarch to coat, then transfer the tofu to the pan, gently shaking off any excess cornstarch. Be careful to avoid oil splatter.
- Season the tofu with salt and pepper, and cook for 7 to 9 minutes, until it’s lightly golden, gently tossing every few minutes. While the tofu cooks, slice or chop the onion and add it to the pan to cook with the tofu.
- While the tofu cooks, make the sauce. To a small saucepan, add the ketchup and agave nectar, and begin cooking on medium to medium-high heat as you add the soy sauce, gochujang, rice vinegar, orange juice, garlic powder, and chili garlic sauce, stirring together until smooth.
- Once it simmers and thickens somewhat, add it to the crispy tofu, along with the cooked broccoli. Gently stir together and serve with the rice, sesame seeds, and scallions.
Reprinted with permission from 15-Minute Vegan Meals by Janet Gronnow. Page Street Publishing Co. 2022.
Read more: Curry Spiced Red Lentil Stew