Tom Yum Gai Soup Recipe (Hot and Sour Chicken Soup)
As an Amazon Associate, I earn from qualifying purchases. Read the full disclosure here .
This authentic tom yum gai soup recipe was a staple at my Thai restaurant. It’s a hot and sour chicken soup that’s easy to make in just 30 minutes, with a bold, spicy broth that’s perfect for lunch or dinner.

Tip: This soup can be made with different proteins. The most popular version in Thailand is with shrimp or seafood. You can also add a spoonful of tom yum paste for more flavor!
What is tom yum gai soup?
Tom yum gai is a hot and sour Thai chicken soup made with lemongrass, galangal, lime juice, and chilies. It often includes mushrooms and fish sauce, with modern versions sometimes adding coconut milk or evaporated milk for a creamy finish.
Recipe highlights
- Quick and easy – Comes together in just 30 minutes
- Traditional Thai ingredients – Uses galangal, lemongrass, and kaffir lime leaves
- Hot and sour flavor – Spicy, tangy, and deeply aromatic
- Customizable spice level – Adjust the chili paste to your heat preference
- Adaptable – Use the same base for tom yum noodle soup, fish soup, or try it with instant Mama noodles
- Healthy and perfect year-round

Ingredient notes & substitutes
You can grab everything you need for this recipe at your nearest Asian grocery store or market. For exact measurements, head to the recipe card below!

- Chicken – Use boneless chicken thighs or breast for tender, easy-to-eat pieces.
- Galangal – Fresh is ideal for its sharp, citrusy flavor. Dried slices work in a pinch; ginger is a backup, but it changes the taste.
- Lemongrass – Smash the stalks to release their oils and fragrance.
- Kaffir lime leaves – Adds a distinct citrus note. Use fresh or frozen; dried leaves are less aromatic but usable.
- Green onions – Adds a bit of freshness and mild sharpness to the broth.
- Straw mushrooms – You can swap with oyster, enoki, or button mushrooms if needed.
- Tomatoes – Adds a subtle sweetness and acidity that balances the soup.
- Shallots – Give the broth a deeper, slightly sweet base flavor.
- Culantro – Common in Thailand for its strong herbal flavor. If you can’t find it, cilantro is an okay substitute.
- Thai chili paste – Adds a smoky spice. Use my homemade nam prik pao or my favorite store-bought.
- Palm sugar – Adds a mild caramel-like sweetness to balance the sour and salty flavors.
- Fish sauce – Essential for umami and saltiness. I like the Megachef brand.
- Fresh lime juice – Brings the signature sour punch. Sometimes tamarind paste is used.
- Evaporated milk – Makes the soup creamy without masking the flavor. Coconut milk is a popular alternative.
- Water – Just enough to make a flavorful broth without diluting the aromatics.
How to make chicken tom yum soup
Step 1: Slice and prep all the aromatics. Thinly slice the galangal, lemongrass, and shallots. Tear the kaffir lime leaves in half to help release their oils. Quarter the tomatoes, and thinly slice the chicken into bite-sized pieces.

Step 2: Start the broth with aromatics. In a pot, bring water to a boil and add the sliced galangal, lemongrass, and lime leaves. Let it simmer for a minute until fragrant.

Step 3: Add the chicken. Once the broth is aromatic, drop in the sliced chicken and simmer until it’s no longer pink.

Step 4: Season the soup. Add chili paste, fish sauce, lime juice, and palm sugar. Let it simmer until the palm sugar dissolves.

Step 5: Add vegetables and simmer. Gently add the mushrooms, tomato wedges, and shallots. Simmer just until they soften, but still hold their shape.

Step 6: Finish with evaporated milk. To make it creamy-style, pour in evaporated milk, stir well, and turn off the heat. Serve immediately and enjoy your tom yum chicken soup!

Storage and reheating tips
- Refrigerate: Let the soup cool completely, then store it in an airtight container in the fridge for up to 3 days.
- Freeze: You can freeze tom yum kai without the fresh herbs for up to 2 months.
- Reheat: Reheat gently on the stovetop over medium heat until warmed through. Avoid boiling to keep the chicken tender.
More Thai chicken soup recipes to try
This easy tom yum gai recipe is perfect for a quick lunch or weeknight dinner. It’s spicy, tangy, and full of Thai flavor. Follow along on Facebook, Instagram, and Pinterest for more!
Tom Yum Gai Soup Recipe (Hot and Sour Chicken Soup)

Equipment
- Knife and cutting board
- Medium or large pot
- ladle
- Strainer Optional, If you want to remove the herbs before serving.
Ingredients
- ½ cup evaporated milk
- 1 ¼ cups water
- 9 oz chicken, thinly sliced breast or thigh (boneless)
- 2 stalks lemongrass, trimmed and smashed, sliced diagonally into chunks
- 3 thin slices galangal, thinly sliced
- 2 kaffir lime leaves, torn to release the fragrance
- 1 tomato, cut into wedges
- ½ cup mushrooms, sliced straw mushrooms or your favorite kind
- 3 shallots, thinly sliced
- 1 tbsp chili paste
- 2 tbsp fresh lime juice
- ½ tbsp palm sugar
- 2 tbsp fish sauce
- 2 stalks green onions, optional garnish
- 1 tbsp coriander, optional garnish
- 1 tbsp culantro, optional garnish
Instructions
- Slice and prep all the aromatics. Thinly slice galangal, lemongrass, and shallots. Tear kaffir lime leaves in half. Quarter the tomatoes and slice the chicken into bite-sized pieces.
- Start the broth. Bring water to a boil in a pot. Add galangal, lemongrass, and lime leaves. Simmer briefly to infuse the broth.
- Add the chicken. Add sliced chicken and simmer until it's no longer pink.
- Season the soup. Stir in chili paste, fish sauce, lime juice, and palm sugar. Simmer until the sugar dissolves.
- Add vegetables. Add mushrooms, tomato wedges, and shallots. Simmer until just tender but still intact.
- Finish with evaporated milk. Pour in evaporated milk, stir well, and turn off the heat. Serve hot!
Video
Notes
- Use the nutrition card in this recipe as a guideline.
- This soup can be eaten on its own, or you can pair it with rice or other Thai food.



Can I use dried galangal and kaffir?
Hey Maria! Yes you can, but you may have to increase the amount of galangal and kaffir lime to get the same flavor.