This Cantonese-style pork and tomato stir-fry is a deliciously different way to prepare and serve a pork tenderloin fillet. Slices of tender pork, sweet onions and juicy tomatoes, combined in a savoury sauce, make a mouth-watering meal that's just that little bit different from a normal stir-fry. Serve it over rice or noodles for a quick and easy family supper.

A classic Cantonese pork and tomato stir-fry is normally made with battered pieces of thin pork chops or slices of shoulder. However, I only had a pork tenderloin fillet on hand, and I wanted something lighter that I could cook in under half an hour - without having to fiddle about making batter. Something that would capture the sweet-savoury Cantonese flavours, while letting the freshness of the tomatoes shine through.
The secret lies in the balance of texture and flavours. The pork stays soft and juicy thanks to a quick marinade, while the onions and tomatoes melt down into a glossy, savoury-sweet sauce. It's the kind of dish that tastes like it took ages to make, but in reality, it comes together in around half an hour.
What I really love about this pork and tomato stir-fry recipe is the taste! I must admit that I was a bit dubious about the amount of tomatoes that went into it - I thought their tartness would overpower the delicate flavour of the pork fillet. But I was wrong! The flavour of the tomatoes is perfectly balanced by the combination of oyster sauce, soy sauce and plum sauce, with a slight nuttiness from the sesame and a little tang from everyday tomato ketchup! It just works!
Even the pickiest of eaters will enjoy this pork and tomato stir-fry - tender pork, sweet onions, fresh tomatoes and the most delicious sauce. It's perfect for serving over either pasta or rice, and if you add a side of freshly steamed greens for extra colour, you've got a winning recipe on your hands.

Jump to:
Why I think you'll love this pork and tomato stir-fry
- ⭐ Quick and fuss-free - comes together in half an hour - perfect for busy weeknights.
- ⭐ Tender juicy pork - pork fillet is an extremely tender cut of meat - and this recipe enhances the taste and flavour thanks to the tasty marinade.
- ⭐ Fresh, vibrant flavours - the freshness of the tomatoes really shines in this dish, perfectly balanced by the additional seasonings.
- ⭐ Versatile serving - tastes amazing served over either rice or noodles.
Recipe information
- ⌚ Prep time - 20 minutes - just to cut up the pork and get it in the marinade while you prepare the tomatoes and onions.
- ⌛ Cooking time - 20 minutes - the thinly sliced pork doesn't need very long to cook.
- 🍚 Yield - 2 to 3 people - but it's easy to scale to serve more, just add extra pork, tomatoes and onions and increase the seasonings accordingly.
Ingredients for pork and tomato stir-fry
**You can find the exact ingredient measurements on the printable recipe card at the end of this post.**

Pork and marinade
- Pork tenderloin (fillet). Tenderloin is the long boneless cut of meat that runs alongside the pig's spine. It is very lean and extremely tender, but can be quite dry if not cooked properly. It is normally roasted whole, cut into medallions and pan-fried, or thinly sliced and used in stir-fries. A tenderloin is covered in a thin silvery membrane that should be removed before cooking. For this recipe, the tenderloin should be thinly sliced.
- Light soy sauce. Adds a salty element. Substitute with all-purpose soy sauce.
- Shaoxing rice wine. This is a Chinese cooking wine, very similar in taste to a dry sherry. Substitute with sherry or mirin. For a non-alcoholic version use rice vinegar.
- Sesame oil. Sesame oil has a very strong nutty flavour, and is used for seasoning rather than frying. It can overpower other flavours so take care not to add too much.
- Cornflour or cornstarch. This is one of the marinade ingredients.
- Vegetable oil. For frying. Don't use olive oil - this dish needs high heat, and olive oil won't be suitable.
- Spring onions. Green parts only - finely chopped for garnish.
Stir-fry
- Tomatoes. These are fresh tomatoes, and I like to remove the skin before making this dish. The tomatoes should be cut into large chunks. You could use canned tomatoes, but you won't get the same vibrant flavour that you get from fresh. Some of the tomatoes will be softened with the onion to flavour the gravy and the remainder will be added later and cooked until they are just tender.
- Onions. White onions are preferable, but you could use red instead. They should be peeled and cut into thick slices
- Garlic. I used fresh garlic, but you could use garlic from a jar. To save time, I normally peel a batch of garlic cloves and pop them in a plastic bag in the freezer. They store like that for ages, and you can just take out a few cloves whenever you need them. They defrost in minutes on the counter, and you can slice or mince them easily.
- Ginger. For convenience, I use ginger paste, but you could use fresh ginger instead.
- Chicken stock. You won't need much, just enough to form a sauce. Use water instead.
- Spring onions or scallions. You will only need the green part, finely sliced, for garnish.
Sauce
- Oyster sauce. Oyster sauce has a savoury, salty and umami flavour with a touch of sweetness. It's made from oysters, but it doesn't taste fishy at all. Substitute with dark soy sauce and a little sugar or honey for sweetness.
- Plum sauce. Adds a tart but fruity sweetness. Substitute with smooth apricot jam and a teaspoon of vinegar for the tartness. You can normally find plum sauce with the other stir-fry suces in the Asian aisle at the supermarket.
- Tomato ketchup. You'll have to trust me on this one - but it seems to round out the flavours. Substitute with tomato puree (or tomato paste).
- Cornflour or cornstarch. For thickening, and optional. Whether you'll need it or not depends on the juiciness of the tomatoes.
Instructions

