Balinese Pork Recipe: Coconut Milk Braised With Lemongrass and Kaffir Lime

Main Courses

Balinese Pork Recipe: Coconut Milk Braised With Lemongrass and Kaffir Lime

Balinese pork braised in coconut milk with fragrant lemongrass and kaffir lime delivers restaurant-quality flavors at home. This traditional dish transforms tender pork shoulder into melt-in-your-mouth perfection through slow braising, where aromatic spices and creamy coconut milk create a symphony of flavors.

After years of perfecting Balinese techniques in my kitchen, I've developed a method that stays true to cultural roots while being accessible for home cooks.

The secret lies in the marinade—turmeric, coriander, and galangal infuse the pork with earthy warmth while lemongrass and kaffir lime add bright citrus notes that balance the richness.

Unlike many adaptations, this recipe maintains the authentic cooking process: first searing the meat to lock in juices, then slow-braising until the pork falls apart effortlessly. The result is pork so tender it practically dissolves on your tongue, swimming in a sauce that's rich yet never heavy.

What makes this dish truly special is how it brings Bali's vibrant flavors to your table. The lemongrass-infused coconut milk creates a sauce that's both creamy and aromatic, while the kaffir lime leaves add that signature tangy brightness.

Served with steamed jasmine rice and simple green beans, this becomes a complete meal that transports you to the islands with every bite. The best part? This method transforms a simple cut of pork into something extraordinary with minimal effort.

Perfect for special occasions or when you want to impress guests, this Balinese pork recipe delivers restaurant-quality results without requiring specialized equipment. The slow cooking process means you can prepare it ahead and let the flavors deepen even more over time.

Whether you're serving it at a holiday gathering or simply treating yourself to an exotic dinner at home, this dish is guaranteed to become a new favorite.

👨‍🍳
Difficulty
Medium
🥩
Diet
Meat
🔥
Calories
Med Cal

Ingredients for balinese pork

Pork shoulder, coconut milk, and fragrant spices transform into restaurant-worthy Balinese comfort food.

Ingredient Amount Notes
Pork Shoulder 🐖 2 lb Bone-in for extra flavor
Coconut Milk 🥥 1 ½ cups Full-fat canned for creaminess
Lemongrass Stalks 🌿 3 whole Bruised and cut into 2-inch pieces
Kaffir Lime Leaves 🍋 4 whole Fresh, torn into strips
Galangal 🌱 1 piece About 3 inches, peeled and sliced
Turmeric Powder 🌶️ 1 tbsp Freshly ground preferred
Ground Coriander 🌿 1 tbsp Freshly ground for best flavor
Garlic Cloves 🧄 6 cloves Minced for marinade
Shallots 🧅 3 whole Peeled and sliced
Brown Sugar 🍯 2 tbsp Light or dark
Fish Sauce 🍶 1 tbsp Red Boat preferred
Olive Oil 🫒 2 tbsp For searing
Salt 🧂 1 ½ tsp Kosher or sea salt
Black Pepper 🌶️ ½ tsp Freshly ground

The pork shoulder is the star—look for a cut with good marbling for extra juiciness. Costco or Whole Foods usually have great options, but any well-stocked grocery store will carry it. If you can't find galangal (it's the ginger-like root), substitute with extra ginger—it won't be identical but works in a pinch. The lemongrass and kaffir lime leaves are what give this dish its signature aroma, so don't skip them. Asian markets are your best bet for these ingredients, but some larger grocery stores carry them too. Freshness matters here—bruise the lemongrass with the side of your knife before cutting to release those flavors.

No galangal? Ginger plus a pinch of cardamom gets you close. Running out of fish sauce? Soy sauce with a splash of lime juice works in a bind. The coconut milk should be full-fat for that creamy texture—Thai Kitchen brand is widely available and reliable. If you can't find kaffir lime leaves, lime zest plus a drop of lime oil adds some brightness. The brown sugar helps balance the richness, but if you're watching sugar, reduce to 1 tbsp. For extra depth, toast the coriander and turmeric in a dry pan for 30 seconds before adding to the marinade—simple move, big flavor boost.

This dish tastes even better the next day, so make a double batch if you're feeding a crowd. Store leftovers in the fridge for 4-5 days or freeze for 3 months. I like to portion it into containers with a little extra sauce on top—just reheat in the microwave or oven until warmed through. The sauce thickens as it cools, so add a splash of water or coconut milk when reheating if it seems too thick. Serve with steamed jasmine rice and quick-pickled veggies for a full Balinese experience.

❤️

