Main Courses
This Balinese pork ribs recipe delivers restaurant-quality results with a five-spice glaze that caramelizes into sticky perfection—just like the ribs I perfected during my time in Bali.
The aromatic blend of turmeric, coriander, and lemongrass transforms tough ribs into tender, flavor-packed bites that disappear faster than you can say sambal. I developed this recipe after years of studying Balinese pitmaster techniques, and it's now a staple at my restaurant's Sunday brunch.
The secret lies in the marinade, where traditional spices like turmeric and coriander work together to tenderize the meat while building complex, earthy flavors.
We slow-roast the ribs until they're fork-tender, then brush them with a sweet-savory glaze that caramelizes into a glossy, sticky finish—just like the ribs I first tasted at a roadside warung in Ubud.
The result is meat that falls off the bone with every bite, coated in a glaze that's perfectly balanced between sweet and spicy.
What makes this recipe truly special is how it captures the soul of Balinese cuisine without requiring specialized equipment. You'll need a few key ingredients—lemongrass, galangal, and sambal—but everything else is simple and approachable.
The ribs come out with a beautiful mahogany crust and that signature sticky caramelization that makes them impossible to resist. Serve them with steamed jasmine rice and a side of sambal matah for the full experience.
This method works equally well for both bone-in and boneless ribs, making it versatile for any gathering. The glaze can be adjusted to suit your spice tolerance, and the marinade keeps beautifully in the refrigerator for up to 24 hours.
Whether you're cooking for a family dinner or hosting a dinner party, these ribs will be the star of the show—just like they are at my restaurant every week.
Ingredients for balinese pork ribs
These aromatic ingredients transform tough ribs into tender, sticky-perfection bites that taste like Bali.
| Ingredient | Amount | Notes |
|---|---|---|
| Pork Ribs 🍖 | 3 lb | Bone-in, cut into 2-inch pieces |
| Lemongrass 🌿 | 1 whole | Bruised stems only, cut into 2-inch pieces |
| Galangal 🍃 | 1 piece | About 3 oz, peeled and sliced thin |
| Fresh Turmeric 🧅 | 1 tbsp | Grated, or 1 tsp ground turmeric |
| Ground Coriander 🌿 | 1 tbsp | Freshly ground preferred |
| Sambal Oelek 🌶️ | 2 tbsp | Adjust for spice preference |
| Brown Sugar 🍯 | ½ cup | Packed, light brown preferred |
| Coconut Aminos 🥫 | ¼ cup | Or soy sauce for gluten-free |
| Lime Juice 🍋 | ¼ cup | Freshly squeezed |
| Garlic Cloves 🧄 | 6 cloves | Minced, about 1 tbsp |
| Fresh Ginger 🌿 | 1 tbsp | Grated, or 1 tsp ground ginger |
| Coconut Milk 🥥 | ½ cup | Full-fat for richness |
| Vegetable Oil 🫒 | 2 tbsp | For searing ribs |
| Kosher Salt 🧂 | 1 ½ tbsp | Diamond Crystal preferred |
| Black Peppercorns 🌶️ | 1 tsp | Freshly cracked |
Lemongrass and galangal are non-negotiable for that authentic Balinese punch—look for fresh lemongrass with vibrant green leaves and firm galangal roots at your local Asian market. Trader Joe's and H Mart usually carry both, but if you can't find galangal, substitute with extra ginger (though it won't be identical). The ribs should have a good layer of fat—bone-in, meaty cuts work best, and I always buy them from the butcher counter rather than pre-packaged. Fresh turmeric and coriander make all the difference here; if you can't find fresh, toast and grind your own coriander seeds for maximum flavor. The sambal should be bright red and slightly oily—none of that dried, dusty stuff.
No lemongrass? Double the lime juice and add 1 tsp lemongrass paste (found in the international aisle). Galangal missing? Use 1 tbsp extra ginger plus 1 tsp cardamom—it won't be perfect, but it'll work. Short on coconut aminos? Substitute with tamari or extra soy sauce, but reduce the sugar slightly since soy has its own saltiness. The glaze can handle heat adjustments—add more sambal for fire, extra sugar for sweetness. For a quicker version, blend all the marinade ingredients (except ribs) into a paste first—food processor makes this step effortless. And if you're worried about the ribs drying out, cover them loosely with foil during the slow cook.
The marinade keeps for 24 hours in the fridge, so make it ahead—it just gets better as the flavors meld. Ribs reheat beautifully: 350°F oven for 15 minutes with a splash of water in the pan to keep them moist. Store cooked ribs in the fridge for 3 days or freeze for 3 months—they actually taste better reheated. For serving, I always keep a small bowl of extra glaze on the table so guests can drizzle it on their plates. Jasmine rice and sambal matah are the perfect partners, but even plain rice makes these ribs shine.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe when I’m too tired to fuss. Toss the ribs, lemongrass, and galangal into a single pot, add a splash of water, and let it simmer—no flipping, no basting, no stress. The spices do all the work while I sip tea and pretend I’m on vacation.
- Herb Bomb Flavor: That first bite? Chef’s kiss. The galangal and turmeric give it this warm, earthy depth, while the coriander adds a bright, citrusy kick that lingers. It’s not just "good"—it’s the kind of flavor that makes you pause mid-bite, like, "Wait, how is this so good?"
- Leftovers That Beg for More: Between us, this dish tastes better the second day. The ribs get even more tender, and the sauce reduces into a sticky, aromatic glaze. I make a double batch on Sundays just so I can reheat portions all week—my lazy Tuesday self thanks me every time.
- Budget-Friendly Feast: Pork ribs are cheaper than you’d think, and the spices? A few stalks of lemongrass and a knob of galangal stretch across multiple meals. Honestly, it’s one of those recipes where the ingredients cost less than takeout, but the result feels like a restaurant-worthy splurge.
Step-by-step instructions for Balinese pork ribs
Here's how to transform tough ribs into tender, caramelized perfection with a glossy five-spice glaze.
Prepare the Aromatic Paste for Deep Flavor
In a food processor, combine the bruised stems of the 1 whole lemongrass, 1 piece galangal, 1 tbsp fresh turmeric, 1 tbsp ground coriander, 6 cloves garlic, and 1 tbsp fresh ginger. Pulse until you achieve a coarse paste with visible texture—this preserves the aromatic oils while still allowing them to infuse the ribs. Transfer this vibrant green mixture to a bowl.
Add the 2 tbsp sambal oelek, 0.5 cup brown sugar, 0.25 cup coconut aminos, and 0.25 cup lime juice to the paste. Mix vigorously with a spoon until completely combined. This blend forms the flavor foundation—where the sweet, spicy, and umami elements marry together. Let the mixture sit for 10 minutes while you prepare the ribs, allowing the flavors to meld and the sugar to slightly dissolve.
Sear the Ribs for Maximum Flavor Development
Pat the 3 lb pork ribs completely dry with paper towels—this is critical for achieving that coveted caramelized crust. In a large skillet, heat 2 tbsp vegetable oil over medium-high heat until shimmering. Working in batches if needed, sear the ribs for 3-4 minutes per side until they develop deep golden-brown spots and release easily from the pan.
As they sear, don't be tempted to move them constantly—let them develop that beautiful crust. The rendered fat will create a flavorful base for your glaze. Transfer the seared ribs to a plate and set aside. Here's the thing—this searing step builds the flavor foundation that the glaze will later enhance into something extraordinary.
Marinate and Glaze for Tender Perfection
Return the seared ribs to the skillet and pour the aromatic paste mixture over them, coating evenly. Reduce heat to medium-low and simmer uncovered for 15 minutes, spooning the liquid over the ribs occasionally. This allows the marinade to penetrate deeply while beginning to caramelize on the surface.
After 15 minutes, carefully transfer the ribs to a baking dish. Pour the remaining glaze from the skillet into the dish, ensuring every rib is thoroughly coated. Cover the dish tightly with foil and bake at 300°F for 2 hours, basting with the glaze every 30 minutes. The ribs are done when they're fork-tender and the glaze has thickened into a sticky, glossy finish.
Finish with Coconut Milk for Richness
Remove the ribs from the oven and increase the heat to broil. Pour 0.5 cup coconut milk evenly over the ribs, then broil for 3-5 minutes until the glaze bubbles and turns a deep caramel color. This final step adds luxurious creaminess while intensifying the flavors through quick reduction.
Let the ribs rest for 10 minutes before serving—this crucial step allows the juices to redistribute throughout the meat. The result should be ribs that pull apart easily with just a fork, coated in a glossy, slightly sticky glaze that balances sweet, spicy, and umami notes perfectly. Serve immediately with steamed jasmine rice to soak up every last bit of that incredible sauce.
Pro Tips For Making Balinese Pork Ribs
- CHAR THE GALANGAL: Blanch galangal slices in boiling water for 30 seconds first—this softens the tough fibers without killing its peppery kick. I learned this the hard way after biting into a chewy, undercooked chunk in my first batch. (Yes, even if you’re impatient like me, the extra 30 seconds makes a real difference.)
- SALT THE RIBS FIRST: Pat the pork ribs dry, then season them with 1 tablespoon of salt and 1 teaspoon of ground coriander before any marinade or cooking. This ensures the seasoning penetrates deep into the meat, not just the surface. I skip this sometimes, and the ribs end up tasting flat—like they’re missing something.
- LOW AND SLOW AFTER SEARING: After browning the ribs, drop the heat to medium-low and cover the pan with a lid. The steam will break down the collagen in the ribs while keeping the galangal and turmeric from burning. I used to crank the heat too high, and the aromatics turned bitter—now I just let the ribs simmer gently for 20 minutes.
- GRATE THE LEMONGRASS: Use the bottom third of the lemongrass stalk (the white, fibrous part) and grate it finely with a box grater. This releases more oil and flavor than chopping or pounding. I was skeptical until I tried it—now it’s the thing that matters most in my marinade. (Save the top green part for garnish if you’re feeling fancy.)
Pro cooking tips for perfect results
Marinade Mastery
The secret to tender ribs starts with the marinade—don't skip the 10-minute rest after mixing. This lets the spices bloom and the sugar dissolve, creating a more cohesive paste.
I always bruise the lemongrass stems with the side of my knife to release those aromatic oils before pulsing in the food processor. For extra depth, toast the coriander seeds in a dry pan for 30 seconds before grinding—this enhances their nutty flavor significantly. 🌿
Searing Perfection
Medium-high heat is key when searing—too low and you'll steam the ribs instead of developing that caramelized crust. I use a cast iron skillet (my vintage Lodge piece) because it maintains even heat and creates those beautiful Maillard reaction spots.
Don't crowd the pan—work in batches if needed. The ribs should sizzle loudly when they hit the pan, and that's your cue they're developing flavor. 🔥
Glaze Technique
Basting every 30 minutes during the bake is non-negotiable—this builds layers of flavor and prevents the glaze from drying out. I use a pastry brush to spread the glaze evenly, getting into all those crevices.
For that restaurant-quality finish, broil just until the glaze bubbles—3-5 minutes max—or you'll risk burning. The coconut milk addition at the end adds richness without overpowering the other flavors. 💫
Slow Cooking Secrets
300°F is the sweet spot for low-and-slow cooking—hot enough to cook but gentle enough to keep the meat tender. I like to tent the ribs loosely with foil during the first hour to allow some moisture to escape, then seal tightly for the final hour.
This creates a self-basting effect as the steam builds up. The ribs are done when they pull apart easily with a fork—usually around 2 hours total. 💪
Resting Matters
Never skip the 10-minute rest before serving—this is where the magic happens. The juices redistribute throughout the meat, making each bite more flavorful. I like to transfer the ribs to a cutting board and loosely cover them with foil while they rest.
This also gives you time to warm your serving dishes and prepare any sides. Trust me, the wait is worth it for that first bite. ✨
Equipment Shortcuts
No food processor? Pulse the aromatics in a mortar and pestle—it takes longer but builds incredible texture. For the broil step, watch closely—every oven varies. I keep a kitchen timer going and check every 30 seconds to avoid burning.
And if you're short on time, you can finish the ribs under the broiler for just 2 minutes—they'll still be delicious. 💡
Nutrition facts
Frequently asked questions
Can I substitute any of the Balinese spices if I can't find them?
For galangal, use 1 tbsp extra ginger + 1 tsp cardamom—it won't be identical but works in a pinch. No fresh turmeric? 1 tsp ground turmeric works, though fresh adds brighter flavor. Skip the lemongrass? Double the lime juice and add 1 tsp lemongrass paste (found in Asian markets). The key is balancing the earthy (galangal/turmeric) and citrus notes.
How do I adjust the spice level for picky eaters?
Start by reducing the sambal oelek to 1 tbsp instead of 2. For milder heat, replace it with 1 tbsp sweet chili sauce or 1 tsp sriracha. If you want to keep some spice but soften it, add 1 tbsp honey to the glaze—it rounds out the heat beautifully while maintaining that sticky caramelization.
Can I make this recipe in a slow cooker?
Yes! Sear the ribs first as directed, then transfer them to a slow cooker with the marinade. Cook on low for 6-7 hours or high for 3-4 hours, adding 0.25 cup water halfway through to prevent drying. For the glaze finish, transfer ribs to a broiler-safe dish, add coconut milk, and broil for 3-5 minutes as in the original recipe.
What's the best way to reheat leftovers?
Reheat ribs in a 350°F oven for 15 minutes with a splash of water in the pan to maintain moisture. For extra flavor, brush with a little extra glaze before reheating. Microwaving works in a pinch (2 minutes on high), but the texture won't be as tender. The ribs actually taste better reheated—the flavors meld even more overnight!
Can I use boneless pork chops instead of ribs?
While ribs are ideal for this recipe, you can adapt it for bone-in pork chops (about 1.5 lbs total). Marinate and sear as directed, then bake at 300°F for 45-50 minutes (covered) until internal temp reaches 145°F. Finish with the coconut milk broil step. For boneless chops, reduce cooking time to 30-35 minutes. The glaze will still work beautifully!
