Thai Fish Soup Recipe (Tom Yum Pla)

As an Amazon Associate, I earn from qualifying purchases. Read the full disclosure here .

This authentic Thai fish soup recipe makes a light and aromatic tom yum pla with fresh herbs, tamarind, and tender fish in about 30 minutes. The broth is savory, slightly sour, and much easier to make than you might think.

Tom yum pla, a Thai fish soup, with a rich broth, fish slices, and fresh herbs. Served in a clay pot with a side of Thai sticky rice.

What readers say:

Thank you so much, Praew, for this recipe. I made the soup and it tasted wonderful. I did add some prik nam pla, which rounded it up nicely.

— Ursula

What is tom yum pla?

Tom yum pla is a Thai fish soup made with fish, lemongrass, galangal, kaffir lime leaves, tamarind, and fish sauce. The broth is light, aromatic, slightly sour, and usually mildly spicy depending on the region and family recipe.

Unlike creamy versions like tom yum shrimp and tom yum chicken made with evaporated milk or coconut milk, this version keeps the broth clear and light. It’s light, comforting, and healthy without feeling heavy.

This soup is also sometimes called tom pla in Thailand.

Before you start

If it’s your first time cooking fish soup at home, don’t overthink it too much. This recipe makes sure the broth is properly seasoned and the fish cooked perfectly.

The only part that really matters here is not overcooking the fish, and honestly, it’s easier than most people think. Once the fish gently flakes with a spoon, it’s ready. You do not need to simmer it for a long time.

Keeping the soup at a gentle simmer instead of a rolling boil also helps the broth stay clearer and keeps the fish from breaking apart.

This version is also intentionally mild and family-friendly. If you want more heat, you can add dried Thai chilies, chili flakes, or a spoonful of homemade tom yum paste at the end.

Praew ♡

Learn Thai cooking step by step

My cookbook is a combination of authentic Thai recipes and Western dishes cooked with Thai flavors and ingredients. It’s a great starting point if you’re new to Thai cooking or want to cook it more often.

Front page of my Thai flavors, a digital Thai cookbook with 41 recipes, cooking tips, and personal stories.

Ingredient notes & substitutes

You can find everything at Asian grocery stores or markets. Head to the recipe card at the bottom of this post for the exact measurements.

Ingredients for tom yum pla recipe including fish sauce, galangal, kaffir lime leaves, lemongrass, tomatoes, tamarind paste, and fresh herbs and spices.

If using frozen fish, thaw completely and pat dry first.

  • Fish: Firm white fish works best because softer fish can break apart too quickly in the hot broth. I used tilapia, but snapper, catfish, cod, or sea bass all work well.
  • Water: Forms the base of the broth.
  • Lemongrass, galangal & kaffir lime leaves: These three herbs are what give tom yum its classic aroma. The broth won’t taste quite the same without them.
  • Seedless tamarind pulp: This gives the soup its gentle sourness.
  • Fish sauce: Fish sauce adds most of the saltiness and umami. Good fish sauce like Megachef makes a noticeable difference in Asian soups.
  • MSG: To enhance the savory flavor without making the broth heavy.
  • Salt: Rounds out the broth.
  • Shallots: Add natural sweetness and depth.
  • Garlic: Gives the broth extra aroma and savory flavor. Fresh garlic works best here.
  • Tomatoes, green onions & cilantro: The tomatoes add a little sweetness and freshness while the herbs brighten the soup right at the end.

How to make tom yum fish soup

1. Prepare the fish: Clean the fish and remove the scales and guts if needed. Rinse well under cold water.

If you’re using whole fish, cut it into large pieces. I also like rubbing the fish lightly with salt before rinsing because it helps remove any strong fishy smell.

Lemongrass, kaffir lime leaves, galangal, and shallots simmering in broth.

2. Build the broth: Add water to a pot over medium heat. Stir in the galangal, lemongrass, kaffir lime leaves, garlic, shallots, and tamarind pulp.

3. Season: Season with fish sauce, salt, and MSG. Let the broth simmer for about 5 minutes. You’ll start smelling the herbs almost immediately.

White fish and tomatoes simmering in tom yum pla broth.

4. Cook the fish: Add the fish and tomatoes to the broth. Let the soup gently simmer until the fish is just cooked through.

Try not to boil the soup too aggressively here or the fish can break apart.

Finished tom yum pla topped with green onions and cilantro in a pot.

5. Finish with fresh herbs: Turn off the heat and stir in the green onions and cilantro.

Taste the broth one last time before serving. It should taste lightly sour and savory first, with the fresh herbs coming through at the end.

