Khao Tom Moo (Thai Rice Soup with Pork)
By Lee Jackson ↣ Published on: October 27, 2026
The comforting and warming properties of this Thai rice soup, ‘khao tom moo’ are amazing. A simple 30 minute dish that’s packed with personality – warming and mild – fragrant and utterly addictive.

Quick soups are definitely my thing, I make this Thai soup regularly for lunch as it's fast and easy, and it's just so satisfying. Rice in soup is a great way to build depth and create a hearty, filling bowl without the need for a tonne of protein. They're much easier than noodle soups too, as everything is done in one pot.
The amount of flavour this mild and fragrant soup brings is another reason that it's on my regular rotation–with only a few ingredients I can create a soup that feels like it's been simmering for hours. The recipe is fairly flexible too, where I can switch many of the ingredients to create variations of flavour. More on that below.
Khao tom moo is part of my ever growing Asian Collection and also my Asian Soup Hub, where you'll find all my favourite recipes.
What's Ahead?

What is Khao Tom Moo?
Khao Tom Moo (ข้าวต้มหมู) is a comforting Thai rice soup made with tender pork, fragrant broth, garlic and seasonings. Often enjoyed for breakfast, it is light yet satisfying, with soft rice and savoury meat. Typical garnishes include coriander, spring onion, fried garlic, white pepper and a splash of fish sauce.
Unlike thicker rice porridges like Congee, the grains remain visible in a clear, aromatic soup. Recipes vary across Thailand and from household to household, with 'Moo' part (pork) commonly being either minced, small meatballs or sliced. Served steaming hot, it is especially soothing on cool mornings or whenever something nourishing and comforting is needed.
Why my recipe?
My recipe has been tested countless times with variations on flavour and rice and is now at my favourite version. Here's why I love it...
- It's fast - not all soups need to sit for hours developing in flavour with bones and the like. This broth gets all the flavour from only a few aromatic additions and a spoonful of chicken bouillon.
- It's comforting - It's so warming and filling, a nourishing bowl that hits the spot without making you feel overfilled.
- It's flexible - the flavour can be modified to include different ingredients to create new and interesting combinations.
- It's reliable - it's almost impossible to mess this dish up, so good for those who are new to Thai flavours or cooking in general.

Ingredients You'll Need
This is such a simple dish, you don't need to source any difficult ingredients.
- Rice - I have narrowed my favourite choice down to broken rice (rice fractured during harvesting or milling, commonly eaten across Southeast Asia - has a lovely texture for this soup). Regular jasmine rice is perfect too.
- Ground pork - for the meatballs. Use whatever ground meat you have. You can also use Asian sausage or leftover meats like roast chicken, turkey etc.
- Garlic, cilantro & spring onions (scallions) - act as the flavour base to the soup.
- Chicken bouillon - stock, broth whatever you have, brings depth of flavour.
- Fish sauce and white pepper add the authentic Southeast Asian umami seasoning to the soup.






Step by Step
Here's what you need to do to create your quick and easy Thai rice soup.
- Step 1 - Pound together cilantro stems and root with garlic and the white parts of your scallions (the green parts will be used for garnishing) into a rough paste.
- Step 2 - Fry the paste in a little oil for 1-2 minutes until aromatic.
- Step 3 - Add the rice and stir to combine with the onion mix. There's no need to rinse first, we want the starch on this occasion to bring not only flavour, but act as a slight thickener too.
- Step 4 - Add the bouillon, fish sauce, pepper and then top up with water (around 7 cups). Bring this to a boil then reduce the heat and simmer for 20 minutes.
- Step 5 - While the rice cooks, mash together the ground pork with some cilantro leaves, white pepper and fish sauce and form into small meatballs (about the size of a thumb nail)
- Step 6 - After 20 minutes of cooking the rice, drop the meatballs into the soup and shake to submerge. Cook for 5-7 minutes until fully cooked.
Then all you need to do is serve, garnished with some thinly sliced scallion and a few cilantro leaves. There are more suggestions for toppings below.

Pro Tips - Things I've learned
Alternative ingredients:
- Meat - I often dispense with the 'moo' (pork) in favour of chicken or turkey balls (made from ground meat). Leftover roast meat is a good use too, thinly sliced. Thinly sliced Asian sausage works well too. All added at the same time as the regular recipe.
- Seafood - A few raw shrimp, scallops or shelled, cooked mussels work too for a seafood version.
- Poached egg - add to your bowl when serving, for a little more filling option.
Garnishes
- Chillies - I'll often spice mine up with the addition of Thai chillies (bird's eye)
- Crispy shallots or garlic - add a crunchy garnish
- Julienned ginger - for fragrance
- Sriracha sauce - lightly drizzled over the soup adds a gentle (or fiery) chilli hit.
- Herbs - Cilantro is most common, but I've used Vietnamese mint and Thai basil or holy basil for a new flavour combination.
- Roasted peanuts (chopped) - offer their unique crunch and flavour
Storage Suggestions
The thing I've learned most about this soup is that it's actually better eaten right away. The rice continues to absorb liquid, and even over the space of an hour, the soup can become very thick and gloopy and lose its light and fresh texture.
You can refrigerate (1-2 days) and add more water (or stock) to loosen the soup later, but I think you'll agree that the texture was so much better first time 'round. It's for this reason I would avoid making in advance or freezing. Some dishes are just better eaten right away.

