Bak Kut Teh (Malaysian Spiced Pork Rib Soup)

Deeply flavored and comforting, bak kut teh is what many Malaysians yearn for when they're homesick or in need of a nourishing meal.

Updated February 19, 2024
Overhead view of Bak Kut Teh

Serious Eats / Michelle Yip

Why It Works

  • Dried shiitake mushrooms add a deep mushroom note to the stock that rounds out the flavor of the herbs and spices.
  • Toasting the garlic lends a smokiness to the soup.

Late-night food choices are different all over the world, but in my opinion, there are few places that have greater appeal (and sheer variety of options) than Malaysia, especially in the Klang Valley metropolis that includes Kuala Lumpur and the surrounding territories. Tom yum, tandoori chicken, street burgers—it's hard to go hungry when wandering the streets after hours. And for those up for a little drive, there's pork bone soup, or bak kut teh, waiting for them. 

Overhead view of Bak Kut Teh

Serious Eats / Michelle Yip

The eponymous port township of Klang sits at the west end of Klang Valley, about 30 minutes from Kuala Lumpur’s city center without traffic. It's an important part of Kuala Lumpur's economic past and present, home to a sizable Hokkien Chinese population descended from those who emigrated to Malaya (pre-independence Malaysia) to work at the shipyards. It's also home to the Malaysian Hokkien version of bak kut teh, a hearty broth of pork bones plus herbs and spices used in Traditional Chinese Medicine (TCM). Bak kut teh is now served for breakfast, lunch, and dinner in Klang and around Klang Valley, but is particularly adored as an option for late-night feasting. After a strenuous night of clubbing, it's not uncommon to hear, “Let's drive to Klang for bak kut teh.”

“Bak kut” translates to “pork bones” in Hokkien. While some have translated “teh” as “tea,” there are stories that claim the recipe comes from a cook named “Teh.” Whichever it is, it is generally accepted that bak kut teh became popular in the early 20th century as a way to feed the port workers. Two main factors come into play here: First, the use of meat bones (usually pork), which supplies collagen, protein, and various minerals; and second, the use of specific herbs and spices brought over from China to add traditional medicinal value to the broth. This was an extremely effective and inexpensive way to boost the health of the workers, and purportedly helped keep afflictions like arthritis at bay.

Overhead view of meat

Serious Eats / Michelle Yip

These days, bak kut teh is eaten simply because it’s delicious. Deeply flavored, nourishing, and comforting, it’s one of those broths that reminds you of home, even if you’ve never had it before. The exact mix of herbs and spices differs from cook to cook, but there are several that are common throughout: star anise, fennel seeds, cloves, and cassia bark (Chinese cinnamon). Various roots and berries in different ratios make up the rest of the ingredients, angelica root (当归) and Solomon's seal (玉竹), two aromatic roots that are commonly used and lend a warming mouthfeel to the broth. Hot tea is usually served with bak kut teh as well, as it helps cut through the fat in the broth.

Overhead view of spice chart

Serious Eats / Michelle Yip

Bak kut teh is customizable to a certain point, and not every single herb and spice is absolutely necessary for a hearty broth. In the 80s, my aunt, who was studying in Little Rock, Arkansas, was longing for a taste of home, but wasn't able to purchase all the herbs and spices required to make the broth. Her mother (my grandmother) then invented a three-herb version using angelica root, Szechuan lovage, and star anise. Though closer to the lighter Teochew version of bak kut teh popular in Singapore (albeit less peppery), it did the job.

Overhead view of Bak Kut Teh

Serious Eats / Michelle Yip

If you're not in the mood to hunt down individual ingredients, you can find pre-mixed herbs online, so you only need to add the meats, produce, and sauces. Keep in mind, though, that prepackaged spices can often be old and dusty, so you're better off using your own fresh spices (plus, you can alter the ratios when making your own to suit your tastes). Really, that's the hardest part, and it's not even hard—once the herbs and spices are acquired, it's relatively easy to prepare bak kut teh at home.

Recipe Details

Bak Kut Teh (Malaysian Pork Bone Soup) Recipe

Prep 20 mins
Cook 2 hrs
Total 2 hrs 20 mins
Serves 4 to 6
Cook Mode (Keep screen awake)