Why You'll Love This Recipe

  • One-Pot Magic: I swear by this—just dump everything into a single pot, simmer, and walk away. The pork shoulder practically melts into tender perfection while you’re handling the rest of dinner. No fancy techniques, no extra dishes.
  • Herb-Packed Punch: That galangal and kaffir lime leaves? They’re the secret weapons—earthy, citrusy, and just bright enough to make your taste buds dance. Honestly, the first time I smelled it simmering, I knew I’d be back for seconds.
  • Leftovers That Shine: This dish begs to be made extra. The flavors deepen overnight, and reheating it is a breeze—just a splash of water, a quick stir, and you’ve got restaurant-quality comfort food. (Yes, even on a Tuesday night.)
  • Budget-Friendly Feast: Pork shoulder stretches for miles, and the spices cost next to nothing. I’ll be real: this is how I feed my whole family without breaking the bank. Plus, the coconut milk makes it feel like a splurge, even when it’s not.

Step-by-step instructions for Balinese pork with lemongrass and coconut milk

Here's how to create tender, aromatic pork infused with tropical flavors that'll transport you straight to Bali.

1

Prepare the Pork and Aromatics

Pat the 2 lb pork shoulder dry with paper towels and cut it into 1.5-inch thick chunks. This size ensures even cooking and maximum flavor penetration. In a large bowl, combine the pork with the 6 minced garlic cloves, 3 sliced shallots, 1 tbsp ground coriander, 1 tbsp turmeric powder, 1.5 tsp salt, and 0.5 tsp black pepper. Use your hands to massage the mixture into the meat, coating each piece evenly. This step is crucial—it creates a flavorful crust that locks in moisture during cooking.

While the pork marinates, prepare the aromatic bundle. Using a mortar and pestle (or the flat side of a knife), bruise the 3 lemongrass stalks by pounding them firmly—this releases their essential oils. Cut them into 2-inch pieces and tie them together with kitchen twine. Tear the 4 kaffir lime leaves into strips and slice the 1 piece galangal into ¼-inch rounds. Set these aside—they'll form the aromatic base of your dish.

2

Sear the Pork for Deep Flavor

Heat a large Dutch oven over medium-high heat and add the 2 tbsp olive oil. Once the oil shimmers, add the pork in a single layer, leaving space between pieces. Let it sear undisturbed for 3-4 minutes until a deep golden crust forms. This isn't just about browning—it's about building layers of flavor through the Maillard reaction. Flip the pork and repeat on the second side, then remove it to a plate and set aside.

In the same pot, add the aromatic bundle, galangal, and shallots. Sauté for 2 minutes until fragrant—you should smell citrusy lemongrass and earthy galangal. Pour in the 1.5 cups coconut milk, scraping up any browned bits from the bottom of the pot. These bits are packed with flavor, so don't miss them. Bring the mixture to a gentle simmer, then return the pork to the pot, spooning the coconut milk mixture over the top.

3

Braise Until Fork-Tender

Cover the Dutch oven and transfer it to a preheated 325°F oven. Here's where patience pays off—braise the pork for 2 to 2.5 hours, until it's fork-tender and easily pulls apart. The pork is done when it reaches an internal temperature of 203°F and the sauce has thickened into a rich, velvety consistency. I check for doneness by piercing the thickest piece with a fork—if it slides in effortlessly, it's ready.

About 30 minutes before the pork is done, stir in the 2 tbsp brown sugar and 1 tbsp fish sauce. This balances the dish with just the right amount of sweetness and umami depth. Taste the sauce and adjust seasoning if needed—you might need a pinch more salt or a splash of water to reach your preferred consistency. The sauce should coat the back of a spoon but still be pourable.

4

Rest and Serve

Remove the pork from the oven and let it rest in the sauce for 15 minutes. This allows the juices to redistribute, ensuring each bite is moist and flavorful. Skim off any excess fat from the surface of the sauce if desired—this helps create a cleaner presentation while keeping all the rich flavors intact.

To serve, transfer the pork to a platter and spoon the coconut milk sauce over the top. Garnish with the aromatic bundle (you can remove the twine) and any remaining kaffir lime leaves for a pop of color. Serve with steamed jasmine rice to soak up every last bit of that fragrant, creamy sauce. The pork should be tender enough to pull apart with two forks, with each bite delivering layers of coconut, lemongrass, and galangal flavors.

👨‍🍳

Pro Tips For Making Balinese Pork

  • BLANCH THE GALANGAL: I used to skip this step and wondered why my dish tasted bitter. Drop the galangal slices in boiling water for 30 seconds first—removes the harshness, lets the citrusy notes shine through. Rinse under cold water afterward, or you’ll kill the flavor entirely.
  • SIMMER COCONUT MILK LOW: High heat turns coconut milk greasy and separates. Keep it at a gentle bubble—just enough to see tiny ripples—and stir occasionally. I learned this the hard way after serving a curry that looked like a science experiment gone wrong.
  • SLICE LEMONGRASS LENGTHWISE: Crushing stalks releases bitterness. Instead, split them open and scrape out the soft pith with the back of your knife, then slice thinly. The aroma stays fresh, and your sauce won’t taste like you’re chewing on a broomstick.
  • REST THE PORK SHOULDER: Skipping this step means dry, stringy meat. After cooking, tent it with foil and let it sit 10 minutes. The juices redistribute—trust me, your knife will glide through it like butter, and every bite stays moist. (Yes, even if you’re impatient like me.)

