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!
Ingredients
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!
Beef Marinade
- 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.
The Sauce
- 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
- Salt
- Cornstarch
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.
FAQ
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
Ingredients
Beef marinade:
- 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
Sauce:
- ¼ cup ketchup
- 2 teaspoons sugar
- ½ teaspoon table salt
- 1 tablespoon cornstarch
- 2 tablespoons water
Stir fry:
- 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 ChannelInstructions
- 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
Vivian says
Thank you for sharing this! Also love that you had to your own observation/research as your MIL doesn’t do recipes. My Chinese mother and others we know do not as well…when you ask what to do, they say just add enough salt/soy sauce etc. until whatever feels right..
Michelle says
Thank you for this great recipe! My entire family loves it! Easy to make, fast and great in taste!
Maddy says
I’ve always loved tomato beef chow fun. Is there enough sauce for me to throw in some rice noodles? I can get rice noodles but not anything else ( I live in a food desert area) 😵💫
Thanks
Pailin Chongchitnant says
I think you could toss rice noodles into this recipe without any modification, but it depends how saucy you like things. You can make 1.5 x the sauce just in case.
David Levine says
Chef, not only are your recipes and instructions spot on and foolproof, the formatting of the recipes makes them so easy to scale up or down and most importantly, to follow along with. thanks for taking the time!
Manny says
Recipe looks pretty easy to execute, must try. Just wanted to say that you pronounced the dish in Cantonese perfectly. I detected no accent as though Cantonese is your mother tongue.
Michelle says
Really good recipe! I made it and my family loved it! I love the fact you put the measurements of the ingredients in each step!! Super useful and save me scrolling up and down to check ! Thank you!!!
David Levine says
exactly. so well presented and easy to follow.
Mark Freeman says
This was super easy and delicious. It comes together quickly. I love that starting with the marinade gives you the right amount of time to prep the other ingredients before you start cooking. The sweet & sour effect of the ketsup is nice. I don't have kids, but I can confirm it's also adult friendly.
Thanks for the hint on the baking soda with the flank steak. It was really, really tender.
Taj says
Wow that looks so good I'll definitely have to try it!
Sam says
VERY good. Works ok with a couple handfuls of halved cherry tomatoes (a gift from the neighbors).
Mark Freeman says
+1 on the cherry tomatoes. They seem to be the last tomatoes still ripening in my garden and they worked great in this dish.
Catherine Bradley says
Thank you so much for this recipe! It was my favorite dish also!