Ready to get cooking?
Personally, this dish is reserved for either a hearty breakfast or filling lunch, but can be enjoyed any time of day! It delivers all the Thai flavour I love, without the chilli heat (that said, I'll often pile on the chilli to wake up the taste buds). It's such a comforting and warming soup, without leaving you feeling bloated - the freshness cuts through everything. As Thai dishes go, it's definitely a regular on the menu at home and I'm sure yours too once you've experienced its delicious flavour. Hope you enjoy!

More Thai recipes
If you liked this recipe, I'm sure you'll love more of my Thai recipes.

FAQ
Have a question? Let me know in the comments.
Is khao tom moo an authentic Thai dish?
Yes. Khao tom moo (ข้าวต้มหมู) is a traditional Thai rice soup commonly eaten for breakfast or as a light, comforting meal. Recipes vary between homes and regions, with the pork served as seasoned meatballs, minced pork or thin slices.
What is the difference between khao tom and congee?
Khao tom has distinct rice grains suspended in a clear, fragrant broth, while congee—or jok in Thailand—is cooked longer until the rice breaks down into a thick porridge. This recipe is deliberately light and soupy rather than creamy.
What type of rice works best for khao tom moo?
After testing the recipe with several varieties, I prefer broken rice because its smaller grains soften quickly and give the soup a particularly satisfying texture. Regular Thai jasmine rice is an excellent substitute and keeps its shape slightly more.
How can I tell when the pork meatballs are cooked?
Small 1–2 cm pork meatballs normally cook through after simmering for 5–7 minutes, but size can affect the timing. For certainty, test one of the largest meatballs with a food thermometer: ground pork should reach 71°C/160°F in the centre.
Can I prepare khao tom moo in advance?
Khao tom moo is best served immediately because the rice continues absorbing broth and becomes considerably thicker as it sits. Leftovers can be refrigerated promptly for 1–2 days, then gently reheated with additional water or stock until piping hot; I do not recommend freezing it because the rice loses its light, distinct texture.
Should I rinse the rice first?
There's no need to rinse the rice. The starch helps create a good texture and adds flavour too.
This recipe uses affiliations and may receive a commission based on your activity (link clicks). Learn more.
Ingredients
Soup
- 1 tbsp cilantro roots or stems (finely chopped)
- 2 spring onions - white parts (finely chopped) (keep the green parts for garnish, thinly sliced).
- 3 garlic cloves (chopped)
- 2 tbsp vegetable oil
- ½ tsp white pepper
- 1 tsp chicken bouillon
- 1 tbsp fish sauce
- 1 cup broken rice or jasmine rice (around 185 g / 6.5 oz)
- 7 cups water (around 1.6 litres / 56 US fl oz)
- 1 tsp salt (or to taste)
Meatballs
- 250 g minced pork
- ¼ tsp white pepper
- 1 tbsp fish sauce
- 1 tbsp cilantro leaves (chopped)
Garnishes
- Spring onion green parts (see above)
- Ginger julienned (optional)
- Cilantro chopped (optional)
- Thai chilli thinly sliced (optional)
Instructions
- Using a pestle and mortar, pound together the cilantro stems/root, spring onion whites and garlic until you have a rough paste.
- Over a medium/high temperature, heat the oil in a large pot until hot. Add the paste to the pan and fry for 1 minute.
- Add the rice and stir to coat everything thoroughly.
- Pour in the water, bouillon powder, white pepper and fish sauce and bring to a boil. Reduce the heat to low and simmer gently for 20 minutes.
- Meanwhile, mix the pork with the white pepper, cilantro leaves and fish sauce and roll into small balls (1-2cm).
- After the rice has been cooking for 20 minutes, drop the pork balls into the soup and simmer for another 5-7 minutes until cooked through.(If you're checking temperature of pork, between 71°C/160°F)
- Remove from the heat and add up to 1tsp salt (to your taste) and serve.
- Garnish with the green parts of the spring onion and optionally, ginger juliennes, cilantro and Thai chillies.
Notes
- Broken rice gives the soup a wonderfully soft texture, but regular jasmine rice works perfectly too.
- Make the pork meatballs small—about 1–2 cm—so they cook quickly and evenly. Ground pork should reach 71°C/160°F in the centre.
- Serve immediately, as the rice continues absorbing the broth and thickens over time.
- If reheating, add a splash of water or stock to restore the soup’s lighter consistency.
- Optional garnishes include sliced Thai chilli, julienned ginger, crispy garlic, coriander and spring onion. See the main post for more serving suggestions.





Leave A Comment