Cantonese Tomato Beef (Beef in Tomato Sauce) Recipe

Chinese Recipes

Quick Beef and Tomato Stir-Fry

Last updated: September 30, 2026

Quick Answer Cantonese tomato beef is a fast home stir-fry of tender velveted beef and juicy tomato wedges tossed in a glossy sweet-savory sauce of soy, oyster sauce, and a little sugar. The tomatoes melt into a light gravy that coats the beef, and the whole dish is served hot over steamed rice.

Cantonese tomato beef is the kind of dish a home cook can put on the table in half an hour, yet it tastes like it took much longer. Thin slices of beef are velveted so they stay silky, then seared fast and folded through soft tomato wedges and sweet onion in a savory sauce that turns glossy in the pan. It is comfort food built from a short list of everyday ingredients.

The trick is to keep the beef tender and the tomatoes just soft enough to give up their juice without collapsing into mush. Get that balance right and you have a plate of beef in a light, tangy-sweet gravy that soaks straight into a mound of steamed rice, which is exactly how it is eaten in Cantonese homes.

A bowl of Cantonese tomato beef with tender beef and tomato wedges in a glossy sauce over steamed rice
Cantonese tomato beef, tender velveted beef and soft tomato wedges in a glossy sauce over rice.

Why This Tomato Beef Works

Tomato beef looks simple because it is, but two small techniques do all the heavy lifting. The first is velveting: tossing the sliced beef with cornstarch and a little soy before it cooks. That thin coating seals in moisture and gives the beef its signature silky, tender bite instead of the dry, chewy texture that fast, high-heat cooking can produce.

The second is treating the tomatoes as both a vegetable and a sauce. As the wedges heat, they soften and release their juice, and that juice combines with the soy, oyster sauce, and sugar to build a light gravy right in the pan. A small spoon of cornstarch slurry pulls it all together into something glossy that clings to every slice of beef rather than pooling at the bottom of the bowl.

Heat and timing matter too. The beef is seared quickly and pulled out early so it does not overcook, then returned only at the very end to warm through in the sauce. The onion goes in for sweetness and a little bite, and the tomatoes are cooked just until soft, never to a puree. Each element keeps its own character.

Best of all, it is forgiving and cheap. A modest amount of beef stretches to feed a family once the tomatoes and rice come into play, and the pantry sauce ingredients are ones you likely already keep. It is a weeknight dish that rewards you far beyond the effort it asks for.

Pro observation: Add the tomatoes in two stages if you like a saucier result. Cook half until they melt into the gravy, then add the rest near the end so you get both a rich sauce and soft, intact wedges in the same bowl.

Prep Time
15 min
Cook Time
15 min
Total Time
30 min
Servings
4
Easy Halal Dairy-Free About 320 cal / serving

Ingredients

Serves 4

Kitchen Measurement Converter

Need to convert an amount while you measure? Pick a category, enter a value, and the result updates instantly.

Want more options? Open the full tomato measurement converter.

Ingredient Notes & Substitutions

Beef

Flank steak or sirloin sliced thinly across the grain gives tender bites that cook in seconds. Freeze the beef for 20 minutes first to make it easier to slice thin. Chuck or skirt also work as long as you cut against the grain.

Tomatoes

Ripe, firm tomatoes hold their shape best. Cut them into thick wedges so they soften without dissolving. Roma or plum tomatoes are meaty and reliable, while very juicy tomatoes give a looser, saucier result that is still delicious over rice.

Sauce

Soy sauce, oyster sauce, and a little sugar build the sweet-savory balance. This version is fully halal, so it leans on beef broth and soy for depth instead of any forbidden ingredient. A splash of extra broth loosens the sauce if you want more gravy.

Aromatics

Garlic, ginger, and onion form the backbone. Fresh ginger is worth using for its warmth and lift. Scallions go in at the end for color and a fresh, grassy note. A pinch of white pepper is a traditional finishing touch if you have it.

Equipment

  • Wok or large skillet
  • Wooden spoon or spatula
  • Sharp knife and board
  • Mixing bowl
  • Small bowl for sauce
  • Measuring spoons

Before You Start

1. Freeze the steak for 20 minutes, then slice it. Partly frozen beef firms up enough to cut into slices about 1/8 inch thick, straight across the grain. Thicker slices, or slices cut along the grain, stay chewy no matter how carefully you velvet them.