Ingredients

  • For the Herbs and Spices:
  • 2 1/2 ounces (70g) dried shiitake mushrooms
  • 1 ounce (30g) dried red dates (hong zao, 红枣) 
  • 1 1/2 ounces (40g) dried black dates (nan zao, 南枣) 
  • One 2-inch knob peeled fresh ginger (10g)
  • 20 medium cloves garlic (about 3 1/2 ounces; 100g), unpeeled
  • 3/4 ounce (20g) white peppercorns
  • 1/2 ounce (15g) dried foxglove root (shu di pian, 熟地片)
  • 1/2 ounce (15g) Solomon’s seal (yu zhu, 玉竹)
  • 1/2 ounce (15g) cassia bark (Chinese cinnamon)
  • 1/3 ounce (10g) Chinese angelica root (dong gui, 当归)
  • 1/3 ounce (10g) Szechuan lovage (chuan xiong, 川芎)
  • 1/3 ounce (10g) licorice root (gan cao, 甘草)
  • Two 1-inch pieces codonopsis pilosula (dang shen, 党参)
  • Two 3-inch pieces dried tangerine peel (chen pi, 陈皮)
  • 1 large star anise pod
  • 2 tablespoons (5g) goji berries (gou qi zi, 枸杞子)
  • 1 teaspoon Szechuan peppercorns
  • 1 teaspoon fennel seeds
  • 4 whole cloves
  • For the Soup:
  • 1 pound (454g) pork spare ribs, divided between the bones and cut into 2-inch chunks by the butcher or with a cleaver
  • 14 ounces (400g) soft-boned meat (cartilaginous cuts called ruan gu rou, 软骨肉, at Chinese markets), sliced into 1-inch cubes, frozen
  • 1 tablespoon plus 2 teaspoons (24ml) Chinese light soy sauce, plus more to taste
  • 1 tablespoon plus 2 teaspoons (24ml) oyster sauce
  • 2 teaspoons (10ml) Chinese dark soy sauce
  • 3/4 ounce (20g) cane rock sugar, plus more to taste
  • 6 Chinese tofu puffs (about 3 1/2 ounces; 100g)
  • 6 canned button mushrooms (about 3 1/2 ounces; 100g)
  • 3 1/2 ounces (100g) enoki mushrooms
  • 5 ounces (140g) iceberg lettuce leaves, torn into 2-inch pieces
  • Cilantro leaves, for garnish
  • Cooked white rice drizzled with Chinese cooking caramel, for serving (optional)
  • Minced garlic and bird's eye chiles stirred into Chinese light soy sauce, for serving (optional)

Directions

  1. For the Herbs and Spices: In a small bowl, soak dried shiitake mushrooms in hot water for 30 minutes to rehydrate. Remove and discard stems and slice caps in half. Set aside.

    Overhead view of slices mushrooms in half

    Serious Eats / Michelle Yip

  2. Bruise red and black dates by twisting them so that the outer layers of the dates are broken. Gently press on ginger with the back of a knife to bruise it.

    Two image collage of bruising fruit and smashing ginger

    Serious Eats / Michelle Yip

  3. In a small dry skillet, cook garlic cloves, tossing frequently, until charred in spots. Tie garlic, ginger, and red and black dates in a cheesecloth sachet or in a muslin soup bag.

    Two image collage of tossing garlic and wrapping up with ginger and fruits in a muslim bag

    Serious Eats / Michelle Yip

  4. In as many cheesecloth sachets or muslin soup bags as needed, tie up white peppercorns, foxglove root, Solomon’s seal, cassia bark, angelica root, Szechuan lovage, licorice root, codonopsis, tangerine peel, star anise, goji berries, Szechuan peppercorns, fennel seeds and cloves.

    Two image collage of spices before and after being put into a muslim sachett

    Serious Eats / Michelle Yip

  5. For the Soup: In a large saucepan, combine 2 quarts (2L) water with frozen pork ribs and soft-boned meat pieces and bring to boil over high heat. Once water begins to boil, remove from heat. Drain pork pieces in a colander, then rinse under cold running water to remove any residue or scum.

    Two image collage of boiling and cleaning bones

    Serious Eats / Michelle Yip

  6. In an 8-quart Dutch oven or stock pot, combine pork pieces, 4 quarts (4L) water, shiitake caps, and all the sachets and bring to a boil over high heat. Reduce heat to low and simmer for 30 minutes.

    Overhead view of mushrooms, spice bag and bones cooking in pot

    Serious Eats / Michelle Yip

  7. Add Chinese light soy sauce, oyster sauce, Chinese dark soy sauce, and cane rock sugar and continue to simmer until pork is very tender and comes off the bone easily, about 2 hours; check water level periodically and add more as needed to keep ingredients covered.

    Two image collage of overhead view of adding soy sauce to pot and lifting meat from bowl

    Serious Eats / Michelle Yip

  8. While soup simmers, cut tofu puffs and canned button mushrooms in half and trim roots off enoki mushrooms. Taste the broth and adjust the flavor to your liking with Chinese light soy sauce (savory) and/or cane rock sugar (sweet). If the soup's flavor is too strong for your liking, add water to dilute to taste.

    Overhead view of mushrooms in a bowl

    Serious Eats / Michelle Yip

  9. Increase the heat and bring the soup back to a boil. Add halved tofu puffs and button mushrooms to the soup and boil for 2 minutes. Gently arrange enoki mushrooms and iceberg lettuce on the surface of the soup. Then, using the back of a ladle, gently press them into the soup to cook for 30 seconds. Be careful not to mix them with the rest of the ingredients in the pot as it will affect the visual appeal of the dish.

    Overhead view of mushrooms being added to pot

    Serious Eats / Michelle Yip

  10. Stir in a small handful of cilantro leaves, then serve with white rice drizzled with Chinese cooking caramel, and a dip of minced raw garlic and chopped bird’s eye chile mixed with Chinese light soy sauce. Garnish with additional cilantro at the table.

    Overhead view of garnishing bak kut teh

    Serious Eats / Michelle Yip

Special Equipment

Cheesecloth and/or muslin soup bags, 8-quart Dutch oven or stock pot

Make-Ahead and Storage

This soup will keep for up to 3 days in an airtight container in the fridge. The broth will be more flavorful the next day, though the meat will be a little tougher.

More Serious Eats Recipes