My family’s khao tom recipe makes the most delicious Thai rice soup with pork meatballs in about 30 minutes. Itโs our favorite breakfast on cooler days, super healthy, and you can easily swap in chicken or any other protein you like!

More about this recipe
Khao tom is a traditional Thai breakfast soup made with soft-cooked jasmine rice simmered in a light, savory broth. It often includes pork or chicken meatballs, and its mild flavor makes it perfect for starting your day.
It’s one of my favorite breakfast dishes, along with rice porridge (I just love the meatballs in both so much, haha)! Whenever I make it, I always cook extra because I actually love the leftovers cold.

Our version is really simple to make at home, and you probably already have everything you need in your kitchen! The seasoning is light and savory, so it makes the perfect family meal.
In the mood for a spicier, bolder soup? Try tom yum or tom kha for a creamier version with coconut milk.
Ingredient notes and substitutes
Stick around for step-by-step photos and extra ingredient tips, or scroll down to the recipe card if you’re ready to get cooking!

- Water (12 cups)
- Bouillon cube (1)
- Ground pork (1 cup) – Rolled into pork meatballs for a meaty texture; swap with chicken or use shrimp, pork belly, egg, or tofu for variations.
- Uncooked jasmine rice (1 1/2 cup)
- Light soy sauce (1 1/2 tbsp) – Adds umami and a mild saltiness without overpowering the soup. You can find this at any Asian grocery store or on Amazon.
- White pepper (1/2 tbsp)
- Garlic (5 cloves)
- Salt (1/2 tbsp)
- Green onions (4), celery (1/2 cup) – Freshen up the broth and work well as a simple garnish. Feel free to add different fresh herbs of your choice.
- Coriander root (3)
- Oil (3 tbsp) – A neutral oil, like sunflower or vegetable oil, is used to cook the aromatics
How to make Thai rice soup
Step 1: Pound the garlic and coriander root together using a mortar and pestle (or use a food processor) until you get a rough paste.

Step 2: Heat a wok or skillet over medium heat, add oil, and fry the garlic-coriander paste until it smells fragrant and turns golden.

Step 3: Add the white pepper and uncooked jasmine rice to the pan. Stir everything together for about 30 seconds, just until the rice is coated and a little toasty.

Step 4: In a large soup pot, bring the water to a simmer over medium heat. Add the bouillon cube, salt, and light soy sauce, stirring until dissolved.

Step 5: Add the fried rice to the soup pot, cover with a lid, and let it boil gently for about 10 minutes.
Step 6: Gently drop in the pork meatballs one by one so they donโt stick together. Add the celery and cook for another 5 minutes, or until the meatballs float to the top.

To serve: Scoop a generous portion of broth, rice, and meatballs into bowls. Sometimes we add a soft-boiled egg (kai luak) on top for extra richness.
Finish your khao tom moo with your favorite toppings like chopped green onions, cilantro, fried garlic, chilies, a squeeze of lime, or a sprinkle of chili flakes for a little extra heat.
Storage
- Refrigerate: Let leftovers cool to room temperature, then transfer it to an airtight container. Thai pork rice soup keeps in the fridge for up to 3 days, and honestly, the leftovers taste amazing chilled too!
- To freeze: Divide the soup into individual portions and pack them into freezer-safe containers or bags. Thaw overnight in the fridge and reheat gently on the stove top or in the microwave when you’re ready to eat.
More Thai soup recipes you’ll love
I hope you love this khao tom soup recipe as much as my family does! Please leave a comment if you give it a try. Follow me on Facebook, Instagram, and Pinterest for more!
ย
Khao Tom Recipe (Thai Rice Soup)

Equipment
- Mortar and pestle or food processor
- Soup pot
- ladle
Ingredients
- 5 cloves of garlic, peeled
- 3 coriander root
- 3 tablespoons oil
- 1/2 tablespoon white pepper
- 1 1/2 cup uncooked jasmine rice
- 12 cups or 100 fluid ounces water
- 1 bouillon cube
- 1/2 tablespoon salt
- 1 1/2 tablespoon light soy sauce
- 1/2 cup celery, roughly chopped
- 7 oz or 1 cup ground pork, rolled into meatballs
- 4 stalks of green onions, chopped, for garnish
Instructions
- Pound the garlic and coriander root together using a mortar and pestle (or food processor).
- Heat a pan over medium heat. Add the oil and fry the garlic-coriander paste until fragrant and golden.
- Add the white pepper and uncooked jasmine rice. Toss everything together for about 30 seconds to coat the rice. Set aside.
- In a large soup pot, bring the water to a simmer over medium heat. Stir in the bouillon cube, salt, and light soy sauce until dissolved.
- Add the rice to the soup pot. Cover with a lid and let it boil gently for about 10 minutes.
- Add the celery and gently drop the pork meatballs into the pot one by one to prevent sticking. Cook for another 5 minutes, or until the meatballs float to the surface.
- Scoop the soup into bowls, making sure each serving has plenty of broth, rice, and meatballs. Top with green onions, cilantro, fried garlic, chilies, lime wedges, white pepper, or chili flakes if you like. Enjoy!
Notes
- Use the nutrition card in this recipe as a guideline.
- Use chicken, shrimp, egg, or tofu for variations.
When I’m away from Thailand I miss my morning soup. Not been able to copy the correct taste but can now try this.
Please let us know how you liked it!
Can it be made in a slow cooker?
I cannot tell for sure (I don’t have a slow cooker) sorry!
This recipe is so good! Thankyou. I was in Thailand for 2 summers and my hotel in Kanchanaburi served this every morning, with carrot instead of celery.
I found this recipe easier than most, when I didnโt have premade rice on hand.
I have also added plai when I can find it ๐
Thank you so much!
Omg Iโm so glad I found your recipe! Fell in love with this soup in Thailand and wanted to try to cook it myself! Yours was so easy to follow and it tastes exactly like when I fell in love with Khao Tom. Struggled a bit with cup and ounces (Iโm in Germany with grams and liters) but I made it. My new standard recipe! Thank you so much, I love it!
Hey Timur, thank you so much for dropping a wonderful comment! I’ve added the conversion to grams and liters for you!
Aroy Mag Mag. Kop khun na krap ๐โฅ๏ธ
Thank you so much!
This recipe means so much to me and Iโm so thankful for you to put it out! It reminds me of my mom who is from Mukdahan. She moved back home recently while I was born and live in the states. Thank you for providing Mukdahan recipes!! ๐ฅฐ๐๐ผ
Ohh thank you so much, this makes me so happy! I’m from Mukdahan too!