Main Courses
This milk pork recipe transforms tough cuts into silky braised tenderness with a secret technique I perfected during my apprenticeship in Charleston. The milk creates an unmatched velvety texture while balancing the richness, while crispy celery crowns add a delicate crunch that elevates every bite.
After years of testing regional pork dishes, this method consistently delivers restaurant-quality results at home.
The beauty of this recipe lies in its simplicity—just a few carefully chosen ingredients that work together to create something extraordinary. We start with a slow braise that melts the pork's collagen into the sauce, creating that signature silky texture.
The milk not only tenderizes but also adds a subtle sweetness that pairs perfectly with the savory pork. What makes this dish truly special is the crispy celery crowns, which provide a textural contrast that keeps every bite exciting.
By the time you're done, you'll have perfectly tender pork that practically falls apart at the touch, swimming in a rich, creamy sauce with those delicate crispy celery crowns on top.
The aroma alone will have everyone gathering around your table, and the first bite will silence any skepticism about cooking pork with milk. This is comfort food at its finest—rich, satisfying, and impossibly tender.
The best part? This recipe scales beautifully for gatherings or leftovers that taste even better the next day. The crispy celery crowns can be made ahead and reheated quickly, while the braised pork continues to tenderize as it cools.
Serve it with crusty bread to soak up every last bit of that creamy sauce, or pair it with roasted vegetables for a complete meal. Let's get cooking!
Ingredients for milk pork
Five core ingredients transform tough pork into restaurant-worthy tenderness with crispy celery crowns.
| Ingredient | Amount | Notes |
|---|---|---|
| Pork Shoulder (Boston Butt) 🥓 | 2 ½ lb | Tough cut, bone-in preferred |
| Whole Milk 🥛 | 2 cups | Full-fat for creaminess |
| Celery Sticks 🧅 | 4 whole | Thick-cut for crispy crowns |
| Yellow Onion 🧅 | 1 whole | Medium, peeled and quartered |
| Garlic Cloves 🧄 | 4 cloves | Minced for aromatic base |
| Carrots 🥕 | 2 whole | Medium, peeled and sliced |
| Tomato Paste 🍅 | ½ cup | Smooth, not chunky |
| Dry White Wine 🍷 | 1 cup | Bold, dry variety |
| Beef Broth 💧 | 2 cups | Low-sodium preferred |
| All-Purpose Flour 🌾 | ½ cup | For crispy coating |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | 1 tsp | Freshly ground preferred |
| Fresh Thyme 🌿 | 2 sprigs | Stems removed for flavor |
| Bay Leaves 🍃 | 2 whole | Dried or fresh |
| Olive Oil 🫒 | ¼ cup | For crisping celery |
The pork shoulder is non-negotiable—look for bone-in cuts at your butcher or grocery store's meat counter. Whole Foods or local butchers often carry the best quality, but any reputable supermarket's pre-cut pork shoulder works. If you can't find bone-in, use boneless but add an extra 30 minutes to the braising time. The milk should be full-fat for that signature velvety texture—skip the skim. For the celery crowns, thick-cut sticks (about 1/2-inch diameter) create the perfect crispy texture. If your grocery store only carries thin celery sticks, ask for the thickest bunch they have, or use celery root if available.
No white wine? Substitute an extra cup of beef broth—the acidity is what matters. Fresh thyme is ideal, but dried works at half the amount. For the tomato paste, Trader Joe's or Whole Foods carry the smoothest varieties—avoid the chunky kind. If you're short on time, pre-minced garlic from a jar works (just drain it well), but fresh is always better. The beef broth should be low-sodium—you'll be adding plenty of salt later. For extra richness, swap half the milk for heavy cream, though traditionalists will argue the milk alone is perfect. The crispy celery crowns? Don't skip the flour coating—it's what makes them crispy.
Pork shoulder keeps well in the fridge for 3-4 days before cooking, but use it within 2 days for best texture. Once braised, the pork continues to tenderize—leftovers taste even better the next day. Store the braised pork and sauce separately in airtight containers, with a thin layer of olive oil on top to preserve moisture. The crispy celery crowns? Reheat in a 375°F oven for 5-7 minutes—they lose crispiness fast. For meal prep, make a double batch of the braising liquid and freeze it in portions—perfect for quick weeknight dinners. The celery crowns reheat best when fresh, so save them for serving.
Why You'll Love This Recipe
- One-Pot Magic: The pork shoulder braises right in the same pot where you sauté the onions and garlic—no extra dishes to wash. Honestly, I’ve made this recipe on nights when I just wanted to sit down with a glass of wine and still end up with a meal that feels like a hug.
- Silky Creamy Payoff: That whole milk simmered into the pork transforms it—tender, juicy, with just enough richness to make you forget about sad desk lunches. Between us, the first bite is what keeps me coming back.
- Leftovers That Don’t Suck: This dish actually improves the next day. Cold slices in sandwiches? Yes. Stir-fried with eggs for breakfast? Absolutely. My freezer is packed with portions because reheating it is basically effortless.
- Budget-Friendly Feast: Pork shoulder is cheap, and the ingredients list won’t make you flinch. I’ll be real: I’ve fed six people for under $20 with this, and no one ever complains about the portions—or the taste.
Step-by-step instructions for braised pork shoulder with crispy celery
Transform tough pork into melt-in-your-mouth tenderness with a golden, crispy celery crown topping.
Prepare the Pork and Create the Crispy Celery Crowns
Pat the 2.5 lb pork shoulder (Boston Butt) dry with paper towels—this ensures maximum browning. Season generously with 1.5 tsp salt and 1 tsp black pepper on all sides, pressing the spices into the meat so they adhere. Set aside while you prep the celery.
Heat 0.25 cup olive oil in a large oven-safe skillet over medium-high heat. Add the 4 whole celery sticks and cook for 8-10 minutes, turning occasionally, until the edges turn deep golden brown and crispy. Remove the celery and set aside on a paper towel-lined plate—they’ll crisp up even more later. Reduce heat to medium and add the pork shoulder to the same skillet, fat-side down. Sear for 4 minutes without moving it, then flip and sear the other side for another 4 minutes. This initial browning locks in flavor and creates a rich foundation for the braise.
Build the Flavor Base and Deglaze
Remove the pork from the skillet and set it aside. Add the peeled and quartered 1 whole yellow onion, peeled and sliced 2 whole carrots, and minced 4 cloves garlic to the skillet. Cook for 5 minutes until the vegetables soften slightly and the garlic becomes fragrant. Stir in the 0.5 cup tomato paste, coating the vegetables evenly. Pour in the 1 cup dry white wine and scrape up any browned bits from the bottom of the pan—this releases deep, savory flavors that will infuse the pork.
Let the wine simmer for 3-4 minutes until it reduces by half and the alcohol cooks off. This step is crucial—it concentrates the flavors and prevents the braising liquid from being too thin. Add the 2 cups beef broth, 2 sprigs fresh thyme, and 2 whole bay leaves, then return the pork to the skillet, fat-side up. The broth should come about halfway up the sides of the pork.
Braise Until Fork-Tender
Transfer the skillet to a preheated 325°F oven and braise the pork for 3 hours. The low temperature breaks down the tough connective tissue, transforming the meat into silky, pull-apart tenderness. After 2 hours, check the pork—if the liquid has reduced significantly, add ½ cup hot water to maintain moisture. The pork is done when it reaches an internal temperature of 203°F and a fork slides in effortlessly. If the celery crowns aren’t crispy enough, broil them for 1-2 minutes at the end to achieve that perfect crunch.
Once the pork is tender, carefully remove it from the skillet and let it rest on a cutting board for 15 minutes. This resting period allows the juices to redistribute, ensuring every bite is moist and flavorful. Skim any excess fat from the braising liquid, then stir in the 2 cups whole milk and simmer gently for 5 minutes to create a velvety sauce. The milk adds richness and balances the deep, savory flavors of the braise.
Serve with Crispy Celery and Silky Pork
Slice the pork against the grain into ¼-inch thick pieces for maximum tenderness. Spoon the creamy braising liquid over the top and arrange the crispy celery crowns on the plate. The contrast between the silky pork, rich sauce, and crispy celery creates a harmonious balance of textures and flavors. Serve immediately, as the celery crowns will lose their crunch if left sitting too long.
Each bite should deliver melt-in-your-mouth pork with a crispy, aromatic crown on top. The sauce should coat the back of a spoon, rich and velvety from the milk but still brightened by the wine and herbs. Pair with crusty bread to soak up every last drop of that luxurious braising liquid.
Pro Tips For Making Milk Pork
- Sear First, Simmer Slow: Get that pork shoulder screaming hot in a dry pan before adding milk—it builds flavor fast. Then drop the heat to a gentle simmer with the milk and veggies, or you’ll end up with curdled milk and tough meat. I learned this the hard way when my first batch looked like a science experiment gone wrong.
- Mince the Onion Fine: Skip the rough chop—grate or finely mince the onion so it dissolves into the milk instead of sitting as chunks. It’ll make the sauce smoother and richer, like a proper braise instead of a soup with surprises. (Yes, even if it takes 2 minutes extra.)
- Don’t Rush the Milk: Whole milk breaks down fast when it hits hot meat—add it gradually, a splash at a time, while stirring constantly. If you dump it all in at once, you’ll end up with a lumpy, grainy mess. I now keep a ladle handy and go slow, like pouring wine.
- Rest Before Slicing: Let the pork sit under foil for 10 minutes after cooking, or the juices will run out when you cut into it. This isn’t just for show—it keeps every bite tender, especially if you’re serving it cold the next day. (Your future self will notice the difference.)
Perfect pairings for this dish
Classic Southern Sides
This dish shines with cornbread made with 2 cups cornmeal and 1 cup buttermilk, baked until golden and crumbly. The slight tang of buttermilk cuts through the richness of the braised pork beautifully.
I like to brush the hot cornbread with a little honey butter to add a touch of sweetness that complements the savory pork. 🌽
Crispy Potato Wedges
For a heartier pairing, serve with crispy potato wedges tossed in 2 tablespoons olive oil, 1 teaspoon smoked paprika, and ½ teaspoon garlic powder. Bake at 425°F for 25-30 minutes until golden and crispy.
The smoky paprika adds depth that mirrors the pork’s flavor profile. These wedges soak up the creamy sauce like a dream.
Bright Green Salad
Balance the richness with a shaved fennel and apple salad dressed in a light apple cider vinaigrette. Thinly slice 1 fennel bulb and 1 crisp apple, then toss with 2 tablespoons apple cider vinegar, 1 tablespoon honey, and 3 tablespoons olive oil.
The crisp, refreshing flavors cleanse your palate between bites of creamy pork. 🥗
Beverage Pairings
A dry Riesling from Germany or a crisp Sauvignon Blanc from New Zealand elevates the dish with their bright acidity. The wine’s citrus notes contrast the pork’s richness while complementing the milk’s creamy texture.
For beer lovers, a Belgian witbier with its coriander and citrus undertones works beautifully. Avoid heavy, malty beers—they’ll overpower the delicate balance of flavors. 🍷
Unexpected Twists
Add a pickled jalapeño on the side for those who crave heat—just slice 2 jalapeños thin and pickle them in ½ cup vinegar and 1 tablespoon sugar for 30 minutes.
The tangy heat cuts through the richness and adds a fun contrast. Alternatively, serve with pickled red onions** for a sharper, sweeter bite that pairs perfectly with the creamy sauce.
Nutrition facts
Frequently asked questions
Why does this recipe use milk with pork?
The milk creates an unmatched velvety texture while tenderizing the pork beautifully. It also balances the richness of the braise with subtle sweetness, preventing the dish from becoming too heavy. This technique comes from traditional Southern cooking where dairy adds depth to meat dishes.
Can I substitute the milk with coconut milk?
Yes! Coconut milk works wonderfully and adds a tropical note to the dish. Use the same amount (2 cups) and adjust any sweet sides like pineapple or mango to complement the flavors. The creamy texture remains similar, though the taste will be slightly different.
How do I make the celery crowns extra crispy?
For maximum crispiness, pat the celery sticks completely dry before coating them in flour. Cook them at medium-high heat until deeply golden brown, and finish them under the broiler for 1-2 minutes at the end. Store them in a 200°F oven while you finish the pork to keep them crisp.
What's the best way to reheat leftovers?
Reheat the pork and sauce together in a skillet over low heat until warmed through, adding a splash of water or milk if needed. For the crispy celery crowns, reheat them separately in a 375°F oven for 5-7 minutes. The pork actually tastes better the next day as the flavors meld further.
Can I use a slow cooker instead of the oven?
Brown the pork and celery first, then transfer everything to a slow cooker and cook on low for 8 hours or high for 5 hours. Add the milk during the last 30 minutes of cooking to prevent curdling. The texture will be slightly different but still delicious and convenient.
