Bak Kut Teh Soup Recipe: Slow-Simmered Pork and Spice Harmony

Soups & Stews

Bak Kut Teh Soup Recipe: Slow-Simmered Pork and Spice Harmony

This Bak Kut Teh soup recipe transforms humble pork ribs into a fragrant, slow-simmered masterpiece that balances rich broth with aromatic spices. The secret lies in hours of gentle simmering, where lemongrass, galangal, and kaffir lime leaves infuse the broth with layers of citrusy, earthy complexity.

I've perfected this recipe over years of testing, ensuring the pork becomes fork-tender while preserving its natural juices—no tough, rubbery bites here.

The process begins with charring the spices over an open flame to deepen their flavors, then building a fragrant broth that's both savory and subtly sweet.

Unlike quick soups, Bak Kut Teh demands patience—at least 3 hours of simmering—but the result is a deeply comforting bowl that feels like a hug in liquid form.

The herbs add brightness that cuts through the richness, while a final touch of tamarind or palm sugar balances the flavors perfectly.

What you'll end up with is a steaming bowl of golden, aromatic soup where tender pork ribs float in a velvety broth, garnished with fresh herbs for color and freshness. Each spoonful delivers a perfect harmony of spice, sweetness, and umami—exactly what makes this Malaysian classic so beloved.

The aroma alone will have everyone gathering around the table, and the first bite will make them ask for seconds.

This recipe serves 6-8 and makes enough for leftovers, which actually taste even better the next day as the flavors deepen. Perfect for family gatherings, cold evenings, or when you want to impress guests with restaurant-quality comfort food. Let's get simmering—your kitchen will smell like home in no time.

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

Ingredients for bak kut teh soup

Eight aromatic ingredients transform humble pork into restaurant-quality soup.

Ingredient Amount Notes
Pork Ribs 🥩 3 lb Bone-in, cut into 3-inch pieces
Lemongrass Stalks 🌿 4 whole Bruised, bottom 4 inches only
Galangal Slices 🍃 3 pieces Fresh, about 1-inch thick
Kaffir Lime Leaves 🍋 6 whole Fresh, torn in half
Shallots 🧅 ½ lb Peeled, cut into wedges
Garlic Cloves 🧄 10 cloves Peeled, smashed
Coconut Milk 🥥 13 ½ oz Full-fat, canned
Palm Sugar 🍯 ¼ cup Or substitute brown sugar
Tamarind Paste 🍇 2 tbsp Adjust to taste
Star Anise Pods 🌟 4 whole Lightly toasted
Cinnamon Sticks 🍃 2 whole 2-inch pieces
Turmeric Powder 🌶️ 1 tbsp Freshly ground preferred
Salt 🧂 2 tsp Kosher or sea salt
Black Peppercorns 🌶️ 1 tsp Crushed
Fresh Thai Basil 🌿 ¼ cup For garnish
Cilantro Leaves 🌿 ¼ cup Chopped, for garnish

The spices are non-negotiable here. Galangal and kaffir lime leaves are the soul of Bak Kut Teh—find them at Asian markets or well-stocked grocery stores like Whole Foods. If you can't get fresh galangal, ginger at half the amount works in a pinch, but it won't be the same. The pork ribs should be bone-in for maximum flavor—Costco sells them pre-cut, which saves time. Look for ribs with good marbling, not lean cuts. Fresh lemongrass is a must too—dried won't give that bright, citrusy punch.

No tamarind paste? Lime juice plus a pinch of sugar mimics the tang. Running short on star anise? Cinnamon sticks alone work, but you'll lose some depth. The coconut milk can be light or full-fat—full-fat gives richer flavor. Palm sugar is ideal, but brown sugar or coconut sugar are perfect swaps. For the herbs, fresh Thai basil is a game-changer, but regular basil (dried at one-third the amount) will do. The broth gets better with time, so don't rush the simmering—4 hours is ideal.

This soup tastes even better the next day as flavors meld. Store in the fridge for up to 5 days—the broth stays rich and aromatic. For freezing, portion into containers with some headspace (liquids expand when frozen). Keeps for 3 months. Garnish with fresh herbs right before serving—cilantro adds brightness, Thai basil adds depth. Leftovers reheat beautifully—just warm gently on the stove, no boiling.

❤️

