Tomato beef stir fry is a nostalgic dish for many Cantonese kids, my husband included. It's a popular dish in Chinese cuisine (specifically Cantonese), but kids in particular LOVE it!
With tender beef slices and a sweet tomato sauce, it's easy to see why. It's an weeknight-friendly dish with simple ingredients that comes together in 30 minutes. It's no wonder this was a regular for my mother-in-law who was cooking for 5-8 people every day!
My mother-in-law (whom I call Aunty Jenny) is not one to have written recipes, so I had to do primary research and watch her make it. I was delighted to able to recreate a dish that Craig said tastes exactly as he remembers it!
What is Tomato Beef Stir Fry?
In Cantonese this dish is called faan ke ngao yok faan (see how this is pronounced in the video). Faan ke is tomatoes, ngao yok is beef, and faan is rice! A simple stir fry of beef slices and fresh tomatoes in a sweet and tangy sauce served over rice.
In Hong Kong this is a dish you can commonly buy as a cheap takeout meal. For home cooks, it is a popular dish amongst parents because kids just adore this dish...likely because of the ketchup!
The ingredients for beef and tomato stir fry are simple and basic. You don't even need to go to an Asian grocery store to buy anything!
- Flank steak. Flank steak sliced into thin strips is what my MIL has always used, but she has also made it with pre-sliced hot pot beef (you can see her cook with this beef in the intro of the video). You can use another cut of beef that is not too tough, so anything you'd grill on a BBQ wouldwork. Ground beef is another common variation that is even easier since you don't have to slice it!
- Oyster sauce, see my guide to choosing a good oyster sauce.
- Soy sauce, see my guide to different types of soy sauce.
- Garlic powder, or substitute grated garlic
- Ginger powder, or substitute grated fresh ginger
- Ground black pepper or white pepper
- Baking soda. Adding baking soda to beef is the Chinese restaurants' secret to tender beef in stir fries. The high pH of baking soda prevents the beef from tightening up completely when cooked, which means less liquid is squeezed out and the muscle fibers remain more loose. This means tender and juicy beef without having to splurge on premium cuts.
- Ketchup. You may not expect to see ketchup in a Chinese recipe, but the use of ketchup has entered many Asian cuisines! In Thailand we also use ketchup in a few dishes (but never pad thai!) such as this "Macaroni" Stir Fry and American Fried Rice!
- Granulated sugar or brown sugar
Tip: My mother-in-law made this dish as a very busy cook who had to feed a crowd every night, so she kept it simple. But to make it a little more complex you can also add Chinese shaoxing wine and/or toasted sesame oil if you like these flavours. You can add them either to the sauce or to the beef marinade.
The Stir Fry
- Garlic, chopped
- Shallots or onion, chopped
- Fresh ginger, julienned
- Fresh tomatoes, roma tomatoes are preferred because they are the least watery and are not too acidic.
- Green onions, white and green part separated and chopped
- Jasmine rice for serving
- Fried eggs for serving, optional. Aunty Jenny always paired this dish with fried eggs. She liked scrambled eggs but everyone else loved them fried with the yolk still runny.
How to Make Chinese Beef Tomato Stir-Fry
This is a pretty simple dish, but the cooking goes fast! So if this is your first time, I recommend watching the video tutorial to ensure that you go in with a good idea of what needs to happen and in what order.
- Divide the flank steak ALONG the grain lines into pieces about 2-3 inches wide. Slice each piece AGAINST the grain into thin slices, about ⅛-inch thick. A partially frozen steak will make this job easier.
- Dissolve the baking soda in water until fully dissolved.
- Add the baking soda solution to the beef and mix well to ensure all the pieces are coated.
- Add the oyster sauce, soy sauce, garlic powder, ginger powder and black pepper to the beef and mix well. Let sit for at least 5 minutes.
- Make the sauce: In a small bowl combine the cornstarch and the water and stir until there are no more lumps. Combine the slurry with the ketchup, sugar and salt.
- Stir the sauce until well combined. Note: Typically, cornstarch slurry is added at the end, a little at a time just until the sauce is thickened to the right consistency. But if you measure your ingredients, the amount of starch needed will be pretty consistent, so you can simplify by adding it directly to the sauce.
- If serving with fried eggs, cook them to whatever doneness you prefer.
Tip: If you’re frying eggs in the same wok as the stir fry, fry them first so you don’t have to clean the wok in between. If you’re frying them in a separate pan, you can do them at the end so they’re still hot for serving.
- Heat a wok or a large nonstick skillet on high heat until hot (or as hot as your nonstick can handle). Add just enough oil to coat the bottom, then add the beef and spread it out into a single layer as much as possible. Let it cook without moving it until browned and about halfway cooked.
- Once browned, toss until the beef is about 90% done. Remove from the pan.
- In the same pan on medium-high heat, add a little more oil, then add the garlic, shallots and ginger and saute until aromatic and the garlic starts to turn golden.
- Add the tomatoes and toss just until the exterior starts to soften; about 30 seconds. If using especially ripe tomatoes, this will take a shorter time, so pay attention!
- Turn the heat up to high, then add the beef, the white part of green onions, and all the sauce and toss just until the sauce is bubbling; another 30 seconds or so.
- Once the sauce is bubbling and the tomatoes are soft but still holding shape, turn off the heat and add in most of the green onions.
- Plate and top with the rest of the green onions. Cook the eggs now if you haven’t done so. Serve with jasmine rice and enjoy!
Tips for Success
I recommend watching the video tutorial first if you have never cooked this before. This dish goes fast, so you need to know what's happening and in what order, and the video will really help with that. In the video I show the cooking in real time so you can see how fast it goes!
- When searing the beef, do not cook it well-done. The beef will cook more when you put it back in at the end.
- Don't add too much liquid. When you're done stir frying, you may feel like there isn't enough sauce and you might be tempted to add a splash of water. But as the dish sits the tomato juices will continue to come out and create more sauce, so keep that in mind before you add anything!
- If you're going to eyeball ingredient amounts, leave the cornstarch slurry for the end. In this recipe I am able to mix the starch right into the sauce because I measure all ingredients and I know exactly how much starch is needed to thicken the sauce. So if you love to cook intuitively and eyeball ingredients, make the starch slurry but leave it until the end so you can add only as much as required to get the right sauce thickness.
The dish is best eaten fresh; however the leftovers do keep pretty well. The tomatoes may be a little more mushy than ideal after it's been stored, but the flavour will all still be good. Be careful not to overheat the leftovers to avoid overcooking the beef and tomatoes.
If you don't eat beef, you can use another meat and there is no need to change any of the methods or ingredients. I would cut chicken bigger however; ½-inch thick pieces is good. If using pork, use pork shoulder and cut into thin slices just like the beef.
Other Chinese Recipes You Might Like
A great side dish to the tomato beef stir fry is this simple gai lan oyster sauce stir fry.
If you love tomatoey dishes, you must also check out this Chinese tomato egg stir fry. It's even simpler and easier than the beef version.
Aunty Jenny also makes these amazing braised chicken wings with lots of soft sweet onions. But her signature dish might actually be these dim sum turnip cakes (lo bak go) which are the best I've ever had anywhere.
Mother-in-Law's Chinese Beef & Tomato Stir-Fry
- 1 lb flank steak
- 1 tablespoon oyster sauce
- 1 tablespoon soy sauce
- ½ teaspoon garlic powder
- ½ teaspoon ginger powder
- ½ teaspoon ground black pepper
- ½ teaspoon baking soda
- 2 tablespoons water
- ¼ cup ketchup
- 2 teaspoons sugar
- ½ teaspoon table salt
- 1 tablespoon cornstarch
- 2 tablespoons water
- 5 cloves garlic
- ¼ cup chopped shallot
- 5 thin slices ginger, julienned
- 1 lb roma tomatoes, cut into 6 wedges
- 2 green onions, white and green part separated and chopped
- Jasmine rice, for serving
- 4 Fried eggs for serving, optional
FULL VIDEO TUTORIAL
All my recipes come with step-by-step video tutorials with extra tips not mentioned in the blog post, so make sure you watch the video to ensure success. If you enjoy them, consider subscribing to the YouTube Channel to not miss an episode. Thank you!Subscribe to my YouTube Channel
- Divide the flank steak ALONG the grain lines into pieces about 2-3 inches wide. Slice each piece AGAINST the grain into ⅛-inch thick slices. A partially frozen steak will make this job easier.1 lb flank steak
- Dissolve the baking soda in water, add to the beef and mix well to ensure all the pieces are coated in the baking soda solution.½ teaspoon baking soda, 2 tablespoons water
- In a small bowl mix together the oyster sauce, soy sauce, garlic powder, ginger powder and black pepper and stir to disperse the powdered ingredients. Add to the beef and mix well. Let sit for 5 minutes.1 tablespoon oyster sauce, 1 tablespoon soy sauce, ½ teaspoon garlic powder, ½ teaspoon ginger powder, ½ teaspoon ground black pepper
- Make the sauce: In a small bowl combine the cornstarch and the water and stir until there are no more lumps. Add the ketchup, sugar and salt and stir to mix.¼ cup ketchup, 2 teaspoons sugar, 1 tablespoon cornstarch, 2 tablespoons water, ½ teaspoon table salt
- If serving eggs, cook the eggs to whatever doneness you prefer and set aside. Tip: If you’re going to fry the eggs in the same wok you’re using to make the stir fry, fry the eggs first so you don’t have to clean the wok in between. If you’re frying them in a separate pan, you can do them after the stir fry so they’re hot for serving.4 Fried eggs for serving
- Heat a wok on high heat until very hot. Add just enough oil to coat the bottom, then add the beef and spread it out as much as possible. Let it cook until about half way done, then flip and toss until the beef is about 90% done. Remove from the pan.
- In the same pan on medium high heat, add a little more oil and add the garlic, shallots and ginger and saute until aromatic and the garlic starts to turn golden.5 cloves garlic, ¼ cup chopped shallot, 5 thin slices ginger
- Add the tomatoes and toss just until the exterior starts to soften, about 30 seconds.1 lb roma tomatoes
- Turn the heat up to high, then add the beef, the white part of green onions, and all the sauce and toss just until the sauce is bubbling, another 30 seconds or so.2 green onions
- Off the heat and stir in most of the green part of the green onions, leaving some for final garnish.
- Plate and top with the rest of the green onions. Cook the eggs now if you haven’t done so. Serve with jasmine rice and enjoy!Jasmine rice
Thank you so much for this recipe! It was my favorite dish also!