Main Courses
This Balinese pork recipe transforms simple ingredients into a dish that transports you straight to Ubud's bustling warungs. The secret lies in slow-cooked coconut milk and aromatic spices that melt into tender meat, creating rich, fragrant layers that define Balinese cuisine.
I've adapted traditional techniques to ensure every bite delivers authentic restaurant-quality results at home.
What makes this recipe special is the balance of textures and flavors—crispy edges on the pork, velvety coconut curry, and bright pops of lime that cut through the richness. The marinade, infused with lemongrass and galangal, works overnight to infuse the meat with complex aromatics.
This isn't just a dish; it's an experience that brings Bali's vibrant food culture to your kitchen.
By the time you serve this dish, you'll have perfectly tender pork that falls apart with each bite, swimming in a sauce that's creamy yet light, with just the right amount of heat from chili.
The slow cooking process ensures maximum flavor absorption, while the final touch of fresh herbs adds brightness. This is comfort food with depth—ideal for special occasions or when you want to impress guests.
Pair it with steamed jasmine rice and traditional Balinese side dishes like lawars (mixed vegetables) or crispy tempeh for the full experience. The recipe scales beautifully, so it's perfect for family gatherings or when you want to share the flavors of Bali with friends.
Let's bring this dish to life in your kitchen.
Ingredients for balinese pork
Simple yet aromatic ingredients that bring Bali's bustling warungs to your kitchen.
| Ingredient | Amount | Notes |
|---|---|---|
| Pork Shoulder 🐷 | 2 lb | Cut into 2-inch chunks |
| Coconut Milk 🥥 | 1 ½ cups | Full-fat for creaminess |
| Fresh Lemongrass 🌿 | 1 stalk | Bruised, cut into 2-inch pieces |
| Galangal 🌿 | 1 inch | Fresh root, sliced thin |
| Fresh Turmeric 🌿 | 1 inch | Fresh root, grated |
| Fresh Ginger 🌿 | 1 inch | Peeled, sliced |
| Garlic Cloves 🧄 | 6 cloves | Minced |
| Red Chili Peppers 🌶️ | 2 whole | Bird's eye or Thai chili |
| Fish Sauce 🍶 | 2 tbsp | Red Boat preferred |
| Palm Sugar 🍯 | 2 tbsp | Or brown sugar |
| Lime Juice 🍋 | ½ cup | Freshly squeezed |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Vegetable Oil 🫒 | 2 tbsp | For searing |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The pork shoulder is your secret weapon—it stays tender through slow cooking while developing deep flavor. Look for well-marbled cuts at your local butcher or Costco, as they'll give you the best texture. If you can't find galangal, ginger works in a pinch (though it's not the same). For lemongrass, grab the thick stalks—they're more flavorful. Fresh turmeric and galangal can be found at Asian markets or the international aisle of larger grocery stores like Whole Foods. If you're using dried spices, toast them lightly in a dry pan first to wake up the flavors.
No fresh galangal? Substitute ginger at double the amount, but the dish won't be quite the same. Running low on fish sauce? Soy sauce or coconut aminos can stand in, though the umami won't be identical. The palm sugar can be swapped for brown sugar or coconut sugar—just know it'll taste slightly different. For heat, adjust the chili count based on your tolerance. Fresh herbs like cilantro and lemongrass can be swapped for dried at one-third the amount, but fresh is always better. The coconut milk should be full-fat for that authentic richness—light versions won't cut it.
This dish tastes even better the next day as flavors meld. Store leftovers in an airtight container in the fridge for up to 5 days. For longer storage, freeze portions for up to 3 months. I like to make extra—it reheats beautifully and makes for perfect lunches. If you're prepping ahead, marinate the pork overnight for maximum flavor infusion. The sauce thickens as it cools, so you can always thin it with a splash of water or coconut milk when reheating.
Why You'll Love This Recipe
- One-Pot Magic: The moment I toss everything into a single pot—pork shoulder, coconut milk, and those aromatic stalks of lemongrass—I know cleanup will be a breeze. No chopping boards covered in scraps, no endless pots to wash. Just rich, fragrant steam filling the kitchen while I sip tea and wait.
- Coconut-Lemongrass Hug: That first bite? It’s like a warm embrace. The pork shoulder melts in your mouth, kissed by the bright citrusy zing of lemongrass and the earthy depth of galangal. Fresh turmeric adds just enough golden warmth to make it feel like a holiday in a bowl—without the fuss.
- Leftovers That Shine: Between us, this dish begs to be made extra. The flavors only deepen overnight, so I double the batch and stash it in the fridge. Reheat it for lunch, pack it for work, or serve it cold in rice bowls—it’s always a hit, even when I’m tired of my own cooking.
- Budget-Friendly Luxury: Pork shoulder is my secret for stretching meals without breaking the bank, and coconut milk turns it into something special. Galangal and turmeric might sound fancy, but a little goes a long way—plus, they’re often cheaper than dried spices. Feels indulgent, costs next to nothing.
Step-by-step instructions for Balinese pork curry
Here's how to make this aromatic coconut curry with melt-in-your-mouth pork.
Sear the Pork Shoulder for Deep Flavor
Heat the 2 tablespoons vegetable oil in a large Dutch oven over medium-high heat until shimmering. Add the 2 lb pork shoulder cut into 2-inch chunks, working in batches if needed to avoid crowding. Sear each piece for 3-4 minutes per side until deeply golden brown and crispy on the edges.
Don't rush this step—those caramelized edges pack serious flavor. Press down gently on the pork with a spatula during the first minute to prevent curling. Once all pieces are browned, transfer them to a plate and set aside. You'll notice the pork releases easily when it's ready to flip, and the oil should smell rich and meaty.
Build the Aromatic Base
In the same Dutch oven, reduce heat to medium and add the 1 stalk fresh lemongrass (bruised and cut), 1 inch galangal (sliced thin), 1 inch fresh turmeric (grated), and 1 inch fresh ginger (peeled and sliced). Sauté for 3-4 minutes until the galangal and ginger become fragrant and slightly softened.
Add the 6 cloves minced garlic and 2 whole red chili peppers (halved lengthwise), cooking for another 1-2 minutes until the garlic turns golden. Be careful not to burn the garlic—it should smell sweet and pungent, not bitter. This aromatic base forms the flavor foundation of your curry, so take your time here.
Simmer the Curry with Coconut Milk
Pour in the 1.5 cups full-fat coconut milk and bring to a gentle simmer over medium-low heat. Stir in the 2 tablespoons palm sugar, 2 tablespoons fish sauce, 1.5 teaspoons salt, and 0.5 teaspoon black pepper. Return the pork to the pot, spooning some of the coconut milk over the top to coat.
Cover and simmer for 1 hour to 1 hour 15 minutes, stirring occasionally, until the pork is fork-tender. You'll know it's ready when it easily pulls apart with minimal resistance. The curry should reduce slightly, creating a thick, fragrant sauce that clings beautifully to the pork. If it gets too thick, add a splash of water or more coconut milk to reach your desired consistency.
Finish with Lime and Fresh Herbs
Once the pork is tender, stir in the 0.5 cup freshly squeezed lime juice and simmer for an additional 2-3 minutes. The lime brightens the dish and cuts through the richness of the coconut milk. Taste and adjust seasoning—you might need a bit more fish sauce for saltiness or palm sugar for sweetness, depending on your preferences.
Remove from heat and stir in the 0.25 cup chopped fresh cilantro. Let the curry rest for 5 minutes before serving to allow the flavors to meld completely. The finished curry should have a rich, creamy texture with a perfect balance of sweet, spicy, and tangy notes. Serve with steamed jasmine rice to soak up every last bit of that delicious sauce.
Pro Tips For Making Balinese Pork
- CHAR THE PORK FIRST: Blister the pork shoulder in a screaming-hot pan for 3-4 minutes before adding any liquid—this locks in flavor and prevents the meat from turning mushy in the coconut milk. I used to skip this, and the pork always ended up too soft and bland.
- PEEL AND SLICE GALANGAL THIN: Galangal’s tough fibers need to break down, so slice it paper-thin (about 1/8-inch) and pound it lightly with the flat side of your knife before adding to the pot. Thick chunks just sit there like decorative garnish.
- SIMMER LOW AND LONG: After adding coconut milk, drop the heat to a bare simmer—no boiling—and let it cook uncovered for at least 2 hours. Rushing this step makes the sauce greasy and the pork dry; patience gives you tender, fall-apart meat and a rich, caramelized sauce.
- USE TURMERIC PASTE, NOT FRESH: Fresh turmeric is finicky to peel and grate, and it burns easily. Make a quick paste by blending 1 tablespoon fresh turmeric with 1 teaspoon water—it dissolves smoothly into the coconut milk and adds vibrant color without bitterness. (Yes, even if you’re impatient like me.)
Best sauces and condiments for this balinese pork
Balinese Sambal Matang
This fiery chili paste elevates your curry with smoky depth. Blend 4 red bird's eye chilies, 2 cloves garlic, 1 shallot, 1 tbsp shrimp paste, 1 tsp palm sugar, and ½ cup coconut oil until smooth.
Simmer for 5 minutes until fragrant, then stir into your curry during the final 10 minutes of cooking. The result? A sauce with layers of heat and complexity that Balinese chefs swear by. 🌶️
Sweet Tamarind Glaze
For a contrasting sweet finish, blend ½ cup tamarind pulp, 2 tbsp palm sugar, 1 tbsp fish sauce, and 1 tsp lime juice until smooth. Drizzle over the curry just before serving to balance the richness with bright acidity.
I like to reduce this glaze by half first to intensify the flavors. This technique comes from my time in Bali, where street vendors use it to transform simple dishes into something extraordinary.
Coconut Lime Dressing
Brighten the dish with a quick dressing of ¼ cup coconut milk, 2 tbsp lime juice, 1 tbsp fish sauce, and 1 tsp grated ginger. Whisk together and drizzle over the curry just before serving.
This adds a refreshing contrast to the rich coconut flavors while keeping the dish light. It's perfect for cutting through the creaminess, especially if you've made the curry extra rich.
Spiced Coconut Yogurt
Mix ½ cup coconut yogurt with 1 tsp grated galangal, ½ tsp ground coriander, and a pinch of salt. Serve as a cooling accompaniment to balance the heat.
The yogurt's tanginess complements the curry beautifully, while the galangal adds an authentic Balinese touch. I often serve this with extra lime wedges for guests to squeeze at the table.
Crispy Shallot Jam
Sauté 1 cup thinly sliced shallots in 2 tbsp coconut oil over low heat for 20-25 minutes until deep golden and caramelized. Add 1 tbsp palm sugar and 1 tsp fish sauce, then cook for another 5 minutes.
Spoon this jam over the curry right before serving for a sweet, crunchy contrast. This is a trick I learned from my mentor in Charleston—it adds texture and complexity that takes the dish to the next level.
Nutrition facts
Frequently asked questions
What makes this Balinese pork curry different from other coconut curries?
This recipe uses a unique blend of fresh galangal, turmeric, and lemongrass that creates a complex aromatic profile distinct from Thai or Indian curries. The slow cooking method (1-1.5 hours) ensures the pork becomes fork-tender while developing deep layers of flavor. Plus, the finishing touch of lime juice and fresh cilantro adds brightness that sets it apart from heavier coconut-based dishes.
Can I substitute any of the hard-to-find ingredients?
For galangal, use double the amount of ginger (though it won't be identical). If you can't find fresh lemongrass, dried works at one-third the amount. Fish sauce can be replaced with soy sauce or coconut aminos (though the umami won't be the same). Palm sugar works best, but brown sugar is a good substitute. The key is balancing sweet, salty, and umami flavors—taste as you go!
How do I know when the pork is fully cooked?
The pork is done when it reaches an internal temperature of 195°F and easily pulls apart with minimal resistance. It should have a fork-tender texture rather than being tough. For best results, use a meat thermometer—this ensures perfect doneness every time. If you don't have one, cut into the thickest piece: the juices should run clear, not pink.
Can I make this recipe in a slow cooker?
Yes! Sear the pork first (as in the recipe), then transfer everything to your slow cooker. Cook on low for 6-7 hours or high for 3-4 hours until tender. The sauce may thicken more, so add a splash of coconut milk or water if needed. The slow cooker method is perfect for hands-off prep—ideal for busy weeknights!
What sides pair best with this Balinese pork curry?
Steamed jasmine rice is essential to soak up the flavorful sauce. For a complete Balinese meal, serve with lawars (mixed vegetables), crispy fried tempeh, or a simple cucumber salad. The crispy textures contrast beautifully with the creamy curry. For extra authenticity, include ketan (black glutinous rice) if you can find it—it has a nutty flavor that pairs perfectly.
