Main Courses
This milk-braised pork shoulder delivers melt-in-your-mouth tenderness with a celery crown that adds satisfying crunch over rich onion gravy. đ„ I perfected this technique after years of studying Chinese braising methodsâwhere milk replaces water for unmatched silky texture.
The key lies in slow cooking at low temperatures, letting collagen dissolve into the broth while the celery crown transforms into crispy, golden strands.
The process begins with searing the pork shoulder to lock in juices, then braising it in a mixture of milk, onions, and aromatics for 4-5 hours. This method creates a sauce so velvety it coats every bite, while the celery crown develops that signature crunch through careful dehydration.
What sets this apart is how the milk breaks down into a naturally thickened gravy without needing cornstarch or flour.
By the time you serve this dish, you'll have perfectly tender pork that practically falls apart at the touch, topped with crispy celery crowns that add both texture and visual appeal.
The rich onion gravy ties everything together, making each bite feel luxurious. This is the kind of recipe that transforms a simple weeknight dinner into an impressive centerpiece.
Pair it with steamed jasmine rice to soak up every last drop of that milky gravy, or serve alongside stir-fried greens for balance. The technique works beautifully in both traditional ovens and pressure cookersâgiving you flexibility without sacrificing quality. Let's get started on this restaurant-worthy pork shoulder.
Ingredients for milk braised pork shoulder
Four pounds of pork shoulder, celery crowns, and milk that transforms into velvety gravyâthis is restaurant-quality braising at home.
| Ingredient | Amount | Notes |
|---|---|---|
| Pork Shoulder (Bone-In) đ· | 4 lb | Well-marbled, trimmed of excess fat |
| Whole Onions đ§ | 4 whole | Yellow or red, halved lengthwise |
| Celery Stems đ§ | 1 bunch | Thick stalks, cut into 3-inch pieces |
| Whole Garlic Cloves đ§ | 10 cloves | Smash lightly with side of knife |
| Fresh Ginger đż | 1 inch | Peeled, sliced into thin coins |
| Whole Milk đ„ | 2 cups | Full-fat for richness, not skim |
| Dry White Wine đ· | 1 cup | Sauvignon Blanc or Pinot Grigio |
| Low-Sodium Soy Sauce đ¶ | 2 tbsp | For umami depth, not salty |
| Brown Sugar đŻ | 2 tbsp | Lightly packed, for caramelization |
| Cornstarch đŸ | 1 tbsp | For gravy thickening (optional) |
| Vegetable Oil đ« | 2 tbsp | High smoke point for searing |
| Diamond Crystal Kosher Salt đ§ | 1 œ tsp | Adjust to taste, don't oversalt |
| Freshly Ground Black Pepper đ¶ïž | œ tsp | Cracked peppercorns preferred |
| Jasmine Rice đ | 2 cups | Uncooked, for serving suggestion |
The pork shoulder is non-negotiableâlook for bone-in cuts with good marbling at Whole Foods or your butcher shop. Thicker cuts (4+ lbs) work better for even cooking. Celery crowns? Grab the thickest stalks you can findâTrader Joe's has great organic ones. Fresh ginger should smell bright and zesty; if it's musty, skip it. For the milk, whole fat is essentialâskim won't give that luxurious texture. The wine? Whatever dry white you've got open works, but Sauvignon Blanc adds a nice citrus note that pairs perfectly.
No white wine? Chicken or vegetable broth with a splash of vinegar mimics the acidity. Skip the soy sauce? Miso paste or coconut aminos add umami without overpowering. Brown sugar substitute? Maple syrup or honey works in a pinch (though honey won't be vegan). The cornstarch is optionalâif you're making gravy, it helps thicken, but the milk will naturally break down enough to coat. For the celery crowns, cut them into 3-inch piecesâlonger pieces crisp up better. And if you're using a pressure cooker, reduce braising time by half, but keep an eye on the milkâit can curdle if it gets too hot.
This dish tastes even better the next dayâplan ahead. Store the braised pork in its juices in the fridge for up to 5 days or freeze for 3 months. The celery crowns will crisp up again when reheated. For serving, I always make extra jasmine riceâ2 cups uncooked yields about 6 cups cooked, perfect for soaking up that milky gravy. The leftovers? Absolute magic in sandwiches or fried rice. And if you're feeling fancy, garnish with extra crispy celery crowns before servingâworth the extra 10 minutes in the oven.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe when Iâm too tired to juggle multiple dishes. The pork shoulder, onions, and celery all simmer togetherâno chopping boards left strewn across the kitchen.
- Rich, Deep Flavor: That first sip of braising liquid? Pure umami gold. The milk caramelizes into a velvety sauce while the ginger and garlic infuse the pork with layers of warmthâcrispy outside, tender inside.
- Leftovers That Shine: Between us, this dish tastes even better the next day. Iâll make a double batch on Sunday, then reheat slices for sandwiches or toss chunks into stir-fries all week.
- Budget Stretch: Pork shoulder is my walletâs best friendâcheap per pound but packed with meat. The onions and celery bulk it up, so Iâm feeding my family hearty portions without breaking the bank.
Step-by-step instructions for milk braised pork shoulder
Here's how to transform tough pork into melt-in-your-mouth perfection with a crispy celery crown and velvety onion gravy.
đ„ Step 1: Sear the Pork Shoulder for Deep Flavor
Heat a heavy Dutch oven over medium-high heat until it's screaming hot. Add the 2 tablespoons vegetable oil and let it shimmer for 1 minute. Pat the 4 lb pork shoulder (bone-in) completely dry with paper towelsâthis is non-negotiable for crispy skin.
Place the pork in the pot fat-side down and sear undisturbed for 8-10 minutes until the fat renders and the skin turns deep golden brown. Flip the pork and sear the other side for another 8-10 minutes. The reason we sear so thoroughly is that this creates the Maillard reactionâthose beautiful browned bits that dissolve into the braising liquid, forming the foundation of our rich gravy.
đšâđł Step 2: Build the Aromatic Base
Remove the pork and set it aside. In the same pot, add the 4 whole onions (halved lengthwise), 1 bunch celery stems (cut into 3-inch pieces), 10 cloves whole garlic cloves (lightly smashed), and 1 inch fresh ginger (sliced into thin coins). Cook over medium heat for 5-6 minutes, stirring occasionally, until the vegetables soften and release their juices.
Here's where it gets goodâsprinkle the 1.5 teaspoons Diamond Crystal kosher salt and 0.5 teaspoon freshly ground black pepper over the vegetables. Add the 2 tablespoons brown sugar and stir to coat everything evenly. The sugar will caramelize slightly, adding depth to the braising liquid. This aromatic base is what transforms simple braising into something extraordinary.
đł Step 3: Deglaze and Braise with Milk and Wine
Pour in the 1 cup dry white wine and scrape up all those delicious browned bits from the bottom of the pot with a wooden spoon. Let the wine simmer for 2-3 minutes until reduced by half. Then, add the 2 cups whole milk and the 2 tablespoons low-sodium soy sauce.
Return the pork to the pot, fat-side up, and bring everything to a gentle simmer over low heat. The liquid should just barely bubbleâthis is crucial for tender meat. Cover the pot and transfer it to a 300°F oven. Here's the thingâbraising is a marathon, not a sprint. Cook for 3 hours before checking for doneness. The pork should be fork-tender, with the internal temperature reaching 195-200°F.
â° Step 4: Finish with Celery Crown Crunch
Once the pork is tender, carefully remove it from the pot and let it rest on a cutting board for 15 minutes. Strain the braising liquid through a fine-mesh sieve into a clean pot and return it to the stovetop over medium heat. Sprinkle the 1 tablespoon cornstarch mixed with 2 tablespoons water into the liquid and whisk vigorously until it thickens into a glossy gravy.
For the celery crownâthis is where the magic happensâcut the 1 bunch celery stems into 1-inch thick rounds (like crowns). Heat 1 tablespoon vegetable oil in a skillet over medium-high heat until shimmering. Add the celery crowns and cook for 3-4 minutes per side until they're deep golden brown and crispy. The contrast between the tender pork and crispy celery is what makes this dish truly special.
đœïž Step 5: Serve with Jasmine Rice and Rich Gravy
Slice the pork against the grain into œ-inch thick slices. Serve it over 2 cups cooked jasmine rice, drizzled with the velvety onion gravy, and topped with the crispy celery crowns. The result is a harmonious balance of textures and flavorsâtender pork, rich gravy, and that satisfying crunch from the celery.
Don't forget to save some of that gravy for dipping! The combination of the pork's natural juices, the sweetness from the onions and brown sugar, and the umami from the soy sauce creates a sauce that's irresistibly good. This dish is perfect for feeding a crowd or meal preppingâjust reheat gently to maintain that perfect texture.
Pro Tips For Making Milk Braised Pork Shoulder
- Sear the Pork First: I used to skip this step and wondered why my pork never got that deep, caramelized flavor. Hit the pork shoulder with high heat until itâs got a deep brown crustâabout 5-6 minutes per sideâbefore adding anything else. That crust locks in moisture and builds flavor that milk alone canât match.
- Blanch the Aromatics: Toss whole onions, garlic cloves, and ginger into boiling water for 30 seconds first. This softens them just enough so they infuse the milk without turning it bitter or making the pork taste like youâre chewing on a root vegetable. Drain and pat dry before adding to the pot.
- Donât Rush the Milk: After searing, add enough milk to come halfway up the porkâabout 1-2 cupsâand bring it to a gentle simmer. If it boils hard, the milk will curdle or split, and youâll end up with a grainy, off-flavor braise. Keep it at a low bubble, and resist the urge to crank the heat.
- Save the Starch: When the pork is tender, strain the braising liquid through a fine-mesh sieve to remove the onions, garlic, and ginger. Return the liquid to the pot and simmer it uncovered for 5 minutesâthis reduces it slightly and thickens it naturally, so you donât end up with a watery mess. (Yes, even if it looks weird.)
Pro cooking tips for this recipe
Milk Magic
Using whole milk instead of water or broth creates a velvety sauce that naturally thickens as it cooksâno cornstarch needed. The milk breaks down into proteins that coat the pork, resulting in a silky texture.
Iâve found that 2 cups of milk for a 4 lb pork shoulder gives the perfect balance of richness without making the dish too heavy. If you're concerned about curdling, add the milk gradually after deglazing with wine. đ„
Low-and-Slow Mastery
Braising at 300°F for 3-4 hours is non-negotiable for tender pork. I use a meat thermometer to check for 195-200°F internal temperatureâthis ensures the collagen melts into the sauce. The key is patience: resist the urge to rush it.
If you're short on time, a pressure cooker cuts braising time to 90 minutes, but monitor closely to prevent milk curdling. â±ïž
Celery Crown Crunch
For perfect crispy celery crowns, cut the stalks into 1-inch thick rounds and fry them in 1 tablespoon vegetable oil over medium-high heat until golden brownâabout 3-4 minutes per side. The secret? Donât overcrowd the pan, or theyâll steam instead of crisp.
I like to fry them fresh before serving, but you can also bake them at 400°F for 10 minutes if youâre prepping ahead. đ
Gravy Perfection
Strain the braising liquid through a fine-mesh sieve to remove any solids, then simmer it until slightly reduced. For extra thickness, mix 1 tablespoon cornstarch with 2 tablespoons cold water and whisk it into the gravy until it reaches a glossy consistency.
If the gravy is too thin, reduce it furtherâthis is where the milkâs natural thickening power shines. đ«
Pressure Cooker Shortcut
For a faster version, use a pressure cooker on high pressure for 90 minutes, then natural release for 15 minutes. The milk will still break down beautifully, but keep an eye on itâhigh heat can cause curdling.
Iâve tested this method with my Instant Pot, and it works flawlessly, though the texture is slightly different from oven-braised. âĄ
Resting for Tenderness
Never skip the 15-minute rest after removing the pork from the pot. This allows the juices to redistribute, ensuring each slice is moist and flavorful. I like to tent the pork loosely with foil while it restsâthis keeps it warm without steaming.
Trust me, the difference is night and day compared to serving it immediately. đȘ
Nutrition facts
Frequently asked questions
Why use milk instead of broth for braising pork?
Milk creates a naturally velvety sauce that thickens as it cooks without needing cornstarch. The proteins in milk break down into a silky texture that coats the pork beautifully. For a 4 lb pork shoulder, 2 cups whole milk gives perfect richness while keeping the dish balanced. Plus, it adds a subtle sweetness that pairs wonderfully with the savory pork and celery crowns!
Can I make this recipe in a slow cooker?
Use the same ingredients but cook on low for 8 hours or high for 5-6 hours. Add the milk and wine after the pork has seared and the aromatics have cooked. The key is to maintain a gentle simmerâcover the slow cooker and check occasionally to prevent curdling. The texture will be slightly different but still delicious!
How do I prevent the milk from curdling?
Add the milk gradually after deglazing with wine, and keep the heat low. Never let the liquid boil vigorously. If you're using a pressure cooker, reduce the time to 90 minutes and do a natural release for 15 minutes to avoid overheating. The milk should stay smooth and creamy throughout the process!
What's the best way to reheat leftovers?
Gently reheat the pork in its juices over low heat on the stovetop or in a 300°F oven for 20-30 minutes. For crispy celery crowns, fry fresh in 1 tablespoon oil for 2-3 minutes per side before serving. The milk-based gravy reheats beautifullyâjust warm it gently to avoid curdling. Leftovers taste even better the next day!
Can I substitute bone-in pork shoulder for boneless?
Yes, but boneless will cook fasterâexpect 2-3 hours instead of 3-4 hours. Use the same milk ratio and check internal temperature with a thermometer for 195-200°F. The bone adds flavor and helps tenderize, but boneless works well if you're short on time. Just be extra careful not to overcook!
