Khao Tom (Thai Rice Soup)

Making Asian soups is a labour of love. The stock itself is very time consuming but extremely necessary if you want to perfect this style of cooking. Make the broth in advance (it will freeze for up to 6 months!) as well as the cooked rice and the meatballs the day before for easy assembly the day of.


Khao Tom (Thai Rice Soup)

Prep time: 45 minutes
Cook time: 3 hours, 45 minutes
Total time: 4.5 hours
Yield: 4 servings, plus extra broth


For the Broth

  • 5lbs meaty pork neck bones

  • 1 head of garlic, unpeeled

  • 1 2oz knob of ginger, unpeeled

  • 1 large stalk lemongrass, tough outer leaves removed, and cut in half lengthwise & crosswise

  • 1 cup sliced radishes

  • 3 green onions

  • 3 stalks Chinese celery with leaves (can substitute regular celery)

  • Handful of cilantro, stems and leaves

  • 1 tsp. black peppercorns

For the Pork Meatballs

  • 16oz ground pork

  • 2 tbsp. garlic

  • 2 tsp. cilantro stems

  • ½ tsp. white peppercorns

  • 2 egg whites

  • 2 tsp. fish sauce

For the Soup

  • 4 large eggs, room temperature

  • 8 cups pork broth

  • ½ cup sliced radish

  • 4 tbsp. soy sauce

  • 3 tbsp. fish sauce

  • Pinch of white pepper

  • 4 cups cooked jasmine rice (day old is best)

  • ¼ cup ginger, peeled and cut into matchsticks

  • ¼ cup Chinese celery, finely chopped

  • ¼ cup green onion, finely chopped

  • ¼ cup cilantro, stems and leaves, finely chopped

  • ¼ cup fried garlic*

 *You can buy this in the spice section at the Asian supermarket, or you can fry your own garlic until crispy


Start by prepping the bones for the stock. This is a necessary step to ensure a clean and clear tasting broth. Pour cold tap water overtop of the bones, stir and then drain. Place the rinsed bones in a large stockpot, and add water, until the bones are submerged, with the water covering them by about an inch. Place the pot on high heat and cover with a lid, brining to a simmer. Once the water is simmering, turn off the heat. Skim the scum from the top of the water using a spoon and discard it. Drain and rinse the bones under cold running water, and clean your stockpot.

Now that the bones are washed, it’s time to start on the broth. Place the bones back in the clean stockpot, and add enough water to cover the bones by a couple of inches. Cover with a lid and bring the water to a light simmer, ensuring it does not boil. Skim the surface of any scum. Remove the lid and turn down the heat to maintain a light simmer. Continue to cook the bones for 3 hours, skimming the surface of the water to remove any scum periodically.

Bruise the garlic, ginger and lemongrass by smashing them with a large pestle and mortar or a rolling pin. This will help to release the flavours when it cooks. Place them in the simmering bone broth, along with all remaining ingredients “for the broth” and continue to cook for 30 minutes to 1 hour. Strain the broth into a large container and let cool. Once the broth has cooled completely, the fat will have solidified on the surface. Skim this off and discard it. The broth can be made up to 5 days in advance and kept in the fridge or can be kept in the freezer for up to 6 months in an airtight container. I like to freeze my broth in large Ziplock bags to conserve as much freezer space as possible.

Moving on to the pork meatballs. Place the garlic, cilantro stems and white peppercorns in a pestle and mortar and smash until a paste-like texture is achieved. In a medium sized bowl, whisk the egg whites until light, white and foamy, but do not overbeat to the point of peaks forming. Add in the ground pork and the garlic/cilantro/peppercorn paste as well as the fish sauce. Mix with a spoon, for around 3 minutes, until the meat is very sticky. Form into small bite sized meatballs wetting your hands often so that the mixture doesn’t stick to your hands. Place the meatballs in the fridge until ready to use.

Place the room temperature eggs in a small heatproof container. Pour boiling water over top, enough to cover the eggs by a couple of inches. Let the eggs sit for 10 minutes, or longer if you prefer harder yolks. Remove the eggs from the water and set aside.

Pour 8 cups of pork broth into a large pot, and bring to a boil over high heat. Add in radish, soy sauce, fish sauce and white pepper. Drop in the pork balls and let cook for approximately 2 minutes, or until they float to the top. Add in the cooked rice, and bring the soup back to a boil before serving.

To serve, equally divide the soup between 4 bowls. Crack each egg directly into the soup, and then top each bowl with equal amounts of ginger, Chinese celery, green onion, cilantro and fried garlic.