Print Recipe
4.74 from 15 votes

Sweet and Sour Pork

Sweet and sour pork is one of the most popular Chinese restaurant dishes ever, but as with most classics, it's hard to find a go-to recipe. Look no further!
Prep Time30 mins
Cook Time45 mins
Total Time1 hr 15 mins
Course: Pork
Cuisine: Chinese
Keyword: sweet and sour pork
Servings: 6 servings
Calories: 458kcal
Author: Bill


For the pork and marinade, you'll need:

  • 1 pound pork shoulder or pork tenderloin (450g, cut into bite-sized pieces)
  • 2 tablespoons water
  • 1/8 teaspoon garlic powder
  • ¼ teaspoon onion powder
  • ½ teaspoon sesame oil
  • 1 teaspoon soy sauce

For the sauce, you'll need:

  • 1 teaspoon oil
  • 2 slices ginger (smashed)
  • 1 star anise
  • ¼ cup tomato ketchup
  • cups white vinegar (5% acidity or less)
  • ½ cup sugar

For dredging and frying the pork, you'll need:

  • 3 cups canola oil (for frying)
  • ½ cup all-purpose flour
  • ¼ cup cornstarch
  • ¼ teaspoon salt
  • 1/8 teaspoon pepper
  • 1 egg (beaten)

For the rest of the dish:

  • 1 tablespoon oil
  • 1/2 green bell pepper (cut into 1½-inch square pieces)
  • 1/2 red pepper (cut into 1½-inch square pieces)
  • 1/2 onion (cut into 1½-inch square pieces)
  • 8 ounce can of pineapple chunks (you'll use the juices from the can for the sauce)
  • 2 teaspoons cornstarch (mixed into a slurry with 2 teaspoons water)


  • Add the marinade ingredients to the pork, and mix everything together until there is no visible liquid. Set aside for 30 minutes.
  • Next, make the sauce. Add 1 teaspoon of oil, ginger slices, and star anise to a small saucepan over medium heat, and cook until the ginger starts to caramelize (about 1 minute). Next, add the ketchup. When that starts to sizzle, stir constantly until the ketchup starts to caramelize (about 2 minutes). Take care not to burn the aromatics and ketchup--this step is essential to give the sauce a deeper, more complex flavor.
  • Next, add the white vinegar, sugar, and the juice from the canned pineapple. Stir until the mixture starts to simmer, and the sugar is dissolved. Turn to the lowest heat and let the sauce simmer and reduce until the sauce just starts to coat a spoon (about 30 minutes). The sauce needs this time for the flavors to meld. The sauce can be cooled and stored at this time, and you can double or triple the amount and store the sauce away in the refrigerator for future meals.
  • Heat 3 cups of oil to 350F in a small pot for frying. Using a small pot and frying in batches leaves you with less leftover oil to deal with. Always let the oil cool completely and use a fine mesh strainer to strain the oil before storing in the refrigerator.
  • Mix together the dredging ingredients (flour, cornstarch, salt and pepper) in a shallow dish. Dredge the pork pieces in the flour mixture, dip into the egg, and then dredge with the flour again.
  • Fry the pieces in batches for about 2 to 3 minutes, or when they just start to get golden brown. Remove them from the oil and transfer to a sheet pan with a slotted spoon or spider.
  • Once you’re ready to combine everything, refry the pork in batches to crisp up the coating. That's right, they're going to fry for a second time––this prevents the pork from getting too soggy when added to the sauce.
  • To a clean wok, add 1 tablespoon oil, the bell peppers, and onions. Stir-fry for 30 seconds, and add the sauce and the pineapple. Bring the mixture to a simmer to further thicken the sauce. At this time, you will likely need to add some cornstarch slurry to thicken the sauce further. Add half first and stir for 15 seconds; then decide if you need more. Remember the sauce will thicken more as it cools in the plate, so add only as much as you need.
  • I have to add another note to this recipe that this sauce is very sweet and very pungent! So at this point, you must taste the sauce and add water to it if it is too strong and by that, I mean too sweet or too sour. Once you have it adjusted to your taste and the desired thickness, especially if you added more water, then go ahead to the next step and add the pork.
  • Next, add your crispy pork to the sauce, and toss until the pieces are well-coated. Serve immediately!


Calories: 458kcal | Carbohydrates: 42g | Protein: 12g | Fat: 26g | Saturated Fat: 3g | Cholesterol: 58mg | Sodium: 293mg | Potassium: 324mg | Fiber: 2g | Sugar: 26g | Vitamin A: 545IU | Vitamin C: 31.2mg | Calcium: 23mg | Iron: 1.5mg