Soups & Stews
This Bak Kut Teh soup recipe brings the rich, aromatic flavors of Singaporean Peranakan cuisine to your kitchen with its slow-simmered pork ribs and fragrant spiced broth.
The secret lies in rendering the fat from the ribs while building layers of warmth from star anise, cinnamon, and lemongrass—each element working together for a deeply satisfying bowl.
I’ve perfected this technique over years of testing, ensuring the broth remains rich yet balanced, with just the right amount of herbal brightness.
The beauty of this dish is in its slow cooking process, which transforms tough pork ribs into melt-in-your-mouth tenderness while infusing the broth with complex, savory depth. Traditional methods call for hours of simmering, but modern adaptations—like using a pressure cooker—can cut that time without sacrificing flavor.
The result is a soup that’s hearty enough for a cold evening but light enough to enjoy year-round, thanks to its aromatic spices and tender meat.
What makes this recipe truly special is the harmony of flavors: the smoky warmth of cinnamon, the citrusy lift of lemongrass, and the earthy notes of star anise all come together in a single, cohesive broth.
The pork ribs, slow-cooked to perfection, absorb these spices, delivering a bite that’s both comforting and deeply satisfying. This is the kind of dish that feels like a hug in a bowl—warm, inviting, and impossible to resist.
Whether you’re serving it as a family meal or sharing it with friends, this Bak Kut Teh soup is sure to impress. The instructions are designed to guide you through every step, from selecting the right cut of pork to balancing the spices for a flavorful broth.
Ready to create a taste of Singapore at home? Let’s get started.
Ingredients for bak kut teh soup
Six pounds of pork ribs, aromatic spices, and just enough coconut milk to tie it all together.
| Ingredient | Amount | Notes |
|---|---|---|
| Pork Ribs 🥩 | 3 lb | Bone-in, cut into 2-inch pieces |
| Star Anise 🌿 | 2 whole | Whole pods for infusion |
| Cinnamon Sticks 🌿 | 2 whole | 2-inch pieces for aroma |
| Lemongrass Stalks 🌿 | 4 whole | Bruised, lower 6 inches only |
| Fresh Galangal 🌿 | 2 inch | Thinly sliced, about 2 oz |
| Fresh Turmeric 🌿 | 1 inch | Thinly sliced, about 1 oz |
| Fresh Ginger 🌿 | 1 inch | Thinly sliced, about 1 oz |
| Shallots 🧅 | 6 whole | Peeled, halved lengthwise |
| Garlic Cloves 🧄 | 8 cloves | Peeled, smashed |
| Coconut Milk 🥥 | 1 can (13.5 oz) | Full-fat for richness |
| Water 💧 | 8 cups | Filtered preferred |
| Light Soy Sauce 🥫 | ½ cup | For umami depth |
| Dark Soy Sauce 🥫 | 1 tbsp | For color and sweetness |
| White Peppercorns 🌶️ | 1 tsp | Freshly cracked |
| Salt 🧂 | 1 tsp | Adjust to taste |
| Cilantro Leaves 🌿 | ¼ cup | Fresh, for garnish |
| Lime Wedges 🍋 | 2 whole | For serving |
The pork ribs are the heart of this soup—bone-in cuts give the best flavor, and 2-inch pieces cook evenly. Look for well-marbled ribs at Asian markets or the meat section of your grocery store. If you can't find fresh galangal or turmeric, ginger works in a pinch, but it won't be exactly the same. The star anise and cinnamon sticks should be whole and fragrant—if they smell stale, toss them. Bruising the lemongrass releases its oils, so give those stalks a good whack with the side of your knife before adding them to the pot.
No lemongrass? Substitute with 1 tbsp lime zest plus 1 tbsp lime juice, but you'll lose some depth. Fresh galangal hard to find? Double the ginger and add a pinch of cloves for warmth. The coconut milk matters—full-fat is essential for that creamy, satisfying finish. For a lighter version, use half coconut milk and half water. The soy sauces are non-negotiable: light soy for umami, dark soy for color and a touch of sweetness. If you only have one, use light soy and add a teaspoon of sugar to balance.
This soup tastes even better the next day as the flavors meld together. Store in the fridge for up to 4 days, or freeze for 3 months. I like to portion it into containers so I can grab a bowl for lunch all week. The broth thickens when chilled, so add a splash of water when reheating. Garnish with cilantro and lime wedges right before serving—fresh herbs make all the difference. If you make a big batch, freeze the broth separately so you can use it for rice or noodles later.
Why You'll Love This Recipe
- Pork Ribs Simmer Fast: I swear by the pressure cooker here—tender ribs in 40 minutes, no babysitting. The star anise and cinnamon infuse the broth so deeply, even the first bite feels like a hug.
- Fragrant Like Grandma’s: That galangal and lemongrass combo? It’s the secret weapon. Sharp, citrusy, warm—every spoonful tastes like a slow-cooked memory, but with zero guilt over the effort.
- Leftovers That Beg: This soup only gets better the next day. The pork stays juicy, the broth deepens, and I’ll happily reheat it for lunch because it’s that good—no sad, dry leftovers here.
- Budget-Friendly Feast: Pork ribs stretch across three meals, and the spices cost pennies. Honestly, it’s the kind of dish where you’ll make double portions just to save money—and still eat it all.
Step-by-step instructions for slow-simmered bak kut teh soup
This aromatic Malaysian comfort soup builds flavor through patience and layering—let's create it together.
Prepare the Pork Ribs and Aromatics
Rinse the 3 lb pork ribs under cold water and pat them completely dry with paper towels. Cut them into 2-inch pieces, leaving the bones intact for maximum flavor infusion. In a large pot, place the ribs bone-side down and set aside.
Using a mortar and pestle or the flat side of a chef's knife, bruise the 4 whole lemongrass stalks by pounding them firmly—this releases their essential oils. Add the bruised lemongrass, 2-inch fresh galangal, 1-inch fresh turmeric, and 1-inch fresh ginger to the pot. The galangal and turmeric will give that signature golden hue and earthy depth.
Build the Spiced Broth Base
Add the 6 whole shallots (halved lengthwise), 8 cloves garlic (peeled and smashed), 2 whole star anise, and 2 whole cinnamon sticks to the pot. Pour in the 8 cups water and bring to a boil over high heat. Once boiling, reduce heat to medium-low and let it simmer uncovered for 15 minutes to allow the aromatics to steep.
After 15 minutes, the broth should smell intensely fragrant with warm, spicy notes. This is where the magic begins—don't rush this step. The longer the aromatics infuse, the more complex the flavor becomes. Skim off any foam that rises to the surface with a ladle.
Simmer the Pork Until Fork-Tender
Add the 0.5 cup light soy sauce, 1 tbsp dark soy sauce, 1 tsp white peppercorns, and 1 tsp salt to the pot. Stir gently to combine. The dark soy sauce will give the broth its signature deep color while adding subtle sweetness. Let the entire mixture simmer gently for 1 hour 30 minutes to 2 hours.
Check the pork after 1 hour 30 minutes—it should be falling off the bone when tested with a fork. If it's not quite tender yet, continue simmering for another 30 minutes. The broth should reduce slightly, becoming richer and more concentrated. I like to leave it slightly thick rather than watery for that authentic bak kut teh texture.
Finish with Coconut Milk and Herbs
Remove the pork ribs and set them aside on a plate. Strain the broth through a fine-mesh sieve into a clean pot, pressing gently on the aromatics to extract all their flavor. Return the broth to the stove and stir in the 1 can (13.5 oz) coconut milk. Simmer for 5 minutes to blend the flavors.
Return the pork ribs to the pot and heat through for 2 minutes. Taste and adjust seasoning—you might need a bit more light soy sauce for saltiness or a pinch more white peppercorns for heat. The coconut milk adds a luxurious creaminess that balances the spicy-savory broth.
Serve with Fresh Herbs and Lime
Ladle the hot soup into bowls, dividing the pork ribs evenly among servings. Garnish each bowl with 1 tablespoon of the 0.25 cup cilantro leaves and serve with the 2 whole lime wedges on the side. The cilantro adds a bright, fresh contrast to the rich broth, while the lime provides a tangy finish.
Serve immediately with steamed jasmine rice—each spoonful should deliver tender pork, fragrant broth, and that perfect balance of spice and creaminess. The lime wedge is essential for cutting through the richness, so encourage everyone to squeeze some into their bowls before eating.
Pro Tips For Making Bak Kut Teh Soup
- BLANCH THE RIB BONES: I learned this the hard way—skipping the quick blanch (30 seconds in boiling water) leaves your broth cloudy. Rinse the blanched bones cold to stop cooking, then simmer them gently. The difference in clarity is night and day.
- CRUSH STAR ANISE: Whole star anise just floats and underperforms. Lightly crush it with a rolling pin or mortar before adding—this releases the oils and aromatics into the broth. Don’t pulverize it, though; you want flavor, not dust.
- SIMMER LOW AND LONG: High heat = bitter broth. After the initial boil, drop the heat to a bare simmer (tiny bubbles, just breaking the surface) and walk away. Three hours minimum for deep flavor—no shortcut here.
- CHAR THE GALANGAL: Slice the galangal thick (½-inch) and sear it briefly in a dry pan until it darkens slightly. The caramelized edges add a smoky depth that raw galangal can’t match. Toss it in early when you brown the ribs.
Regional styles of bak kut teh soup
Singaporean Peranakan Roots
The bak kut teh we know today traces its origins to the Peranakan communities of Singapore and Malaysia, blending Chinese, Malay, and Indian influences. This dish was traditionally a Sunday family meal, where pork ribs simmered for hours in a fragrant broth made with local spices.
The name itself—bak kut teh—means "meat bone tea," reflecting how the broth was once served to guests as a tea-like beverage. 🌿
In old-school Singaporean homes, this soup was often prepared in clay pots over wood fires, allowing for precise temperature control and deeper flavor infusion. The use of star anise, cinnamon, and lemongrass wasn’t just for taste—these spices were practical, too, as they preserved the meat and broth for days.
The coconut milk addition came later, influenced by Malay cooking techniques, adding a creamy richness that balances the spice.
Malaysian Regional Twists
Across the Straits of Johor, Malaysian versions of bak kut teh often incorporate more coconut milk—sometimes even using young coconut water for a lighter broth.
In Johor Bahru, you’ll find a sweeter profile with added palm sugar, while Penang-style versions lean heavier on chili and tamarind for a tangy kick. The key difference? Malaysian cooks frequently add kaffir lime leaves for an extra citrusy depth that’s hard to replicate elsewhere. 🌶️
Another regional favorite is Penang’s "Bak Kut Teh with Tofu"—a vegetarian adaptation where mushrooms or tofu replace pork, yet keeps the same spiced broth base. This version is popular in vegetarian-friendly eateries across Malaysia, proving the dish’s adaptability while staying true to its aromatic roots.
Modern Singapore Adaptations
Today’s Singaporean chefs have reimagined bak kut teh with fusion twists while keeping the soul intact. Modern restaurants often serve it with truffle-infused coconut milk or a miso glaze on the ribs, adding umami layers without losing the original’s warmth.
One standout is Hawker Chan’s version, where the broth is reduced to a near-syrup consistency, creating a thicker, more intense flavor. 💡
For home cooks, the biggest adaptation is time-saving techniques. While traditional methods require 4-6 hours of simmering, many now use pressure cookers (like the Instant Pot) to cut that to under 2 hours—though purists argue nothing beats the slow-rendered fat from hours on the stove.
I’ve tested both methods, and while pressure cooking saves time, the stovetop version delivers that unmatched depth of flavor.
Indonesian Peranakan Influence
In Batavia (Jakarta), the dish evolved into "Bak Kut Teh Betawi", where the broth is often thicker and slightly sweeter, thanks to added palm sugar and kecap manis (Indonesian sweet soy sauce).
The ribs here are sometimes marinated overnight in a mix of turmeric, coriander, and shrimp paste (terasi), giving them a golden crust when served. This version is a staple at Betawi wedding feasts, symbolizing prosperity and abundance. 🥩
Another Indonesian twist is the use of "sambal terasi" (shrimp paste chili) as a broth enhancer, adding a funky, umami depth that’s distinctly Betawi. While this might be too bold for traditionalists, it’s a fantastic way to modernize the dish while keeping its hearty, comforting nature.
Nutrition facts
Frequently asked questions
Can I use chicken or beef instead of pork ribs?
While pork ribs are traditional, you can adapt this recipe! For chicken, use bone-in thighs (they stay juicier) and reduce simmering time to 45-60 minutes. Beef works too—try chuck roast cut into chunks, simmered for 2-3 hours until fork-tender. Just remember that beef broths benefit from longer cooking to develop depth, while chicken needs gentler treatment to avoid drying out.
How do I know when the pork ribs are done?
The ribs are perfectly cooked when they easily pull apart with a fork and the meat slides off the bone. Test them after 1 hour 30 minutes of simmering. If they're still tough, continue cooking for another 30 minutes. The broth should also reduce slightly, becoming richer and more concentrated. Pro tip: The bones should be a light golden color, indicating proper fat rendering.
Can I make this soup in an Instant Pot or pressure cooker?
For an Instant Pot, combine all ingredients (except coconut milk and herbs) and cook on high pressure for 45 minutes, then natural release for 15 minutes. Add coconut milk and herbs at the end. The pressure method cuts cooking time dramatically while still delivering deep flavor. However, purists argue the stovetop version develops more complex aromatics through slow simmering.
What can I do if my broth is too thin?
If your broth seems watery, don't worry—there are two quick fixes. First, simmer uncovered for another 15-20 minutes to reduce it naturally. For a faster solution, blend 1 cup of the broth with 2 tbsp cornstarch, then stir it back in and simmer for 5 minutes until thickened. The key is to balance richness with proper texture—traditional bak kut teh has a slightly thick, velvety consistency.
How do I store and reheat leftovers?
Store leftovers in airtight containers in the fridge for up to 4 days or freeze for 3 months. When reheating, add 2-3 tablespoons of water to prevent thickening. For best results, reheat gently on the stove over medium-low heat until hot throughout. The flavors actually improve after the first day as the spices meld further!