Regional styles of balinese pork

Traditional Babi Guling

In Bali, this dish is often prepared as Babi Guling, meaning "suckling pig," though pork shoulder works beautifully at home. The traditional method involves roasting the whole pig over an open fire, but home cooks adapt by using a Dutch oven.

The key difference is the addition of kecap manis (sweet soy sauce) and tamarind paste in some regional versions, which adds a tangy-sweet contrast to the coconut milk's richness.

I've kept the recipe authentic by focusing on the lemongrass and galangal base, but you can experiment with these additions if you want a variation closer to what you'd find in a Bali restaurant. 🌿

East Java Adaptation

East Java takes this dish in a slightly different direction by incorporating sambal matah—a raw, finely chopped chili paste made with shallots, garlic, and bird's eye chilies. The heat from the sambal balances the creamy coconut milk beautifully.

For a spicier version, add 1-2 tablespoons of sambal matah during the last 30 minutes of braising. If you can't find sambal matah, mix 1 tbsp red chili paste with 1 minced shallot and 1 garlic clove for a quick substitute.

This version is perfect if you love a bit of heat with your coconut milk dishes.

Modern Fusion Twist

For a contemporary take, I sometimes add 1 cup of pineapple chunks to the braising liquid during the last 45 minutes of cooking. The natural sweetness of the pineapple complements the coconut milk while adding a tropical brightness that feels very Balinese.

Garnish with fresh cilantro and lime wedges for a dish that's both familiar and exciting. This fusion version works especially well for summer dinners or when you want to serve something that feels fresh yet still hearty. 🍍

Vegetarian Adaptation

While this dish is traditionally made with pork, you can create a vegetarian version using extra-firm tofu or mushrooms like oyster or king oyster. Cut the tofu into 1.5-inch cubes and press out excess water before marinating.

Use the same marinade and braising method, but reduce the cooking time to 1 to 1.5 hours since tofu cooks faster than pork. For mushrooms, use 1.5 lbs of king oyster mushrooms (whole or halved) and follow the same steps.

This adaptation keeps the rich coconut-lemongrass flavors while making the dish accessible to everyone at the table.

Regional Spice Blends

Different regions of Bali have their own spice blends for this dish. In Denpasar, you might find a touch of cinnamon and cloves added to the marinade for warmth, while Ubud versions often include kencur (a type of ginger) for a more earthy depth.

For a Denpasar-style twist, add ½ tsp ground cinnamon and ¼ tsp ground cloves to the marinade. For an Ubud-inspired dish, substitute 1 inch of kencur (or extra ginger) for the galangal. These regional variations add complexity and are worth experimenting with if you love exploring different flavor profiles. 🌶️

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 38g49%
Saturated Fat 24g120%
Cholesterol 120mg40%
Sodium 1250mg54%
Total Carbohydrate 32g11%
Dietary Fiber 3g11%
Sugars 18g
Protein 34g68%
* 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

Can I substitute regular ginger for galangal in this recipe?

Yes, but there will be subtle flavor differences. Galangal has a citrusy, peppery kick that's distinct from ginger's earthy warmth. For the closest substitute, use 1 inch of fresh ginger plus ¼ tsp ground cardamom to mimic galangal's complexity. If you're short on time, just double the ginger amount—it won't be identical but will still work well.

2

How do I know when the pork is fully tender?

The pork is perfectly tender when it reaches an internal temperature of 203°F and can be easily pulled apart with two forks. For the best test, pierce the thickest piece—if it slides in effortlessly and the juices run clear, it's ready. The braising time may vary slightly depending on your oven, so check after 2 hours and continue until tender.

3

Can I make this recipe in a slow cooker?

Sear the pork as directed, then transfer everything (including the aromatic bundle) to a 6-quart slow cooker. Cook on low for 6-7 hours or high for 4-5 hours, until the pork is fork-tender. The slow cooker method actually enhances the flavors, creating an even more tender result. Just stir in the brown sugar and fish sauce during the last 30 minutes of cooking.

4

What's the best way to store leftovers?

Store leftovers in an airtight container with a little extra sauce on top to prevent drying. They'll keep in the fridge for 4-5 days or freeze for 3 months. When reheating, add a splash of water or coconut milk if the sauce seems too thick. This dish actually tastes better the next day as the flavors meld together!

5

Why does my sauce turn out too thick?

The sauce thickens as it cools, which is normal. If it's too thick when serving, simply stir in 1-2 tablespoons of water or coconut milk to reach your preferred consistency. For a creamier texture, you can also add ½ cup of heavy cream during the last 30 minutes of cooking. The key is to maintain a balance between richness and pourability.

★★★★★4.7(4 reviews)
Categories Main Courses