
Gochujang Tofu and Zucchini Stir-Fry
Crisp cornstarch-coated tofu and seared zucchini are tossed in a glossy, spicy-sweet gochujang sauce with garlic, ginger and toasted sesame. It's a fast, fully vegan weeknight dinner that is best over hot rice.
- Prep
- 15 min
- Cook
- 20 min
- Wait
- 15 min
- Total
- 50 min
- Makes
- 4 servings (about 6 cups stir-fry, plus rice)
Steps
Before you start
- Start the tofu pressing first. The 15-minute press is the longest part and makes the tofu crisp.
- Cook the rice (or reheat it) while the tofu presses so it is ready when the stir-fry is done.
- Check your gochujang label: brands vary in heat and sweetness, and a few contain non-vegan additives. Choose one that suits your diet.
- Have everything cut and the sauce mixed before you turn on the heat. The final steps move quickly.
Press the tofu
- Drain the tofu and wrap the block in a clean kitchen towel or a few layers of paper towels.
- Set it on a plate or board and put a heavy skillet or a few cans on top.
- Let it press for 15 minutes to squeeze out excess water.
+ Show details− Hide details
Ready when: The towel is damp and the tofu feels noticeably firmer and drier
Tip: Don't press so hard that the block cracks. Steady, even weight is enough.
Mix the sauce
- In a small bowl, whisk together the gochujang, soy sauce, maple syrup, rice vinegar, toasted sesame oil and water until completely smooth with no streaks of paste.
+ Show details− Hide details
Ready when: The sauce is uniform in color and pours like thin ketchup
Tip: Taste a tiny drop. Gochujang brands vary, so add a splash more water if yours is very salty or thick.
Prep and coat tofu
- Cut the pressed tofu into ¾-inch (2 cm) cubes and put them in a large bowl.
- Sprinkle with the cornstarch and toss gently until every cube has a thin, dry-looking white coating.
- Slice the zucchini and scallions, mince the garlic and grate the ginger, and keep the scallion whites and greens separate.
+ Show details− Hide details
Ready when: No wet patches or loose clumps of cornstarch remain on the tofu
Tip: Toss with a gentle folding motion. Rough handling breaks the soft edges.
Pan-fry the tofu
- Heat 2 tablespoons (30 ml) of the oil in a 12-inch (30 cm) skillet over medium-high heat until it shimmers, about 2 minutes.
- Add the tofu in a single layer, leaving a little space between cubes.
- Cook without moving for 3 minutes, then turn the cubes every 2 to 3 minutes with a spatula for 9 to 10 minutes in total.
+ Show details− Hide details
Ready when: Most sides are deep golden and crisp, and a cube sounds firm when tapped with the spatula
Tip: Let the tofu release from the pan on its own. If it sticks, give it another 30 seconds before turning.
Set the tofu aside
- Transfer the crisp tofu to a plate.
- Leave any leftover oil in the pan, and wipe out any burnt cornstarch bits with a paper towel held in tongs if the pan looks dark.
+ Show details− Hide details
Ready when: Tofu is out of the pan and the pan is clean enough to sear vegetables
Sear the zucchini
- Return the pan to high heat and add the remaining 1 tablespoon (15 ml) oil.
- Add the zucchini in a mostly single layer, sprinkle with the salt and cook, stirring only every 45 seconds or so, for 3 to 4 minutes.
+ Show details− Hide details
Ready when: Zucchini is browned in spots and bright green but still slightly crisp when pierced with a fork
Tip: Don't cook it until soft. Zucchini keeps cooking in the sauce and turns watery if overdone.
Add the aromatics
- Reduce the heat to medium.
- Push the zucchini to the sides, add the scallion whites, garlic and ginger to the center and stir for 30 seconds, then mix everything together.
+ Show details− Hide details
Ready when: The kitchen smells strongly of garlic and ginger, and the garlic is pale gold, not brown
Tip: Burnt garlic turns bitter. If the pan smokes, lift it off the heat for a few seconds.
Glaze with sauce
- Pour in the sauce and return the tofu to the pan.
- Stir and fold gently for 1 to 2 minutes so the sauce bubbles and thickens.
+ Show details− Hide details
Ready when: The sauce turns glossy and clings to the tofu and zucchini, and no thin liquid pools in the pan
Tip: Gochujang scorches easily because of its sugar, so keep stirring.
Finish and serve
- Remove from the heat and fold in most of the scallion greens and half the sesame seeds.
- Spoon over hot rice, if using, and top with the remaining scallion greens and sesame seeds.
- Serve right away while the tofu is still crisp.
+ Show details− Hide details
Ready when: Everything is evenly coated and speckled with sesame seeds and green scallion
Tip: The tofu softens as it sits in the sauce, so serve within a few minutes of finishing.
Good to know
Tips
- Dry tofu is the secret to crispness. Don't skip pressing and coat the cubes right before frying.
- For more heat, add 1 teaspoon gochugaru (Korean chili flakes) to the sauce. For less heat, use 2 tablespoons gochujang and add 1 extra teaspoon maple syrup.
- Don't crowd the pan. If your skillet is smaller than 12 inches, fry the tofu in two batches.
- Salt the zucchini only in the hot pan, not ahead of time, to avoid drawing out water.
Make ahead
Press, cube and cornstarch-coat the tofu, slice the vegetables and mix the sauce up to 1 day ahead. Store each separately in the fridge (cover the sauce). Cook just before serving for the best texture.
Storage & reheating
Room temperature: up to 2 hours. Fridge: up to 3 days in an airtight container. Freezer: not recommended, as zucchini turns mushy. Reheat in a skillet over medium heat for 3 to 4 minutes with a splash of water, or microwave in 30-second bursts. The tofu will be softer than when fresh.
Substitutions
- medium zucchini → Yellow summer squash, or Korean zucchini (aehobak). Use the same weight and cooking time.
- maple syrup → Light brown sugar or agave. Use 1 tablespoon (12 g) brown sugar, stirring it into the sauce until dissolved.
- unseasoned rice vinegar → Apple cider vinegar or lime juice. Use the same amount. The flavor will be a little sharper.
- soy sauce → Tamari. Makes the dish gluten-free if your gochujang is also gluten-free.