Serving tip: I love serving this with jasmine rice or sticky rice on the side.

Top-view of tom yum pla soup served in a clay pot with tender fish, tomatoes, and fresh herbs and spices.

How to store & reheat

Storage: Let the soup cool completely before storing in an airtight container in the fridge for up to 3 days.

Reheating: Reheat gently over low heat until hot. Avoid boiling the soup too hard during reheating or the fish can fall apart. Fish texture changes slightly after reheating.

Tom Yum Noodle Soup Recipe (Guay Tiew Tom Yum)

Thai Lemongrass Soup Recipe (Tom Yum Without Coconut Milk)

Tom Kha Gai Recipe (Thai Coconut Chicken Soup)

Khao Tom Recipe (Thai Rice Soup)

Tried this Thai fish soup recipe?

I’d love to hear how it turned out! Leave a rating and/or a comment below, and follow me on FacebookInstagram, and Pinterest.

Thai Fish Soup Recipe (Tom Yum Pla)

Close-up of tom yum pla, a Thai fish soup, with vegetables and fresh herbs.
Tom yum pla is a light Thai fish soup made with white fish, fresh herbs, and tamarind in an aromatic clear broth without coconut milk.
Praew
Prep Time 15 minutes
Cook Time 15 minutes
Total Time 30 minutes
Cuisine Asian, Thai
Course Main Course, Soup
Serving Size 3 people

Equipment

Ingredients

  • lb firm white fish, see notes
  • cup water
  • 2 stalks lemongrass, sliced
  • 2 slices galangal
  • 2 cloves garlic, minced
  • ½ cup shallots, sliced
  • 2 tbsp seedless tamarind pulp
  • 5 kaffir lime leaves, stems removed
  • ½ tbsp salt
  • 2 tbsp fish sauce
  • 1 tsp MSG
  • cup tomatoes, quartered
  • 4 green onions, chopped
  • a handful of cilantro, chopped

Instructions

  • Prep the fish: Rinse the fish well under cold water and remove the scales and guts if needed. If using whole fish, cut it into large serving pieces. Rub lightly with salt, then rinse again to help reduce any strong fishy smell.
  • Simmer the aromatics: Add the water to a large pot over medium heat. Stir in the galangal, lemongrass, kaffir lime leaves, garlic, shallots, and tamarind pulp. Bring to a gentle simmer.
  • Season the broth: Add the fish sauce, salt, and MSG. Let the broth simmer for about 5 minutes until fragrant and slightly tangy.
  • Cook the fish: Gently add the fish and tomatoes. Simmer until the fish is fully cooked and flakes easily with a fork. Avoid stirring too much so the fish stays intact.
  • Add the herbs: Turn off the heat and stir in the green onions and cilantro.
  • Serve: Ladle the soup into bowls and serve hot with rice.

Notes

  • Use the nutrition card in this recipe as a guideline.
  • Firm white fish works best here because it holds together in the broth. I used tilapia, but snapper, catfish, cod, or sea bass all work well.
Calories: 309kcal | Carbohydrates: 19g | Protein: 50g | Fat: 4g | Saturated Fat: 1g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 1g | Cholesterol: 118mg | Sodium: 2265mg | Potassium: 1152mg | Fiber: 2g | Sugar: 8g | Vitamin A: 713IU | Vitamin C: 13mg | Calcium: 86mg | Iron: 3mg

6 Comments

  1. 5 stars
    Thank you so much Praew for this recipe. I made the soup and it tasted wonderful. I did add some prik nam pla which rounded it up nicely. I discovered your site only recently. Tom Yum Pla is not going to be the only dish I’ll try out ???

  2. Hi, a couple of questions. I should cut the whole fish into chunks first right? What would you suggest to serve with it, if anything? Is it good just on it’s own or maybe we rice?

    1. Hey! Sorry for the late response, your comment wasn’t showing under new comments! Yes, the fish should be cut into large chunks after cleaning. You can serve this soup with steamed rice or even sticky rice, but also on its own. Enjoy!

  3. 5 stars
    I used this as a launching point for making more of a hot and sour style soup but this is a great base for that. I really think the tamarind is so key. I added more in the process and it instantly tasted better. The broth was so good. To prepare it I got fresh tamarind from my grocery store, peeled and deveined the whole bag, and then poured boiling water over it and let it sit for about 45 minutes. Then it easily came apart. I squeezed out all the seeds, broke it up and then pushed it through a strainer. I simmered the resulting tamarind water until it was at a concentration that I wanted. Even before the simmer though it tasted good.

5 from 4 votes (2 ratings without comment)

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating