This tofu and vegetable stir-fry is a flexible main dish built around crisp vegetables, browned tofu and a simple savory sauce.
The recipe uses exact quantities for the tofu, vegetables, cooking oil and sauce so the finished dish can be divided into predictable portions.
It makes 4 servings.
Ingredients
For the stir-fry
- 600 g firm tofu
- 250 g broccoli
- 200 g red bell pepper
- 200 g zucchini
- 150 g carrots
- 100 g onion
- 15 g fresh ginger
- 10 g garlic
- 20 g neutral cooking oil
For the sauce
- 45 ml reduced-sodium soy sauce
- 20 ml rice vinegar
- 15 g honey or maple syrup
- 10 g sesame oil
- 10 g cornstarch
- 80 ml water
Optional:
- chili flakes or fresh chili
- sliced spring onions
- sesame seeds
- black pepper
Before you start
Firm or extra-firm tofu works best because it holds its shape during frying.
Drain the tofu thoroughly.
If it contains a lot of water, wrap it in a clean kitchen towel or paper towels and press it gently for 10–20 minutes.
Then cut it into cubes approximately 2–3 cm wide.
Prepare the vegetables
Cut the vegetables before heating the pan because stir-frying moves quickly.
Divide the broccoli into small florets.
Slice the bell pepper into strips.
Cut the zucchini into half-moons.
Slice the carrots thinly so they cook at roughly the same speed as the other vegetables.
Slice the onion.
Finely chop or grate the ginger and garlic.
Make the sauce
In a small bowl, combine:
- soy sauce;
- rice vinegar;
- honey or maple syrup;
- sesame oil;
- cornstarch;
- water.
Whisk until the cornstarch is fully dispersed.
Stir the sauce again immediately before adding it to the pan because the starch can settle at the bottom.
Cook the tofu
Heat a large frying pan or wok over medium-high to high heat.
Add 10 g of the cooking oil.
Add the tofu in a single layer.
Cook for approximately 6–8 minutes, turning the cubes occasionally, until several sides are golden.
Avoid constantly stirring the tofu. Leaving it against the hot pan for a short time helps it brown.
Transfer the browned tofu to a plate.
Stir-fry the vegetables
Add the remaining 10 g oil to the pan.
Add the onion and carrots first.
Cook for approximately 2 minutes.
Add the broccoli and cook for another 2 minutes.
Then add the bell pepper and zucchini.
Continue cooking for approximately 3–4 minutes.
The vegetables should become tender while retaining some texture.
Add the garlic and ginger during the final 30–60 seconds so they become fragrant without burning.
Add the sauce
Return the tofu to the pan.
Stir the prepared sauce once more and pour it over the tofu and vegetables.
Toss everything together.
Cook for approximately 1–2 minutes until the sauce thickens and coats the ingredients.
If it becomes too thick, add a small splash of water.
If it is too thin, let it simmer briefly.
Remove from the heat once the vegetables and tofu are evenly coated.
How many servings does the recipe make?
This recipe makes 4 main-dish servings.
For the most consistent portions, weigh the entire finished stir-fry and divide the cooked weight by four.
For example, if the finished dish weighs 1,600 g:
1,600 ÷ 4 = 400 g per serving
The actual cooked weight can vary because vegetables and tofu lose different amounts of water during cooking.
Estimated nutrition per serving
Using representative nutrition values for the listed ingredients, one quarter of the stir-fry provides approximately:
- 390–430 kcal
- 27–31 g protein
- 28–34 g carbohydrates
- 20–24 g fat
These values are estimates.
Tofu brands can differ considerably in calories, protein and fat. Soy sauce, sweetener and other ingredients also vary.
For precise tracking, use the nutrition labels of the products you actually use.
Nutrition for the whole recipe
The complete pan is approximately:
- 1,560–1,720 kcal
- 108–124 g protein
- 112–136 g carbohydrates
- 80–96 g fat
Dividing the final recipe into four equal portions gives the per-serving estimate above.
Why the oil should be measured
Oil is one of the most calorie-dense ingredients in a stir-fry.
This recipe uses:
20 g cooking oil
Oil contains roughly 9 kcal per gram, so 20 g contributes approximately:
20 × 9 = 180 kcal
to the complete recipe.
If you pour oil directly from the bottle, it is easy to use substantially more than expected.
Measuring it makes both the recipe and its nutrition more repeatable.
Does all the oil end up in the food?
Not necessarily.
Some oil can remain in the pan.
However, estimating exactly how much remains is difficult.
For practical recipe tracking, counting the measured oil added to the pan is a consistent approach.
If a visibly large amount remains and is discarded, the actual calories eaten may be somewhat lower than the calculated recipe total.
Choosing tofu
Firm tofu is the most practical option for this recipe.
Extra-firm tofu can produce an even firmer texture.
Soft or silken tofu is generally unsuitable for this cooking method because it can break apart while being tossed.
Check the package because tofu nutrition varies significantly.
Two firm tofu products may differ in:
- calories;
- protein;
- fat;
- water content.
Can you use frozen vegetables?
Yes.
A frozen stir-fry vegetable mixture can replace some or all of the fresh vegetables.
For approximately the same recipe size, use around:
700–800 g frozen vegetables
Frozen vegetables can release more water into the pan.
Cook them over relatively high heat and avoid overcrowding the pan.
If excess water accumulates, let some of it evaporate before adding the sauce.
Can you change the vegetables?
Yes.
The vegetable mixture is flexible.
Other suitable options include:
- mushrooms;
- green beans;
- snap peas;
- cabbage;
- bok choy;
- cauliflower;
- baby corn.
Try to keep the total vegetable weight around 850–950 g if you want the overall recipe size to remain similar.
Adjusting the sauce
The sauce balances salty, acidic, sweet and aromatic ingredients.
For a less sweet sauce, reduce the honey or maple syrup.
For more acidity, add a little more rice vinegar.
For heat, add chili.
If using regular soy sauce instead of a reduced-sodium version, the finished dish may be considerably saltier.
You can reduce the amount of soy sauce and add extra water if necessary.
Why cornstarch is included
Cornstarch thickens the liquid into a light coating.
Without it, the sauce remains much thinner and can collect at the bottom of the pan.
The recipe uses 10 g cornstarch, which is enough to thicken the sauce without turning it into a heavy glaze.
Mix cornstarch with cool liquid before it enters the hot pan to reduce clumping.
Serving the stir-fry with rice
The nutrition estimate above is for the tofu and vegetable stir-fry only.
Rice should be counted separately.
For example, if one serving of the stir-fry is approximately 410 kcal and you add 200 g cooked rice at approximately 130 kcal per 100 g:
200 × 130 ÷ 100 = 260 kcal
Meal total:
410 + 260 = approximately 670 kcal
The exact value depends on the rice and cooked weight.
Serving it with noodles
Noodles also work well, but calculate them separately.
If you use 180 g cooked noodles containing 140 kcal per 100 g:
180 × 140 ÷ 100 = 252 kcal
With a 410 kcal stir-fry portion:
410 + 252 = approximately 662 kcal
Sauces or oils added to the noodles should also be included.
Lower-calorie variation
The easiest way to reduce the calorie content without substantially changing the recipe is to reduce the cooking oil.
For example, changing from 20 g to 10 g oil removes roughly:
10 × 9 = 90 kcal
from the whole recipe.
Across four servings, that is approximately:
22–23 kcal less per serving
Use a good nonstick pan and small amounts of water if needed to prevent sticking.
Higher-protein variation
Protein can be increased by using more tofu.
For example, increase tofu from:
600 g to 800 g
Keep the vegetables and sauce similar.
The exact increase in calories and protein depends on the tofu brand.
Because tofu nutrition varies, calculate the additional amount from the package rather than assuming a universal value.
How to make the tofu crispier
For better browning:
- use firm or extra-firm tofu;
- remove excess surface moisture;
- use a sufficiently hot pan;
- avoid overcrowding;
- leave the cubes untouched long enough to brown;
- add the sauce only after the tofu has browned.
Once the sauce is added, the tofu surface will soften somewhat.
Avoid overcrowding the pan
If the pan is too small, the vegetables release moisture faster than it can evaporate.
Instead of stir-frying, they begin to steam.
If necessary, cook the tofu and vegetables in separate batches.
A wide pan or wok provides more surface area for evaporation and browning.
Meal-prep storage
Allow leftovers to cool promptly and refrigerate them in covered containers.
For general food safety, cooked leftovers should be refrigerated promptly rather than being left at room temperature for extended periods.
The stir-fry is generally best within several days when stored properly in the refrigerator.
Reheat until thoroughly hot.
Texture may soften after refrigeration, particularly for zucchini and other water-rich vegetables.
Can you freeze it?
Yes, although the texture changes.
Firm tofu usually freezes reasonably well but becomes more porous and chewy.
Some vegetables, particularly zucchini, may become softer after thawing.
If freezing for meal prep, broccoli, carrots and peppers generally retain their structure better than very water-rich vegetables.
How to track a homemade portion
For the most flexible tracking method:
- enter all ingredients in a saved recipe;
- cook the complete dish;
- weigh the finished edible batch;
- save that cooked weight as the recipe yield;
- weigh your serving.
Suppose the recipe contains 1,640 kcal and the finished batch weighs 1,620 g.
Calories per gram:
1,640 ÷ 1,620 = approximately 1.012 kcal/g
A 400 g serving:
400 × 1.012 = approximately 405 kcal
This method automatically accounts for the actual cooked yield.
If the cooked weight changes
The vegetables may release different amounts of water each time you cook the recipe.
That does not necessarily mean the total recipe calories changed.
If the ingredient quantities are identical, the nutrition total remains approximately the same while calories per gram can change with the final cooked weight.
Use the new cooked yield when accurate portion tracking matters.
Ingredient substitutions and tracking
When changing a calorie-containing ingredient, update the saved recipe.
Examples include:
- changing the tofu amount;
- using a different tofu product;
- adding more oil;
- changing the sweetener;
- adding nuts or seeds;
- changing the sauce.
Vegetable substitutions may also affect nutrition, although the difference is often smaller than changes involving oil, tofu or calorie-dense toppings.
Optional toppings
Possible toppings include:
- spring onions;
- sesame seeds;
- chili;
- cilantro;
- crushed peanuts or cashews.
Remember that seeds and nuts add meaningful calories.
For example, 15 g sesame seeds at roughly 570 kcal per 100 g would add:
15 × 570 ÷ 100 = approximately 86 kcal
to the dish.
If divided across four portions, that is around 21–22 kcal per serving.
Recipe summary
For 4 servings, use:
- 600 g firm tofu;
- about 900 g vegetables;
- 20 g cooking oil;
- soy sauce, rice vinegar, sweetener, sesame oil and cornstarch for the sauce.
Brown the tofu first, cook the vegetables quickly over relatively high heat, then combine everything with the sauce.
The result is a complete tofu-based main dish that can be served alone or paired with rice or noodles.
Keeping the oil, sauce and tofu quantities measured makes the recipe easier to reproduce and much easier to track accurately.
