
I had a lot of great food in Singapore, including the inspiration for this Mie Goreng Java recipe, and while I couldn’t pick a favorite, there were some dishes that stood out: like Biryani at Tanjong Pagar Railway Station, or Hainanese Chicken Rice at Maxwell Hawker Center. One dish that stuck with me throughout the rest of my sojourn in Asia was something I had early one morning at Changi Airport as I was leaving for Japan. I had dreams about it, and all I could think about upon returning home was picking up some spareribs so I could recreate it before my taste memory faded away.

Bak Kut Teh (肉骨茶) is a spare rib soup that’s popular all over Southeast Asia, with several countries claiming to be the originator. The name literally means “meat bone tea”, and the generally accepted creation legend is of a laborer from southern China bringing the dish to Klang, Malaysia, where it spread to neighboring Singapore and Indonesia.
I made the Teochew style Bak Kut Teh which seems to be more popular in Singapore. Unlike the Hokkien style Bak Kut Teh, which is darker in color and more heavily spiced, the Teochew variety is prized for its clear peppery broth. For my version I added green papaya and fried shallots, which I realize isn’t very traditional, but they add a nice textural and flavor element to the dish.

The small number of ingredients and clear soup belies the robust flavor in this breakfast dish. If anything, I’ve found that clear broths carry the pure essence of the meat, whether it’s Bak Kut Teh, chicken soup or Bulalo , because impurities that cloud the color can also muddy the flavor.
Getting a soup such as Bak Kut Teh clear isn’t complicated, but there are some steps that need to be followed in order to end up with a clear, rich soup. The trick is to give the bones a cleansing first boil, followed by a scrub and a long simmer in fresh water. Stocks get cloudy from the blood and coagulated proteins that come from the meat and bones as they cook. By giving them an initial boil to set the proteins and a wash and scrub with clean water, only a small amount of this gunk will come out once you put the meat and bones back into a clean pot of water. The long simmer releases all the flavor trapped in the meat and bones without any of the broth-clouding components.
📖 Recipe

Equipment
Units
Ingredients1x2x3x
Bak Kut Teh (Sparerib Soup) - for soup
- 5 pounds pork spareribs
- 1 head garlic (smashed)
- 1 tablespoon black peppercorns
- 1 tablespoon white peppercorns
- 1 cinnamon stick
- salt
- 1 small green papaya (peeled, seeded, then cut into ¾-inch cubes)
- 1 gai choy (quartered lengthwise)
- crispy fried shallots
for dipping sauce
- 6 red bird chilies (chopped)
- 3 tablespoons kecap manis (Indonesian sweet soy sauce)
- 3 tablespoons soy sauce
Instructions
- Cut the 5 pounds pork spareribs apart at every second rib so they’re in manageable-sized pieces. Sprinkle the spare ribs generously with salt , and let them sit in a container overnight in the refrigerator. The next day, bring a large pot of water to a rolling boil, then add the pork (you may need to do this in two batches). Return the water to a boil and let them cook until there is no blood coming out (about 5-10 minutes). Use tongs to transfer the ribs to a bowl of cold water, then scrub any bits of blood or scum off of them. Give them a rinse under cold water and put them in a clean bowl. Repeat with the rest of the ribs.
- Dump the now murky water down the drain and rinse out the pot. Add the cleaned ribs to the pot with the 1 head garlic , 1 tablespoon black peppercorns , 1 tablespoon white peppercorns , and 1 cinnamon stick , and add enough water to cover the top of the ribs by 1-inch. Bring the water to a simmer over medium high heat, then lower the heat to maintain a gentle simmer (medium low on my stove). Skim off any foam or fat that floats to the surface (you should only have to do this for the first 20 minutes). Continue simmering uncovered for 2 hours.
- To make the dipping sauce for the ribs, combine the 3 tablespoons kecap manis , 3 tablespoons soy sauce and 6 red bird chilies in a bowl then divide evenly among small bowls or ramekins. If you can’t find kecap manis, you can also use Chinese dark soy sauce mixed with some honey or agave nectar.
- After two hours the water should be just above the level of the meat. If it’s too low, add some more water so the meat is just covered. Taste the soup for salt, adding more as needed, then add the 1 small green papaya . Cover with a lid and turn down the heat slightly and cook for another 1 hour. Add the 1 gai choy and cook for about a minute or until it is bright green.
- Serve in bowls with plenty of soup, sprinkle the crispy fried shallots on top, and serve with a side of rice and the dipping sauce.
Nutrition Facts

Bak Kut Teh (Spare Rib Soup)
Equipment
- 1 Large Pot
- 1 Tongs
- 1 Skimmer
- 1 Medium Glass Bowl
Ingredients
Bak Kut Teh (Sparerib Soup) - for soup
- 5 pounds pork spareribs
- 1 head garlic (smashed)
- 1 tablespoon black peppercorns
- 1 tablespoon white peppercorns
- 1 cinnamon stick
- salt
- 1 small green papaya (peeled, seeded, then cut into ¾-inch cubes)
- 1 gai choy (quartered lengthwise)
- crispy fried shallots
for dipping sauce
- 6 red bird chilies (chopped)
- 3 tablespoons kecap manis (Indonesian sweet soy sauce)
- 3 tablespoons soy sauce
Instructions
- Cut the 5 pounds pork spareribs apart at every second rib so they’re in manageable-sized pieces. Sprinkle the spare ribs generously with salt , and let them sit in a container overnight in the refrigerator. The next day, bring a large pot of water to a rolling boil, then add the pork (you may need to do this in two batches). Return the water to a boil and let them cook until there is no blood coming out (about 5-10 minutes). Use tongs to transfer the ribs to a bowl of cold water, then scrub any bits of blood or scum off of them. Give them a rinse under cold water and put them in a clean bowl. Repeat with the rest of the ribs. 5 pounds pork spareribs, salt
- Dump the now murky water down the drain and rinse out the pot. Add the cleaned ribs to the pot with the 1 head garlic , 1 tablespoon black peppercorns , 1 tablespoon white peppercorns , and 1 cinnamon stick , and add enough water to cover the top of the ribs by 1-inch. Bring the water to a simmer over medium high heat, then lower the heat to maintain a gentle simmer (medium low on my stove). Skim off any foam or fat that floats to the surface (you should only have to do this for the first 20 minutes). Continue simmering uncovered for 2 hours. 1 head garlic, 1 tablespoon black peppercorns, 1 tablespoon white peppercorns, 1 cinnamon stick
- To make the dipping sauce for the ribs, combine the 3 tablespoons kecap manis , 3 tablespoons soy sauce and 6 red bird chilies in a bowl then divide evenly among small bowls or ramekins. If you can’t find kecap manis, you can also use Chinese dark soy sauce mixed with some honey or agave nectar. 3 tablespoons kecap manis, 3 tablespoons soy sauce, 6 red bird chilies
- After two hours the water should be just above the level of the meat. If it’s too low, add some more water so the meat is just covered. Taste the soup for salt, adding more as needed, then add the 1 small green papaya . Cover with a lid and turn down the heat slightly and cook for another 1 hour. Add the 1 gai choy and cook for about a minute or until it is bright green. 1 small green papaya, 1 gai choy
- Serve in bowls with plenty of soup, sprinkle the crispy fried shallots on top, and serve with a side of rice and the dipping sauce. crispy fried shallots