2. Velvet the beef before you touch the vegetables. The slices need their full 15 minutes in the cornstarch, soy, and oil for the coating to cling and keep them silky in a scorching wok. Mix it first, then cut the tomatoes and onion while it sits.

3. Start the rice and park an empty plate by the stove. Once the wok is hot, the whole dish takes about 10 minutes, and the beef has to leave the pan after roughly 2 minutes, before it is cooked through. There is no time to go hunting for a plate.

Step-by-Step Instructions

Stir-frying moves fast, so slice, measure, and mix the sauce before you turn on the heat. Have the rice cooked and warm so everything reaches the table together.

1

Velvet the Beef and Mix the Sauce

Slice the beef thinly across the grain and toss it in a bowl with 1 tablespoon of the cornstarch, 1 tablespoon of the soy sauce, and 1 tablespoon of the oil. Let it sit for 15 minutes while you prep. In a small bowl, stir the remaining 2 tablespoons soy sauce, the oyster sauce, sugar, and beef broth together, then whisk in the last tablespoon of cornstarch to make the sauce.

2

Sear the Beef

Heat a wok or large skillet over high heat until very hot, then add 1 tablespoon of the oil. Add the beef in a single layer and sear, undisturbed, for about 1 minute, then toss quickly until just browned but not fully cooked through, about 2 minutes total. Scoop the beef out onto a plate and set it aside.

Thin slices of beef searing in a hot wok until browned
Sear the beef fast over high heat and pull it out early so it stays tender.
3

Cook the Onion and Aromatics

Add the last tablespoon of oil to the same pan and lower the heat to medium-high. Add the sliced onion and cook for 2 minutes until it begins to soften, then stir in the minced garlic and ginger. Cook for about 30 seconds, until fragrant, keeping everything moving so the garlic does not brown and turn bitter.

4

Cook the Tomatoes Down

Add the tomato wedges and cook for 3 to 4 minutes, stirring gently, until they soften and start to release their juice but still hold their shape. Press a few wedges lightly with your spatula to help them give up their liquid, which becomes the base of the sauce.

Tomato wedges softening with onion in a wok and releasing their juice
Cook the tomatoes just until soft and juicy so they melt into a light sauce, not a puree.
5

Add the Sauce and Thicken

Give the sauce bowl a quick stir to recombine the cornstarch, then pour it into the pan. Bring it to a gentle simmer and stir for about 1 minute, until the sauce turns glossy and thick enough to coat the back of a spoon. If it looks too tight, splash in a little more broth.

6

Return the Beef and Finish

Return the seared beef and any resting juices to the pan and toss for about 1 minute, just until the beef is warmed through and coated in the glossy sauce. Stir in most of the scallions, taste and adjust the seasoning, then scatter the rest of the scallions over the top and serve right away over steamed rice.

Finished Cantonese tomato beef in a wok garnished with scallions
Return the beef at the very end so it stays silky and soaks up the glossy sauce.

Chef’s Tips From Real Kitchen Testing

1

Slice the beef thin and against the grain, and velvet it with cornstarch. This is the single biggest factor in beef that is tender rather than tough and chewy.

2

Get the pan properly hot before the beef goes in and sear it in a single layer. A crowded, cool pan steams the beef gray instead of searing it.

3

Pull the beef out after a quick sear and return it only at the end. Cooking it twice, briefly, keeps it silky instead of overdone.

Recipe Variations

Serving Suggestions

  • A generous mound of steamed jasmine or white rice
  • Steamed or stir-fried greens on the side
  • Extra scallions and a pinch of white pepper
  • A bowl of clear broth soup to round out the meal

Nutrition Facts

Estimated nutrition per serving of tomato beef, without rice.
NutrientAmount per serving
Calories320
Protein26 g
Carbohydrates14 g
Fat17 g
Saturated Fat4 g
Fiber2 g
Sugar8 g
Sodium720 mg

Values are estimates per serving and vary with the exact ingredients and brands you use.

Make-Ahead Tips

Slice the beef and velvet it, chop the vegetables, and mix the sauce up to a day ahead and keep them separate in the refrigerator. When it is time to eat, the actual stir-fry takes only a few minutes from start to finish.

Storage, Freezing & Reheating

