Hands down. THE. BEST. Sweet-and-Sour Pork ever! As The Hubs said “Finally a grown-up version that’s not all gloppy sweet.” In Hong Kong, a true Cantonese sweet-and-sour pork was the predecessor of the overly sweet versions served today in many Chinese-American restaurants (I’m sure you’ve had one or two?). Milk Street created this recipe by combining the attributes of the best ones.
Though the pork typically is deep-fried, it is kept lighter by pan-frying it in just ¼ cup of oil to crisp a thin cornstarch coating. Traditional versions are flavored with hawthorn berries, a crabapple-like fruit. To approximate the flavor of hawthorn berries, use apple jelly—it provides fruitiness, sweetness and a little body to the glaze-like sauce.

Finally, a little MSG amplifies the savoriness, but it’s optional. A 12- to 14-inch wok is the best pan to use, but a 12-inch skillet works, too. If using a skillet, cook the pork in a single batch instead of two.
Don’t use canned pineapple. Milk Street tasted versions in Hong Kong made with canned fruit and they claim the flavor and texture fell flat. Also, be sure the sauce is adequately reduced and thickened before returning the pork to the pan. If it is too thin, its flavor will be diluted and it won’t cling properly to the pork and vegetables.
We were definitely a little skeptical of the level of sweetness with ketchup, sugar and pineapple, but while there was a hint of sweetness, it was by no means cloying. A few changes that we made? Instead of a small red onion, we used a large one; and the amount of fresh pineapple chunks* was more like 3 cups worth.
We both love stir-fries because they are usually quick and contain a lot of vegetables. This recipe has now earned a well-deserved spot in the top ten best of all stir-fries!

Cantonese Sweet-and-Sour Pork
Ingredients
- 1 – 1¼ lbs. boneless country-style pork spareribs, cut into ¾- to 1-inch pieces
- 4 Tbsp. white sugar, divided
- 3 Tbsp. soy sauce, divided
- 3/4 tsp. MSG, divided (optional)
- Kosher salt and ground black pepper
- 1/2 cup unseasoned rice vinegar
- 1/4 cup apple jelly
- 2 Tbsp. ketchup
- 1/4 cup cornstarch
- 1/4 cup grapeseed or other neutral oil
- 1½ cups fresh pineapple chunks* (¾- to 1-inch pieces)
- 1 small red onion, cut into 1-inch pieces
- 1 medium red, orange, yellow or green bell pepper, stemmed, seeded and cut into 1-inch pieces
















Directions
- In a medium bowl, combine the pork, 1 tablespoon of the sugar, 1 tablespoon of the soy sauce, ½ teaspoon of the MSG (if using), ¼ teaspoon salt and ¾ teaspoon pepper. Mix until the pork is thoroughly coated; set aside at room temperature for 30 minutes (for longer storage, cover and refrigerate for up to 2 hours).
- Meanwhile, in a small bowl, whisk together the remaining 3 tablespoons sugar, remaining 2 tablespoons soy sauce, remaining ¼ teaspoon MSG (if using), vinegar, apple jelly, ketchup, ¼ teaspoon salt and ½ teaspoon pepper; set aside until ready to use.
- When you are ready to cook, sprinkle the cornstarch over the pork and mix until evenly coated. In a 12- to 14-inch wok over high, heat the oil until barely smoking. Add half of the pork, separating the pieces and distributing them in an even layer. Cook, undisturbed, for 1 minute. Stir, then cook, stirring occasionally, until crisp and deeply browned on all sides, 5 to 7 minutes. Using a slotted spoon, transfer to a large plate and set aside. Using the oil remaining in the wok, cook the remaining pork in the same way and transfer to the plate. Pour off and discard all but 1 tablespoon of the oil.
- Return the wok to high and heat the oil until barely smoking. Add the pineapple, onion and bell pepper; cook, stirring once or twice, until spottily charred but still crisp, about 2 minutes. Transfer to another plate and set aside.
- Pour the sauce mixture into the wok and bring to a boil over medium-high. Cook, whisking to combine and to scrape up any browned bits, until the sauce is thick and syrupy and forms large bubbles across the entire surface, 5 to 7 minutes.
- Return the pork to the pan and cook, stirring and tossing, until well glazed, 2 to 3 minutes. Return the vegetable mixture and cook, tossing, until well coated, 1 to 2 minutes. Off heat, taste and season with salt and pepper.
Recipe adapted by Courtney Hill for Milk Street



