Step 1: Cut the pork fillet lengthwise down the middle, then cut it into thin slices.

Step 2: Place the pork in a mixing bowl and combine with the marinade ingredients. Let it stand for 10 minutes while you prepare the other ingredients.

Step 3: Heat the oil in a wok or large frying pan until it is very hot, then add the meat. Take care, it may splatter. Stir for 3 or 4 minutes until seared on all sides, then remove from the heat and transfer the meat to a plate.

Step 4: If necessary add a splash more oil, and stir in the onions, garlic and ginger and stir fry for 1 to 2 minutes until fragrant. Stir in the tomatoes and fry for another 1 to 2 minutes until the tomatoes start to break down.

Step 5: Add stock, cover the pan with a lid, turn the heat down to a simmer and leave for 5 minutes to allow the onions to braise.

Step 6: Stir in the oyster sauce, plum sauce and tomato ketchup and return the meat to the pan, along with any resting juices.

Step 7: Turn up the heat and stir-fry for one to two minutes to coat the meat. Add the tomatoes.

Step 8: Stir-fry for another 2 to 3 minutes until the tomatoes soften but still hold their shape.
The sauce should have reduced and thickened, but if it is still too thin, you can stir in a slurry made with a little cornflour and water (a little at a time) until thickened to your liking.
Remove from the heat and garnish with finely chopped spring onions.
Tips for a successful outcome
Here are my top tips to ensure your Cantonese-style pork and tomato stir-fry always turns out perfectly:
- Prepare the pork first so that it can marinate while you prepare the rest of the ingredients.
- Slice the pork thinly and evenly across the grain so that it cooks quickly and remains tender.
- Cook the pork in batches if necessary. Adding too much pork to the pan all at once can cause the temperature to drop, and the pork will release liquid and stew rather than sear.
- Add the tomatoes at the right time. Some of the tomatoes should be added with the onions to help form the gravy; the remainder should be cooked very quickly at the end until they are soft, but still hold their shape.
- Taste at various points and adjust the flavour if necessary. Add a little extra soy sauce for saltiness, extra plum sauce (or even a pinch of sugar) for extra sweetness, or a splash of vinegar to balance the sweet and tangy notes.
- For best results, serve immediately.
Serving suggestions
I like to serve this dish with rice or noodles and perhaps add a freshly steamed green vegetable such as broccoli or green beans on the side. Here are a few ideas:
- Fresh buttered corn and rice
- Chinese egg fried rice
- How to cook rice in the microwave
- Chinese noodles with bean sprouts
- Chinese garlic green beans
You could also add extra flavour to freshly steamed broccoli by stirring a tablespoon of oyster sauce into the broccoli before serving it.