Refrigerator
Leftover tomato beef keeps 3 days in an airtight container. The tomatoes soften further as it sits, giving a saucier result the next day.
Freezer
Freezing is possible for up to 2 months, though the tomatoes turn softer once thawed. Cool completely and freeze in a sealed container, then thaw in the refrigerator overnight.
Reheating
Warm gently in a pan over medium heat with a splash of broth or water to loosen the sauce, stirring just until hot so the beef does not toughen.

Common Mistakes to Avoid

×Dumping the whole pound of beef in at once. A home wok cannot hold that much heat, so the slices release their juice and boil gray. Sear in two batches if one layer will not fit.
×Tossing the beef the second it lands. Leave it alone for the first minute; constant stirring stops the cornstarch coating from setting, so it turns gummy and slides off into the pan.
×Leaving the oil out of the velveting mix. That tablespoon keeps the coated slices from gluing together, so they separate in the wok instead of landing as one clump that steams.
×Walking away from the garlic and ginger. The wok is still scorching from the sear, and 30 seconds is all they need; any longer and they burn, leaving a bitterness the sugar cannot hide.
×Pouring in the sauce without stirring it first. The cornstarch settles to the bottom of the bowl in under a minute, so you get a watery sauce and a lump of paste at the end.

Troubleshooting

Beef tough? It was sliced too thick, cut with the grain, or overcooked. Slice thinly across the grain, velvet it, and sear only until just browned.

Sauce too thin? The cornstarch slurry needs another minute at a simmer to activate, or add a touch more cornstarch mixed with water and stir until glossy.

Tomatoes fell apart? They were overripe or cooked too long. Use firmer tomatoes, cut thick wedges, and add them for only a few minutes.

A Note on Chinese Cooking

Tomato beef belongs to the everyday, home-style side of Cantonese cooking, the quick stir-fries that land on the family table alongside a big pot of rice rather than at a banquet. Its Chinese name is fanqie chao niurou, which translates almost literally as what it is: fanqie means tomato, chao means stir-fry, and niurou means beef. Put together, it is simply a stir-fry of tomatoes and beef, a name as plain and practical as the dish itself.

It is easy to mix up with its most famous cousin, the Chinese tomato and egg stir-fry, which uses the same tomato base but folds in soft scrambled eggs instead of beef. The difference is right there in the protein: eggs make a light, breakfast-friendly dish, while beef makes a heartier main course built around the same sweet-savory tomato sauce. If you love this style of cooking, a bowl of Taiwanese beef noodle soup shows how far tender beef and a tomato-tinged broth can travel across the region.

What keeps dishes like this alive is how adaptable and affordable they are. A little beef stretches a long way once the tomatoes and rice arrive, the sauce is built from pantry staples, and the whole thing comes together in one pan. That thrifty, one-wok spirit is the heart of home cooking across southern China.

Frequently Asked Questions

Cantonese tomato beef, or fanqie chao niurou, is a home-style stir-fry of tender velveted beef and soft tomato wedges in a glossy sweet-savory sauce of soy, oyster sauce, and a little sugar. It is served hot over steamed rice.
Both use the same tomato base, but the difference is the protein. Tomato and egg stir-fry folds in soft scrambled eggs for a light dish, while tomato beef uses seared beef for a heartier main course built around the same tomato sauce.
Flank steak or sirloin sliced thinly across the grain works best, giving tender bites that cook in seconds. Chuck or skirt steak also work well. Freezing the beef for 20 minutes first makes it much easier to slice thin.
Slice thinly against the grain, velvet the beef with cornstarch, and sear it fast over high heat. Pull it out after a quick sear and return it only at the end so it warms through without overcooking and turning tough.
Yes. This version is made entirely with halal ingredients, using beef broth and soy sauce for savory depth, so there are no forbidden ingredients in the dish. Choose halal-certified beef and oyster sauce to keep the whole recipe compliant.
Ripe but firm tomatoes hold their shape best. Roma or plum tomatoes are meaty and reliable, cut into thick wedges. Very juicy tomatoes give a looser, saucier result that is still delicious spooned over rice.
Steamed jasmine or white rice is the classic pairing, since the light gravy soaks straight into it. Add stir-fried greens on the side and a bowl of clear soup for a full, balanced meal.
Yes. Slice and velvet the beef, chop the vegetables, and mix the sauce up to a day ahead, keeping them separate in the refrigerator. The stir-fry itself takes only a few minutes once everything is prepped.
Was this recipe helpful?
☆☆☆☆☆
Thanks for rating!
Timer
0:00