Soups & Stews
This Bak Kut Teh soup recipe delivers the deep, aromatic richness of Singapore’s most beloved comfort dish—slow-simmered pork ribs infused with star anise, cinnamon, and lemongrass.
The secret lies in hours of gentle simmering, where tough pork transforms into melt-in-your-mouth tenderness while the broth develops layers of sweet, savory, and slightly tangy complexity. I’ve perfected this version after years of testing, balancing traditional techniques with home-cook practicality.
The process begins with braising pork ribs in a fragrant spice paste, then slow-cooking them with aromatic spices until the meat falls apart effortlessly. Potatoes and cabbage join later, absorbing the rich broth while maintaining their texture.
What sets this recipe apart is the careful balance of flavors—just enough sweetness from palm sugar, tang from tamarind, and umami from fermented bean paste.
By the final hour, your kitchen will fill with an intoxicating aroma that transforms any meal into a celebration.
The result is a steaming bowl of restaurant-quality Bak Kut Teh—pork so tender it disintegrates at a touch, potatoes creamy yet firm, and a broth so flavorful it deserves to be sipped straight from the pot. This isn’t just soup; it’s a taste of Singapore’s soul in every spoonful.
Perfect for family gatherings or cozy weeknight dinners, this recipe makes 8 servings and tastes even better the next day. The long simmering time rewards patience with unmatched depth of flavor—no shortcuts, no compromises. Let’s create something truly special.
Ingredients for bak kut teh soup
Eight aromatic ingredients transform tough pork into melt-in-your-mouth perfection through hours of slow simmering.
| Ingredient | Amount | Notes |
|---|---|---|
| Pork Ribs 🥩 | 4 lb | Bone-in, meaty cuts preferred |
| Fresh Lemongrass 🌿 | 4 stems | Bruised to release oils |
| Star Anise 🌶️ | 4 whole | For deep aromatic flavor |
| Cinnamon Sticks 🌿 | 2 whole | Standard grocery store size |
| Palm Sugar 🍯 | ½ cup | Or light brown sugar |
| Fermented Bean Paste 🍶 | ¼ cup | Kecap manis for authentic taste |
| Tamarind Paste 🍋 | 2 tbsp | Adjust for desired tang |
| Garlic Cloves 🧄 | 8 cloves | Peeled and smashed |
| Shallots 🧅 | 6 whole | Or 1 cup finely chopped |
| Russet Potatoes 🥔 | 2 lb | Peeled and cubed |
| Green Cabbage 🥬 | 1 small | Or 1/4 medium head |
| Dried Shrimp 🦐 | ¼ cup | Optional for umami depth |
| Fish Sauce 🍶 | 1 tbsp | Red Boat preferred |
| Water 💧 | 8 cups | For initial simmer |
| Salt 🧂 | 1 tsp | Adjust to taste |
The pork ribs should have good marbling for flavor and tenderness—ask your butcher for the meaty, bone-in cuts from the rib section. Fresh lemongrass is non-negotiable here; Asian markets often sell it pre-bruised, but if you must do it yourself, pound the stems gently with the flat side of a knife. Star anise and cinnamon sticks are available in the spice aisle or international foods section—Penzeys Spices carries high-quality versions if your grocery store lacks them. Palm sugar gives that authentic sweetness, but light brown sugar works in a pinch—just reduce slightly since it's more potent.
Fermented bean paste (kecap manis) is the umami bomb of this soup—look for it in the Asian foods aisle or order online if unavailable locally. Tamarind paste can be found in the international section or substituted with lime juice plus a pinch of sugar. Dried shrimp adds depth but isn't traditional; omit if you prefer a more authentic version. For fish sauce, Red Boat is the gold standard—cheaper brands can taste overly salty or fishy. The shallots should be finely chopped; a food processor makes quick work of this step. Potatoes should be cut into even 1-inch cubes for consistent cooking.
This soup tastes even better the next day as flavors meld—plan accordingly. Store in the fridge for up to 4 days, or freeze portions for 3 months. The broth reduces significantly during cooking, so add water as needed to maintain depth. For serving, keep the pork ribs whole until disassembling at the table—it's presentation-worthy. The cabbage should be cut into wedges so it stays intact while absorbing flavor.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just toss the ribs, lemongrass, and spices into a pot, then let it simmer. No chopping, no fuss, and the house smells like a Singapore hawker stall by the time it’s done.
- Sweet-Savory Balance: That palm sugar and star anise combo? It’s what makes this soup ridiculously good. The ribs fall off the bone with a caramelized edge, and the broth is rich but never cloying—like a hug in a bowl.
- Leftovers for Days: Between us, I make this on Sundays and have soup for the whole week. The flavors only deepen overnight, and reheating it is zero effort—just add hot water. My kids beg for seconds, and I don’t even pretend to say no.
- Budget-Friendly Feast: Pork ribs are cheap, and a few stalks of lemongrass stretch across multiple batches. Honestly, it’s my go-to when I need to feed a crowd without breaking the bank. Plus, the spices last forever, so every pot tastes like the first.
Step-by-step instructions for slow-simmered bak kut teh soup
Mastering this aromatic Singaporean classic requires patience and precision—each step builds the deep, savory complexity.
Prepare the Pork Ribs and Aromatics
Rinse the 4 lb pork ribs thoroughly under cold water and pat completely dry with paper towels. This step is crucial—any moisture will prevent proper browning later. Using a sharp cleaver or heavy knife, trim off any excess fat but leave a thin layer to protect the meat during simmering.
In a large pot, combine the 8 cups water, 4 stems fresh lemongrass (bruised by pounding with the side of your knife), 4 whole star anise, 2 whole cinnamon sticks, 8 cloves garlic cloves (smashed), and 6 whole shallots. Bring to a rolling boil over high heat for 5 minutes to extract maximum flavor from the aromatics. This initial infusion forms the aromatic base of your soup.
Brown the Pork and Build the Broth
Remove the pot from heat and carefully add the 4 lb pork ribs, positioning them in a single layer. Return to medium-high heat and let the meat brown undisturbed for 8-10 minutes, turning occasionally. This step develops the rich, caramelized flavors that define bak kut teh. You'll know it's ready when the ribs develop a deep golden crust.
Once browned, pour in the 8 cups aromatic water and add the 0.25 cup fermented bean paste and 2 tbsp tamarind paste. Stir gently to combine, then bring to a full boil. Reduce heat to low and skim off any foam that rises to the surface during the first 10 minutes of simmering. This ensures a clear, clean broth.
Simmer the Pork to Tender Perfection
Cover the pot and let the broth simmer gently for 2 hours, maintaining a temperature between 190-200°F. This slow cook transforms the tough pork ribs into fork-tender morsels. Check the water level periodically and add hot water as needed to maintain coverage—never let the ribs dry out.
After 2 hours, remove the ribs and set them aside. Strain the broth through a fine-mesh sieve into a clean pot, discarding the solids. Return the broth to medium heat and add the 0.5 cup palm sugar, 1 tbsp fish sauce, and 1 tsp salt. Stir until the sugar dissolves completely—this balances the rich pork flavors with just the right amount of sweetness and umami.
Prepare and Add the Vegetables
While the broth simmers, peel and cut the 2 lb russet potatoes into 1-inch cubes. Remove the core from the 1 small green cabbage and cut it into 4 wedges. If using, rinse the 0.25 cup dried shrimp under cold water to remove any grit.
Return the pork ribs to the broth and add the potatoes and cabbage. Simmer uncovered for 30-40 minutes until the potatoes are tender and the cabbage is bright green. The ribs should now pull apart easily with a fork. If using dried shrimp, add them during the last 10 minutes of cooking to rehydrate and infuse the broth with additional depth.
Adjust Seasoning and Serve
Taste the soup and adjust seasoning with additional fish sauce for saltiness or tamarind paste for tang. The broth should be rich, aromatic, and perfectly balanced—neither overly sweet nor sour. Ladle the soup into bowls, ensuring each serving includes generous portions of pork, potatoes, and cabbage.
Garnish with fresh cilantro if desired, but traditional bak kut teh relies on its robust flavors to shine. Serve immediately with steamed jasmine rice to soak up every last drop of that fragrant, slow-simmered broth. The longer the soup sits, the more the flavors meld together—this is when the true magic of bak kut teh reveals itself.
Pro Tips For Making Bak Kut Teh Soup
- CHAR THE BONES FIRST: Skip the "simmer ribs whole" myth—char the bones over high heat until blackened before adding liquid. This unlocks deeper umami; I learned this the hard way after tasting bland broths from uncharred bones. (Yes, even if you’re impatient like me, wait for that smoky aroma.)
- SLICE LEMONGRASS LENGTHWISE: Split the stalks open like a book and scrape out the soft inner pith—this releases more oil and flavor. I used to just chop it, but the broth now tastes richer and less fibrous. (Pro move: Tie the scraps with twine to remove later.)
- DON’T BOIL THE STAR ANISE: Toss the whole spices into the pot after the water boils, then immediately reduce to a simmer. Boiling them first burns the delicate anise notes, leaving a bitter aftertaste. (Your future self will notice the difference.)
- SWEAT THE SPICES DRY: Toast the cinnamon sticks and star anise in a dry pot for 30 seconds until fragrant—this builds aroma before adding water. I skipped this once and ended up with a flat, one-dimensional broth. (Sounds weird, but it works: the spices sing instead of sulk.)
Serving suggestions for bak kut teh soup
Rice Pairing Perfection
Steamed jasmine rice is the classic companion to bak kut teh, soaking up every drop of that fragrant broth. Use 2 cups uncooked jasmine rice per serving—about 16 cups total for 8 servings—and cook it in a rice cooker or pot with 3 cups water per cup of rice.
The rice should be fluffy and slightly sticky, ready to absorb the rich pork and vegetable flavors. 🍚
Garnish Like a Pro
Traditional bak kut teh doesn’t need much garnish, but a sprinkle of fresh cilantro leaves adds a bright, herbaceous contrast. Use about ¼ cup chopped cilantro per bowl—just enough to enhance, not overpower.
For extra flair, add a few crushed red pepper flakes if you like heat, or a drizzle of chili oil for a smoky kick.
Side Dish Harmony
Pair your soup with light, fresh sides to balance the richness. A simple cucumber salad with rice vinegar, sugar, and salt cuts through the richness, while steamed bok choy with garlic and soy sauce adds another layer of umami.
For a heartier option, serve with crispy fried shallots or toasted sesame crackers for texture contrast.
Beverage Pairings
Cool down with a sweet iced tea made from jasmine or pandan leaves—its floral notes complement the soup’s aromatics. For something stronger, a light lager like Singha or a crisp Sake balances the soup’s richness. Avoid heavy or overly sweet drinks that could clash with the broth’s complexity.
Leftovers Magic
Bak kut teh tastes even better the next day as flavors deepen. Store leftovers in an airtight container in the fridge for up to 4 days or freeze for 3 months.
Reheat gently on the stovetop with a splash of water to restore moisture. Serve with congee or extra rice for a comforting meal any day of the week.
Nutrition facts
Frequently asked questions
Can I use beef instead of pork for this recipe?
Traditional bak kut teh is made with pork, but you can substitute beef ribs or chuck roast for a heartier version. Use the same cooking time, but expect the meat to require an extra 30-45 minutes to tenderize. Beef will absorb more of the broth's flavors, so reduce the cooking liquid by 1 cup to maintain balance.
How do I know when the pork ribs are fully tender?
The ribs are done when they pull apart easily with a fork or two fingers—no resistance should remain. After 2 hours of simmering, test a small piece: if it separates cleanly, the entire batch is ready. Overcooking can make the meat mushy, so monitor closely during the final 15 minutes.
What if I can't find palm sugar or fermented bean paste?
For palm sugar, use light brown sugar (reduce by 1 tbsp since it's more concentrated). For fermented bean paste, mix 2 tbsp soy sauce with 1 tbsp brown sugar and 1 tsp vinegar as a substitute. These adjustments won't replicate the exact flavor but will keep your soup delicious.
Why does my broth taste bitter?
Bitterness usually comes from overcooking the aromatics (star anise, cinnamon) or skimmed foam that contains bitter compounds. Remove all spices after 2 hours of simmering and strain the broth carefully. If needed, balance with 1 tsp sugar or a splash of fish sauce to restore harmony.
Can I make this in a slow cooker?
Brown the ribs first, then transfer everything (including aromatics) to your slow cooker. Cook on low for 8 hours or high for 5 hours. Add potatoes and cabbage in the last 1 hour to prevent overcooking. The slow cooker's gentle heat mimics traditional simmering perfectly.