Variations
Once you've mastered the basic stir-fry, it's easy to change it to suit whatever you have on hand:
- Chicken. Substitute the pork with thinly sliced chicken breast or pieces of boneless thigh.
- Beef. Substitute the pork with thinly sliced sirloin. Add a little extra oyster sauce for a deeper flavour, and perhaps saute some red bell peppers (capsicums) with the onions for a richer gravy.
- Prawns. Fry the prawns lightly until they just turn pink, then make the sauce and stir the prawns through to reheat them as the final step.
- Mushrooms. Some sliced mushrooms, sauteed with the onions, would make a tasty addition.
- Spicy. Sauté one or two chopped chillis with the onions for a touch of heat.
Equipment
These are the main items of equipment you will need to make this pork and tomato stir-fry:
- The main item is a wok or a large saute pan. I find it much easier to make stir-fried in a wok than in a saucepan. Whether you use a wok or a saute pan or even a large frying pan doesn't really matter, as long as your pan has a lid.
- Small bowl to marinate the pork.
- Sharp knife and a chopping board for cutting up the vegetables.
- Spatula for stirring.
Storage and reheating
This dish is best eaten fresh; however, here are a few pointers to bear in mind:
- Refrigerator. Store any leftovers in an airtight container in the refrigerator for up to 2 days. The sauce may become thinner due to the tomatoes releasing liquid. You can thicken the sauce when you reheat it with a slurry of cornflour and water.
- Reheating. Reheat in a saucepan on the stove until just heated through. Avoid overcooking as this may cause the pork to become tough. If you intend to thicken the sauce, add the cornflour slurry as soon as the pork and tomato stir-fry is in the pan; the sauce will thicken as soon as it reaches boiling point.
- Freezer. This dish isn't ideal for freezing as the tomatoes tend to break down and become mushy once frozen.
- Make-ahead tip. You can marinate the pork and prepare the vegetables a few hours ahead, and keep them in the refrigerator until you are ready to cook. The stir-fry comes together in minutes.
Top Tip
The best tomatoes to use for this dish are firm ripe tomatoes. Tomatoes that are over-ripe and very soft are fine for sauteing with the onions, but for best results use firm tomatoes for the actual stir-fry.
FAQ
The easiest way to peel a tomato is to make a shallow cross at the base of the tomato with a sharp knife. Place the tomatoes in a large bowl and cover them with boiling water. Let them stand for 2 to 3 minutes, then immediately pour off the boiling water and cover the tomatoes with cold water. The skins will peel away easily.
This dish has its roots in Cantonese home cooking. The combination of pork and tomato in a savoury, sweet sauce became popular in the mid-20th century when Western ingredients such as tomato ketchup started appearing in local cooking.
Although tomatoes were introduced into China from the Americas in the late 16th/early 17th century, they were regarded more as an ornamental plant than a culinary one.
It wasn't until the early 20th century that tomatoes became popular in Chinese cuisine, blending Cantonese cooking techniques with this new ingredient.
Yes, this dish is traditionally made with thinly sliced pork shoulder or pork chops. The cooking time for these cuts of meat will be slightly longer though.
Not at all, there's no chilli in my version at all. However, if you would like to spice it up a bit, you can add chopped chilli or chilli paste when you fry the onions.
Save for later
If you would like to make this pork and tomato stir-fry, why not save the recipe to one of your Pinterest boards so you can find it easily? Just click the image below.
Alternatively, you can save the recipe by clicking on the floating heart icon on the right-hand side of the screen.

Related recipes
Visit my Asian-inspired recipes for other tasty meals. Here are a few you might enjoy:
📋The recipe

