Milk Braised Pork Shoulder Recipe: Celery Crown Crunch Over Rich Onion Gravy

Main Courses

Milk Braised Pork Shoulder Recipe: Celery Crown Crunch Over Rich Onion Gravy

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.

👹‍🍳
Difficulty
Medium
đŸ„©
Category
Meat
đŸ”„
Calories
High Cal

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.

1

đŸ”„ 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.

2

👹‍🍳 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.

3

🍳 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.

4

⏰ 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.

5

đŸœïž 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

Servings 4
Amount Per Serving
Calories 680kcal
% Daily Value *
Total Fat 48g61%
Saturated Fat 22g110%
Cholesterol 185mg62%
Sodium 1250mg54%
Total Carbohydrate 32g11%
Dietary Fiber 4g14%
Sugars 12g
Protein 58g116%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

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!

2

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!

3

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!

4

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!

5

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!

★★★★★4.6(2 reviews)
Categories Main Courses