Why You'll Love This Recipe

  • One-Pot Magic: I swear by this soup—just toss everything into a single pot, and the ribs practically melt off the bone while the lemongrass and galangal infuse the broth with layers of citrusy warmth. No fancy techniques, no stress.
  • Flavor Explosion: That first sip? The shallots caramelize into sweet depth, the kaffir lime leaves add a bright, herbal lift, and the pork ribs deliver melt-in-your-mouth richness. It’s the kind of soup that makes you forget about bland meals.
  • Leftovers That Shine: Honestly, I make a double batch because the second day is even better. The broth gets richer, the pork more tender, and it’s perfect for quick lunches or reheating with rice. No waste, just satisfaction.
  • Budget-Friendly Comfort: Pork ribs are affordable, and the aromatic ingredients stretch the flavor so you don’t need much. A few stalks of lemongrass and a handful of shallots go a long way—this soup feels luxurious without breaking the bank.

Step-by-step instructions for slow-simmered Bak Kut Teh

This aromatic soup builds flavor layer by layer—don't rush the process.

1

Prepare the Pork and Aromatics

Start by rinsing the 3 lb pork ribs under cold water and patting them completely dry with paper towels. This step is crucial—any moisture will prevent that perfect caramelized crust we're aiming for. Cut the ribs into 3-inch pieces if they're not already, ensuring even cooking.

Next, prepare the aromatic bundle. Using the bottom 4 inches of each lemongrass stalk, bruise them gently with the flat side of a knife or rolling pin to release their essential oils. Add the 3 pieces galangal slices, 6 whole kaffir lime leaves (torn in half), 0.5 lb shallots (peeled and cut into wedges), and 10 cloves garlic (peeled and smashed). Tie everything securely with kitchen twine or place it in a cheesecloth bundle—this makes removing the aromatics later a breeze.

2

Build the Spiced Base

In a large stockpot, combine the pork ribs, aromatic bundle, 1 tbsp turmeric powder, 2 tsp salt, and 1 tsp crushed black peppercorns. Add enough water to cover the ribs by about 2 inches. Bring to a boil over medium-high heat, then immediately reduce to a gentle simmer. Skim off any foam that rises to the surface during the first 10 minutes—this ensures a clear, clean broth.

Simmer uncovered for 1 hour, stirring occasionally. This initial phase allows the pork to release its collagen and the spices to meld. You'll notice the broth turn a beautiful golden hue—this is your first sign that the flavors are developing. Real talk: don't walk away during this time. The pork should be tender enough to pierce with a fork, but still slightly firm to the touch.

3

Develop the Signature Flavor

After the initial hour, add the 13.5 oz coconut milk, 0.25 cup palm sugar, 2 tbsp tamarind paste, 4 whole star anise pods, and 2 whole cinnamon sticks. Stir gently to combine. The tamarind will add a tangy depth, while the coconut milk creates that signature creamy texture. Let the soup simmer uncovered for another 1.5 to 2 hours, stirring occasionally.

Here's where the magic happens: the broth should reduce slightly, becoming richer and more concentrated. You'll smell the aromatic spices working their way into every component. Taste the broth after 1 hour of simmering—adjust the palm sugar or tamarind paste to balance sweetness and tang. The pork should now be fork-tender, falling apart easily when tested. If it's not quite there, add another 30 minutes of simmering time.

4

Finish and Serve

Remove the aromatic bundle and discard it. Strain the soup through a fine-mesh sieve into a clean pot, pressing gently on the solids to extract every last bit of flavor. Return the strained soup to the pot and bring it to a gentle simmer over medium-low heat. The pork ribs should be swimming in a fragrant, slightly thickened broth that coats the back of a spoon.

Ladle the hot soup into bowls, garnishing each serving with 0.25 cup chopped cilantro leaves and 0.25 cup fresh Thai basil. Serve immediately with steamed jasmine rice—this is where the soup truly shines. The contrast of the creamy, spiced broth against the fluffy rice is what makes bak kut teh so irresistible. Don't forget to crack some black pepper over the top for a final burst of heat and aroma.

👨‍🍳

Pro Tips For Making Bak Kut Teh Soup

  • CHAR THE RIB BONES FIRST: I learned this the hard way—skipping the char on pork ribs means flavor hiding in the broth instead of singing. Sear the ribs over high heat until they develop a deep brown crust (about 5-7 minutes per side) before adding any liquid. This isn’t just for looks; it’s where the Maillard reaction unlocks that smoky depth that defines bak kut teh.
  • SLICE GALANGAL THIN: Thick galangal slices? They’ll sit like rocks in your pot, undercooked and bitter. Use a sharp knife to slice them paper-thin (about 1-2mm) so they infuse properly without turning to mush. If you’re using dried galangal, soak it first—it’s more potent and won’t overpower the broth.
  • DON’T BOIL THE LEMONGRASS: Tossing whole lemongrass stalks into boiling water is a waste—you’ll end up with a broth that’s aromatic but lacks real punch. Bruise the stalks lightly with the side of your knife (or gently pound them with a rolling pin) before adding them to cold or lukewarm broth. This releases the oils without bitterness.
  • REMOVE LIME LEAVES LATE: Kaffir lime leaves are delicate—add them too early, and they’ll disintegrate into a slimy mess. Tuck them in only during the last 15-20 minutes of simmering. If you’re serving the soup immediately, remove them just before plating; if you’re letting it rest, strain them out afterward. The broth will still carry their perfume.