Cantonese-style pork and tomato stir-fry
(Click the stars to rate this recipe)
Equipment
- Wok OR
- Large saute pan with a lid
- Small bowl
- Sharp Knife
- Chopping Board
- Spatula
Ingredients
Pork and marinade
- 12 ounces / 340 grams pork tenderloin thinly sliced
- 1 tablespoon light soy sauce
- 2 tablespoons Shaoxing rice wine or sherry
- 1 teaspoon sesame oil
- 2 teaspoons cornflour or cornstarch
- 2 tablespoons vegetable oil for frying
Stir-fry
- 1 large onion peeled and thickly sliced (about 2 cups)
- 2 medium tomatoes peeled and diced
- 2 cloved garlic minced
- ½ teaspoon ginger paste
- ½ cup chicken stock or water
- 2 spring onions or scallions (green part only) finely sliced for garnish (optional)
Sauce
- 3 medium tomatoes peeled and quartered
- 2 tablespoons oyster sauce
- 2 tablespoons plum sauce
- 1 tablespoon tomato ketchup
- 1 teaspoon cornflour or cornstarch optional for thickening.
Instructions
- Cut the pork fillet lengthwise down the middle, then cut it into thin slices.12 ounces / 340 grams pork tenderloin
- Place the pork in a mixing bowl and combine with the marinade ingredients. Let it stand for 10 - 15 minutes while you prepare the other ingredients.1 tablespoon light soy sauce, 2 tablespoons Shaoxing rice wine or sherry, 1 teaspoon sesame oil, 2 teaspoons cornflour or cornstarch
- Heat the oil in a wok or large frying pan until it is very hot, then add the meat. Take care, it may splatter. Stir for 3 or 4 minutes until seared on all sides, then remove from the heat and transfer the meat to a plate.2 tablespoons vegetable oil
- If necessary add a splash more oil, and stir in the onions, garlic and ginger and stir fry for 1 to 2 minutes until fragrant.1 large onion, 2 cloved garlic, ½ teaspoon ginger paste
- Stir in the tomatoes and fry for another 1 to 2 minutes until the tomatoes start to break down.2 medium tomatoes
- Add the chicken stock (or water), cover the pan with a lid, turn the heat down to a simmer and leave for 5 minutes to allow the onions to braise.½ cup chicken stock
- Stir in the oyster sauce, plum sauce and tomato ketchup and return the meat to the pan, along with any resting juices.2 tablespoons oyster sauce, 2 tablespoons plum sauce, 1 tablespoon tomato ketchup
- Turn up the heat and stir-fry for one to two minutes to coat the meat. Add the tomatoes.3 medium tomatoes
- Stir-fry for another 2 to 3 minutes until the tomatoes soften but still hold their shape.
- The sauce should have reduced and thickened, but if it is still too thin, you can stir in a slurry made with a little cornflour and 1 tablespoon of water (a little at a time) until thickened to your liking.1 teaspoon cornflour or cornstarch
- Remove from the heat and garnish with finely chopped spring onions, and serve with your choice of rice or noodles.2 spring onions or scallions (green part only)
Notes
- Prepare the pork first so that it can marinate while you prepare the rest of the ingredients.
- Slice the pork thinly and evenly across the grain so that it cooks quickly and remains tender.
- Cook the pork in batches if necessary. Adding too much pork to the pan all at once can cause the temperature to drop, and the pork will release liquid and stew rather than sear.
- Add the tomatoes at the right time. Some of the tomatoes should be added with the onions to help form the gravy; the remainder should be cooked very quickly at the end until they are soft, but still hold their shape.
- Taste at various points and adjust the flavour if necessary. Add a little extra soy sauce for saltiness, extra plum sauce (or even a pinch of sugar) for extra sweetness, or a splash of vinegar to balance the sweet and tangy notes.
- For best results, serve immediately.
- Refrigerator. Store any leftovers in an airtight container in the refrigerator for up to 2 days. The sauce may become thinner due to the tomatoes releasing liquid. You can thicken the sauce when you reheat it with a slurry of cornflour and water.
- Reheating. Reheat in a saucepan on the stove until just heated through. Avoid overcooking as this may cause the pork to become tough. If you intend to thicken the sauce, add the cornflour slurry as soon as the pork and tomato stir-fry is in the pan; the sauce will thicken as soon as it reaches boiling point.
- Freezer. This dish isn't ideal for freezing as the tomatoes tend to break down and become mushy once frozen.
- Make-ahead tip. You can marinate the pork and prepare the vegetables a few hours ahead, and keep them in the refrigerator until you are ready to cook. The stir-fry comes together in minutes.
Nutrition
I am not a nutritionist. The nutrition information has been calculated using an on-line calculator, and is intended for information and guidance purposes only. If the nutrition information is important to you, you should consider calculating it yourself, using your preferred tool.
If you made this recipe and enjoyed it, I'd love it if you could give me a star rating in the comments below. And if you'd like to get in touch, you can email me at [email protected]. I'd love to hear from you. And don't forget to subscribe to my mailing list so you can grab yourself a copy of my FREE COOKBOOK!
If you'd like to continue browsing, just click on this link to all my recipes.





















Did you make this recipe? Let me know!