Thai Vegetable Stir-Fry with Tofu

Broccoli, carrot, mushroom stir fry with tofu.
Westend61 / Getty Images
Prep: 15 mins
Cook: 15 mins
Total: 30 mins
Servings: 3 to 4 servings

Most vegetable stir-fries are a tad on the boring side, but not this one! This dish sings with so much flavor, you'll forget all about its amazing health benefits (plus it's vegetarian and vegan too). Using a good stir-fry sauce is one of the keys to creating a great veggie stir-fry; the other trick is knowing when to add each ingredient. At the same time, this recipe is pretty forgiving - you can add your own choice of vegetables, depending on what you have on hand. The tofu topping is delicious, but optional – if you just want vegetables, you'll still get a great stir-fry out of this recipe. 


  • For Tofu:
  • 3 tbsp. hoisin sauce
  • 1 tbsp. brown sugar
  • 12 oz. / 350 g. tofu (medium firmness 2 1/2 cups cubed)
  • 3/4 cup white all-purpose flour
  • 6 tbsp. vegetable oil (divided)
  • Stir-Fry Sauce:
  • 1/4 cup vegetable stock
  • 1/4 cup soy sauce
  • 1 tbsp. hoisin sauce
  • 2 tbsp. sweet chili sauce
  • 1 tsp. vinegar (rice or regular white vinegar)
  • 1 tbsp. sherry (or cooking sherry)
  • Vegetables:
  • 1 tbsp. onion (purple or white, finely chopped)
  • 3 to 4 cloves garlic (minced)
  • 1 medium carrot (sliced)
  • 1 stalk celery (sliced thickly)
  • 1 1/2 to 2 cups broccoli (florets)
  • 6 to 7 mushrooms (shiitake, sliced)
  • 1 1/2 to 2 cups bok choy (baby, or chopped green cabbage)
  • 1 bell pepper (red, sliced)
  • Optional: fresh chili slices or chili flakes

Steps to Make It

  1. Prepare the tofu: In a small mixing bowl, stir together the hoisin sauce and brown sugar until sugar dissolves.

  2. Slice tofu into 1- to 1 1/2-inch cubes or rectangles and add to the marinade, gently turning to saturate. Set in the refrigerator.

  3. Combine stir-fry sauce ingredients in a cup and set aside.

  4. Distribute flour over a large dinner plate. Remove tofu from refrigerator and gently turn each piece in the flour. Let tofu remain sitting in the flour.

  5. Heat a small to medium frying pan over high heat. Add 5 tablespoons vegetable oil. When oil is hot, add the floured tofu cubes. Fry 1 minute, then turn tofu and fry 1 more minute or until medium-browned on both sides. Remove tofu from oil and set on paper towel to drain. Reduce heat to medium-low and continue frying until all tofu is cooked. Reserve fried tofu on a sheet pan in a warm oven.

  6. Heat a wok or large frying pan over high heat. Add 1 tablespoon oil plus onion and garlic, and stir-fry 1 minute. Add carrot and celery plus 2 tablespoons of stir-fry sauce. Stir-fry for 2 minutes.

  7. Add broccoli and mushrooms. Stir-fry 2 minutes, adding more of the stir-fry sauce as you go.

  8. Add bok choy, red pepper, and remaining stir-fry sauce, frying everything together until vegetables are cooked but still retain some crispness (2 to 3 minutes). Remove from heat and taste-test. If too salty or sweet for your taste, add a little lime or lemon juice. Add more soy sauce if not salty or flavorful enough. Some fresh-cut chili or chili flakes can be added for more spice.

  9. To serve, transfer vegetables onto a serving plate or individual plates or bowls. Tip the pan to drizzle remaining sauce over, then top with the warm tofu. Serve with Thai jasmine rice.