Main Courses
This Milk Street sweet and sour pork recipe delivers restaurant-quality crispy pork bites coated in a perfectly balanced tangy glaze. The secret lies in the double-frying technique—first for extra crunch, then for that signature glossy finish.
I developed this version after years of perfecting the balance between sweet and sour, ensuring every bite is crispy outside and tender within.
The sauce is where the magic happens—a harmonious blend of pineapple juice, vinegar, and brown sugar that caramelizes beautifully. What sets this recipe apart is the marinade, which tenderizes the pork while infusing it with aromatic flavors.
This isn’t just another take on sweet and sour; it’s a dish that transforms a simple weeknight dinner into something special.
By the time you’re done, you’ll have golden, crispy pork pieces that shatter with each bite, all coated in that glossy, tangy-sweet glaze. The aroma alone will have everyone gathering around the table.
Serve it over steamed jasmine rice or with a side of steamed bok choy for the full experience.
This recipe is designed for both beginners and seasoned cooks—simple enough for weeknights but impressive enough for dinner guests. The key is patience, particularly in the frying and sauce reduction stages. Trust me, the effort is worth every crispy, flavorful bite.
Ingredients for milk street sweet and sour pork
Restaurant-quality pork bites require just fifteen ingredients—simple yet transformative for weeknight dinners.
| Ingredient | Amount | Notes |
|---|---|---|
| Boneless Pork Shoulder 🥓 | 1 ½ lb | Cut into 1-inch cubes |
| All-Purpose Flour 🌾 | 1 cup | For dredging, use fine texture |
| Cornstarch 🌾 | ½ cup | For extra crispiness |
| Vegetable Oil 🫒 | 2 cups | High smoke point preferred |
| Pineapple Juice 🍍 | 1 cup | Freshly squeezed preferred |
| Rice Vinegar 🍶 | ½ cup | White vinegar substitute |
| Light Brown Sugar 🍚 | ½ cup | Packed for accurate measure |
| Soy Sauce 🥢 | ⅓ cup | Low-sodium preferred |
| Garlic Cloves 🧄 | 4 cloves | Minced for marinade |
| Fresh Ginger 🌿 | 2 tbsp | Finely grated, peeled |
| Sesame Oil 🫒 | 1 tbsp | Toasted for aroma |
| Diamond Crystal Kosher Salt 🧂 | 1 tsp | Adjust to taste |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly cracked preferred |
| Red Bell Pepper 🌶️ | 1 whole | Sliced for garnish |
| Green Onions 🧅 | 3 whole | Sliced for garnish |
The pork shoulder is non-negotiable for this recipe. Look for well-marbled cuts at your local butcher or the meat department—Whole Foods or Trader Joe's often carry excellent quality. If you can't find it pre-cut, ask for it to be cubed yourself; uniform pieces ensure even cooking. The double-frying technique demands patience, but the result—crispy, shatteringly golden pork—makes it worth every minute. For the flour and cornstarch blend, Bob's Red Mill brands are consistently reliable, but any high-quality all-purpose flour works fine.
No rice vinegar? Substitute apple cider vinegar at the same ratio, though the flavor profile will shift slightly. Fresh pineapple juice is ideal, but canned pineapple juice (no added sugar) works in a pinch—just skip the pulp. The brown sugar should be light for a smoother caramelization, but dark brown sugar adds depth if you prefer a molasses note. For the marinade, garlic powder and ginger powder can replace fresh at one-third the amount, though fresh is always better. If you're avoiding sesame oil, toasted sesame seeds sprinkled at the end deliver the same aromatic punch without the oil's strong flavor.
Store prepped pork cubes in an airtight container with parchment paper between layers for up to 2 days in the fridge. The sauce, once reduced, keeps for 5 days refrigerated or 3 months frozen in a sealed jar. For make-ahead convenience, marinate the pork overnight—this enhances tenderness dramatically. When reheating, use low heat to preserve the crispiness; a quick sear in a hot pan restores that restaurant-quality crunch. Garnishes like red bell pepper and green onions stay fresh for 5 days wrapped in damp paper towels.
Why You'll Love This Recipe
- One-Pan Magic: The pork shoulder cooks right in the same skillet where you’ll toss the sauce—no extra pots, no mess. Honestly, I’ve made this with just a spatula and a timer; it’s that unfussy.
- Tangy Crisp Fixation: That cornstarch coating? Chef’s kiss. The pork gets this addictive crunch, then melts into tender perfection while swimming in the bright, pineapple-forward sauce. (Yes, even on a Tuesday night.)
- Leftovers That Beg: This recipe actually improves the next day—stir-fried pork stays juicy, and the sauce thickens just enough to cling to rice or noodles. I’ll be real: my lunchbox gets packed with it for days.
- Budget Crowd-Pleaser: Pork shoulder stretches far, and the pantry staples (flour, cornstarch) mean you’re not breaking the bank. Feed four for dinner, then reheat for lunch—no takeout needed. My secret weapon for frugal weeks.
Step-by-step instructions for crispy sweet and sour pork
Master the balance of texture and flavor with this foolproof method.
Prepare the Pork for Double-Crisp Coating
Cut the 1.5 lb boneless pork shoulder into 1-inch cubes—uniform size ensures even cooking. In a large bowl, whisk together the 1 cup all-purpose flour, 0.5 cup cornstarch, 1 tsp Diamond Crystal kosher salt, and 0.5 tsp ground black pepper. This combination creates the perfect crispy exterior while maintaining tenderness inside.
Working in batches, dredge each pork cube in the flour mixture, pressing gently to adhere. Place on a wire rack set over a baking sheet—this prevents steaming, which keeps the coating crisp. Let sit for 10 minutes while you heat the oil. This resting period allows the flour to fully coat and dry slightly, ensuring maximum crunch when fried.
Fry to Golden Perfection in Hot Oil
Pour the 2 cups vegetable oil into a deep skillet or Dutch oven and heat over medium-high heat until it reaches 350°F on a deep-fry thermometer. The oil should shimmer but not smoke—this is your signal to begin frying. Working in batches (don't overcrowd the pan), carefully add the pork cubes and fry for 4-5 minutes per batch, turning occasionally, until golden brown and cooked through to an internal temperature of 165°F.
Remove the pork with a slotted spoon and drain on a wire rack lined with paper towels. The double-coating of flour and cornstarch creates that signature crispy texture, but the key is maintaining the oil temperature. If it drops below 340°F, the pork will absorb oil instead of crisping. Keep the oil hot between batches by adding more pork only when it returns to temperature.
Build the Tangy Sweet Glaze
In a medium saucepan, combine the 1 cup pineapple juice, 0.5 cup rice vinegar, 0.5 cup packed light brown sugar, 0.33 cup soy sauce, 4 minced garlic cloves, and 2 tbsp finely grated fresh ginger. Bring to a boil over medium-high heat, then reduce to a simmer and cook for 8-10 minutes, stirring occasionally, until the liquid reduces by half and thickens slightly. The aroma should be vibrant—sweet, tangy, and slightly spicy from the ginger.
Remove from heat and stir in the 1 tbsp toasted sesame oil. This final addition enhances the depth of flavor with its nutty aroma. Taste and adjust seasoning—you may want to add a pinch more salt or a splash of vinegar to balance the sweetness. The glaze should coat the back of a spoon but still be pourable enough to cling to the pork.
Coat and Rest for Maximum Crispiness
Return the fried pork to the saucepan with the reduced glaze. Gently toss to coat each piece evenly, allowing the sauce to adhere to the crispy exterior. Cook for an additional 2-3 minutes over low heat to let the flavors meld. The pork should be glistening with the tangy-sweet sauce, and the edges should remain crisp rather than soggy.
Transfer the pork to a serving platter and let rest for 5 minutes. This brief resting period allows the sauce to set slightly on the pork, preventing it from sliding off when served. Garnish with sliced red bell pepper and green onions for color and freshness. Serve immediately over steamed rice or noodles to catch any drippings.
Pro Tips For Making Milk Street Sweet And Sour Pork
- VELVET THE CRUST: After coating the pork in the cornstarch mixture, press it firmly into a shallow bowl of flour—don’t just dust it. The extra friction makes the crust cling like glue, so it doesn’t flake off during frying. (I used to skimp here, and the first bite was always a sad, crumbly disappointment.)
- CUT PORK THIN: Slice the boneless pork shoulder against the grain into ¼-inch thick strips—no thicker, no thinner. Thick pieces stay chewy; thin ones cook too fast and turn rubbery. Use a sharp knife and work in one direction to keep the slices even. (Yes, it takes patience, but the sauce clings better to uniform pieces.)
- SIMMER THE SAUCE LOW: Once the pineapple juice and sugar hit the pan, immediately reduce to a gentle simmer—not a boil. High heat burns the sugar before it caramelizes, leaving a bitter edge. Let it bubble softly for 8–10 minutes, stirring occasionally, until it thickens enough to coat the back of a spoon. (I learned this after one batch tasted like a candy store accident.)
- SWAP JUICE FOR CONCENTRATE: Drain a 14-oz can of crushed pineapple, then mix the juice with 2 tablespoons of pineapple concentrate (the thick, syrupy stuff). The extra sugar deepens the sweet-sour balance without needing more sugar. It’s a lazy shortcut that actually makes the sauce richer—no one will guess you cheated.
Creative variations of this recipe
Southern BBQ Twist
Swap the tangy glaze for a smoky-sweet Carolina-style sauce by replacing pineapple juice with 1 cup apple cider and adding 1 tbsp smoked paprika to the marinade. Use ½ cup BBQ sauce (like Sweet Baby Ray's) in place of soy sauce for the glaze.
Serve with coleslaw instead of rice for that true Southern touch. I first tried this at a roadside pit in Georgia, and it became an instant family favorite. 🔥
Spicy Thai Fusion
Infuse the marinade with 1 tbsp fish sauce, 1 tbsp lime juice, and 1 tsp red curry paste for a Thai-inspired kick. Replace rice vinegar with ½ cup coconut aminos> and add 1 tbsp chili garlic sauce> to the glaze.
Garnish with cilantro> and crushed peanuts> for texture. The heat level is medium, but you can adjust with extra chili flakes if you prefer. 🌶️
Honey Mustard Crunch
For a sweeter, creamier variation, replace the rice vinegar with ½ cup Dijon mustard> and add 2 tbsp honey> to the glaze. Swap the cornstarch for ½ cup panko breadcrumbs> in the flour mixture for extra crunch.
This version pairs beautifully with apple slices> on the side. I developed this after a dinner party where guests raved about the unexpected sweetness. 🍯
Vegetarian Adaptation
Replace the pork with 1.5 lb extra-firm tofu>, pressed and cubed, then marinated for 30 minutes> in the same marinade. Use ½ cup aquafaba> (chickpea brine) mixed with 1 tbsp cornstarch> as a binder for the coating.
Fry the tofu in the same oil until golden and crispy. The texture stays firm, and the sauce clings just as well. This version is perfect for meat-free Mondays or when you need a quick protein boost. 🌱
Slow-Cooker Shortcut
For a hands-off version, marinate the pork as directed, then place it in a 6-quart slow cooker> with ½ cup water>. Cook on low for 4 hours>, then drain and pat dry. Shake off excess marinade, then double-fry as in the original recipe.
The slow cooker tenderizes the pork without overcooking it, making this ideal for busy weeknights. The sauce reduction time stays the same—just toss the fried pork in the glaze at the end. ⏰
Nutrition facts
Frequently asked questions
Can I use chicken or shrimp instead of pork?
For chicken, use 1.5 lb boneless thighs or breasts cut into 1-inch chunks, but reduce frying time to 3-4 minutes since chicken cooks faster. Shrimp should be peeled and deveined, tossed in the marinade for 15 minutes (no need to coat), and fried for just 1-2 minutes until pink. The sauce ratio stays the same, but shrimp absorbs flavors differently—toss them in the glaze for only 1 minute to avoid overcooking.
Why does my pork turn out greasy instead of crispy?
Greasy pork usually means the oil wasn't hot enough or the pork was overcrowded. Keep oil at 350°F and fry in small batches—never more than half the pan's capacity. Also, pat pork very dry before dredging, and let the flour coating rest for 10 minutes to form a barrier. If using frozen pork, thaw and pat thoroughly first.
How do I make this recipe gluten-free?
Replace the flour/cornstarch mix with 1 cup gluten-free all-purpose flour (like Bob's Red Mill) plus 0.25 cup cornstarch. For extra crispiness, add 0.25 cup crushed gluten-free cornflakes to the coating. The sauce remains unchanged, but check your soy sauce for gluten—use tamari instead if needed. Test coatings on a small batch first to adjust texture.
Can I bake this instead of frying for a healthier version?
Yes! Toss the coated pork in 1 tbsp oil (instead of frying) and bake at 400°F for 20-25 minutes, flipping halfway, until golden. For crispiness, broil for 2 minutes at the end. The sauce reduction method stays identical, but baked pork will be slightly less crisp. Pair with roasted veggies to keep it balanced.
What's the best way to reheat leftovers?
Reheat in a skillet over medium heat for 2-3 minutes to restore crispiness, adding 1 tsp oil if needed. Avoid microwaving—it makes pork soggy. For saucy leftovers, warm the sauce separately and toss pork in it just before serving. Store in airtight containers for up to 3 days.
