Tom Yum Soup

Thai Tom-Yum Soup

 The Spruce

  • Total: 30 mins
  • Prep: 12 mins
  • Cook: 18 mins
  • Servings: 4 to 6 servings
  • Yields: 2 1/2 quarts

At first sip of this Thai tom yum soup, you'll be overcome by the intoxicating flavors of lemongrass, garlic, lime, coconut milk, and chili combined with a chicken stock base and topped up with shrimp. If you like spice, we recommend either fresh red chilies or getting yourself a bottle of chili oil and adding anywhere from a few drops to a few teaspoons. Or leave the chili out for a terrific mild tom yum.

Serve tom yum soup as-is for a flavorful appetizer or with steamed white rice or sticky rice as a main dish. You can either place some rice in a bowl and serve the soup on top or serve the rice on the side.


Click Play to See This Delicious Tom Yum Soup Recipe Come Together


  • 6 cups chicken stock
  • 1 stalk lemongrass (lower third finely minced, top bulb smashed and bound with twine)
  • 1 carrot (thickly sliced)
  • 4 cloves garlic (minced)
  • 3 tablespoons onion (minced)
  • 2 tablespoons galangal (or ginger, grated)
  • 3 leaves makrut lime (or bay leaves and long strip of lime zest)
  • 1 1/2 tablespoons plus 1 teaspoon fish sauce (divided)
  • 1/2 tablespoon soy sauce
  • 1 teaspoon lime juice (or lemon juice)
  • 1 to 2 cups shiitake mushrooms (stems removed)
  • 1 small zucchini (sliced into half-moons)
  • 12 to 14 medium shrimp (or 8 to 10 large; raw, shells left on or removed)
  • 1 cup cherry tomatoes (sliced in half)
  • 1/4 to 1/3 can coconut milk
  • Optional: 1 teaspoon chili oil
  • Optional: brown sugar (to taste)
  • Optional: crushed chili pepper flakes (to taste)
  • 1/3 cup fresh cilantro (fresh coriander)

Steps to Make It

  1. Gather the ingredients.

    Ingredients for tom yum soup
    The Spruce 
  2. Pour the stock into a deep cooking pot and over medium-high heat. Add the prepared lemongrass, including the upper sections of the stalk you didn't mince. Boil 5 to 6 minutes to soften.

    Stock with lemongrass for tom yum soup in a pot
    The Spruce 
  3. Add carrot, garlic, onion, galangal or ginger, lime leaves, 1 1/2 tablespoons fish sauce, soy sauce, and lime juice. Reduce heat slightly, cover, and continue simmering 5 minutes. Add the mushrooms and zucchini, and continue simmering another 5 minutes. 

    Adding vegetables for tom-yum soup.
     The Spruce
  4. Add shrimp and cherry tomatoes. Cook 3 minutes, or until shrimp are pink and plump.

  5. Turn down the heat to low and add 1/4 can coconut milk, chili oil, and brown sugar and red pepper flakes to taste (if using). Add another teaspoon of fish sauce or more chili oil to taste. Discard the lime or bay leaves and the zest, if using.

    Simmering tom-yum soup.
     The Spruce
  6. Serve with fresh cilantro sprinkled over and enjoy! 

    Homemade tom-yam soup.
     The Spruce


  • While they can be messy to remove while eating, leaving the shells on shrimp adds infinitely more flavor to the soup. In Thailand, cooks sometimes remove the shells before cooking but add them to the soup, removing just before eating.

Recipe Variations

  • If you want to add some spice to your tom yum soup, we recommend adding chili oil, fresh chili, or chili flakes.
  • If this tom yum soup is too sour for your taste, add a little brown sugar.
  • If it turned out too salty, add a squeeze of lime juice.
  • Add more coconut milk if you want your soup richer/creamier or if it's too strong for your taste.

What is the Difference Between Tom Kha and Tom Yum?

Tom kha is another classic Thai soup made with fragrant broth. Tom kha typically contains chicken and almost always includes coconut milk, while tom yum usually includes shrimp and can be made without coconut milk.

Is Tom Yum Soup Healthy?

Flavored with aromatics and filled with vegetables and lean shrimp, tom yum is a healthy option for lunch or dinner. To make this soup lighter, use low-fat coconut milk or omit it altogether. More vegetables can also be used in place of the shrimp. Use low-sodium soy sauce to reduce the amount of salt.