Common mistakes when making perfect results

Overcooking the Pork

One of the biggest mistakes is letting the pork ribs simmer too long, which turns them from tender to mushy. I've seen home cooks walk away for hours, only to return with rubbery meat. The ribs should reach fork-tender status after 3-4 hours total, not 6+ hours.

Test them by piercing with a fork—they should fall apart easily but still hold their shape. If you're unsure, check after 3 hours and adjust heat accordingly. 💡

Skipping the Skimming

Don't skip skimming the foam during the first 10 minutes of simmering—this is where impurities rise to the surface. I once made soup without skimming and ended up with a cloudy broth.

Use a fine-mesh skimmer or ladle to remove foam gently. This step ensures a clear, clean broth that lets the aromatics shine. Trust me, your soup will taste noticeably better. 🌟

Using Dried Aromatics

Fresh galangal, lemongrass, and kaffir lime leaves are non-negotiable for authentic flavor. Dried versions lack the bright, citrusy notes that make Bak Kut Teh special. If you must substitute, use ginger at half the amount for galangal, but it won't replicate the unique earthy flavor.

I've tried dried lemongrass, and while it adds aroma, it can't match the fresh version's complexity. 🍃

Ignoring the Sugar Balance

The palm sugar and tamarind paste need careful balancing—they create the soup's signature sweet-tangy profile. I've seen recipes where the broth tastes either cloyingly sweet or overly sour. Taste the broth after 1 hour of simmering and adjust gradually.

Start with 1 tbsp tamarind and 2 tbsp sugar, then add more in ½ tbsp increments until you hit that perfect harmony. 🍯

Rushing the Simmering Time

Bak Kut Teh isn't a quick soup—rushing the 3-4 hour simmer results in underdeveloped flavors. I've tried cutting time to 2 hours, and while the pork was tender, the broth lacked depth.

The spices and aromatics need time to infuse fully. If you're short on time, at least simmer for 3 hours—the extra hour makes a world of difference. ⏰

Overcrowding the Pot

Using a pot that's too small causes the ribs to steam rather than simmer, leading to uneven cooking and a weaker broth. I recommend a stockpot that gives the ribs at least 1 inch of space around them.

If needed, cook in batches—better to have two pots of perfectly cooked soup than one overcrowded mess. 🔥

Nutrition facts

Servings 8
Amount Per Serving
Calories 380kcal
% Daily Value *
Total Fat 20g26%
Saturated Fat 10g50%
Cholesterol 110mg37%
Sodium 850mg37%
Total Carbohydrate 22g8%
Dietary Fiber 2g8%
Sugars 12g
Protein 28g56%
* 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 about Bak Kut Teh

1

Can I substitute fresh galangal with ginger?

You can use ginger as a substitute, but it won't be the same! Fresh galangal has a unique citrusy, peppery flavor that ginger lacks. If substituting, use half the amount of ginger (about 1.5 tbsp grated for 3 pieces galangal) and add a pinch of black pepper to mimic the galangal's bite. The broth will still be delicious but won't have that authentic depth.

2

How do I make this soup vegetarian?

Swap the pork ribs for mushrooms (shiitake or oyster) or tofu cut into rib-like pieces. Use the same simmering time (3-4 hours) to develop the flavors. For extra richness, add 1 cup coconut cream at the end. The broth will still taste amazing, though the texture will differ.

3

Why does my broth look cloudy?

Cloudy broth usually means you skipped skimming the foam during the first 10 minutes of simmering. This foam contains impurities that can make the broth murky. Always skim it off with a ladle or fine-mesh strainer. If it's too late, strain the broth through a cheesecloth for a clearer result.

4

Can I make this soup in an Instant Pot?

Yes, but with adjustments! Use the High Pressure setting for 60 minutes after the initial 10-minute sauté of aromatics. Add coconut milk and sugar at the end, then pressure cook for another 15 minutes. The broth may be less rich than stovetop, but it's still delicious. For best results, finish with a 30-minute simmer on the stove.

5

What's the best way to reheat leftovers?

Reheat gently on the stove over low heat—never boil—to prevent the broth from becoming watery. Cover the pot and warm for 10-15 minutes, stirring occasionally. If the broth thickens too much, add a splash of water. Leftovers actually improve as flavors meld! Store in the fridge for up to 5 days or freeze for 3 months.

★★★★★4.6(3 reviews)
Categories Soups & Stews