With over 3 million views on YouTube, this recipe is one of the most popular, and an OG, on Hot Thai Kitchen. This world-famous tom yum soup is universally loved; and with this authentic recipe I promise you can make it as good as, if not better than, the ones in restaurants. It's one of the first dishes I learned to make as a child because it's so easy, making this a great first Thai dish to try!
What is Tom Yum Soup?
Tom yum (ต้มยำ) is a type of Thai hot and sour soup where the iconic flavours come from 3 herbs: lemongrass, galangal, and makrut (kaffir) lime leaves. I call these herbs the "tom yum trinity." It can be made with any meat or seafood, even leftover cooked meats, but the most popular version is made with shrimp, i.e. tom yum goong ต้มยำกุ้ง (goong means shrimp).
If I had to pick a national dish for Thailand this would be a strong contender because it's eaten all over the country and is loved by essentially everyone. It's served at street-side eateries, fancy restaurants, and is commonly made at home. It was also a staple in my elementary school cafeteria!
There are tons of different versions, and the tom yum flavour is so good it has been turned into other dishes like tom yum spaghetti, tom yum fried rice - and even tom yum pizza which was introduced by Pizza Hut in Thailand! You can also make a delicious tom yum stir fry or what we call "dry tom yum."
Ingredients You'll Need
Here are all the ingredients for tom yum soup, with notes on possible substitutions.
- Medium to large shrimp, head-on, shell-on preferable. The shrimp shells and heads are for making shrimp stock for maximum shrimpiness. If not available, you can use chicken stock. See the FAQ below if you want to use other proteins.
- Chicken stock, if not using shell-on shrimp. Unsalted chicken stock is preferable so that we can add an appropriate amount of fish sauce without it becoming too salty.
- Makrut lime leaves (previously known as kaffir lime leaves). If fresh isn't available look for frozen. Dried can work, but double the amount. For more info on this, watch my guide to makrut lime leaves video.
- Lemongrass. Fresh is best as it is the main flavour of the soup, but whole frozen lemongrass is fine (not chopped). Dried isn't ideal, but it's workable; you'll have to experiment with amounts but you can keep adding until the flavour really comes through. Do not use powdered. For more info, watch my guide to lemongrass video.
- Galangal. That's the knobby thing that looks a bit like ginger. Frozen or dried will work as a substitute. Worst case, you can omit it and your soup will still be tasty. Do not substitute with ginger, which tastes very different. For more info, watch my guide to galangal video.
- Thai chilies, amount is to taste.
- Thai chilli paste/chili jam. Known as nam prik pao in Thai, this is a sweet-savoury thick paste that you can buy or make at home using this recipe. See more on this ingredient below.
- Fresh lime juice. Fresh is the key word here.
- Fish sauce. Use good quality fish sauce as it is the main seasoning. Watch my fish sauce tasting/guide video for recommendations.
- Oyster mushrooms, or another type of Asian mushrooms such as shimeji, enoki or fresh shiitake. If you can find them, straw mushrooms are the most common type used in tom yum in Thailand. Don't use button mushrooms, they're not nearly as good in soups.
- Cilantro for garnish. Sub green onions if you don't like cilantro.
How to Make Tom Yum Soup
Here's a bird's eye view of the process, but be sure to check out the full video tutorial below to ensure success! You can also watch the video on my YouTube Channel. The written recipe with detailed instructions are in the recipe card below.
- Make the shrimp stock by sauteing shrimp shells and/or heads until the bottom of the pot starts collecting browned bits.
- Deglaze with water and scrape all the stuck bits from the bottom of the pot.
- If using shrimp heads, use tongs to squeeze out the tasty tomalley inside.
- Simmer for about 45 minutes. You can add some chopped onions to the simmering stock right now if you want some added flavour.
- Strain the stock and add the lemongrass, galangal, makrut lime leaves and Thai chilies.
- Simmer for 5 minutes.
- Add the mushrooms and cook for 1-2 minutes.
- Add the shrimp, bring the stock back to a simmer and then turn off the heat.
- Allow the residual heat of the soup to fully cook the shrimp for the next 2 minutes.
- Add the Thai chili paste and fish sauce and stir to dissolve the chili paste.
- Add lime juice and then taste and adjust, adding the sugar only if needed.
- It's ready to serve! Note: the herbs are for infusion purposes only and are not meant to be eaten; however, they're traditionally left in the soup for garnish.
A Note on Nam Prik Pao - Thai Chili Paste/Chili Jam
When making tom yum with shrimp, nam prik pao or "Thai chili paste" is a key flavour. Technically it's not necessary, as it's a modern addition and is used only when making the shrimp version. However, if your goal is to recreate the tom yum you fell in love with at a Thai restaurant, you most definitely need to add it for the same flavour profile - it makes a big difference.
You can either buy it - Pantainorasingh, Mae Pranom or Thai Kitchen brands are all good, though they vary slightly in flavour and sweetness - or you can also make it at home using this homemade chili paste recipe (which lasts indefinitely in the fridge).
If you want to make tom yum without chili paste, you'll need to add more sugar, as chili paste is sweet. You can use either my tom yum chicken or tom yum fish recipes as guidelines for how to season the soup without the chili paste.
Pro Tip: The Secret to a Good Tom Yum
Your tom yum soup is only as good as the liquid you use as the base. For tom yum goong, I like to make a shrimp stock using the shrimp shells and heads for maximum shrimp flavour. Shells only is fine, but shrimp heads contain tomalley, which is that delicious orange fatty substance that I call "shrimp foie gras" and that adds a lot of richness and umami to the dish.
If shell-on shrimp are not available, you can use good chicken stock, though homemade is even better. Fish stock is also fine if you want to stick to the seafood theme. Water is...okay...(sense my hesitation here?), but there is no flavour or body to water, so the soup will not taste as good.
A popular variation on the classic tom yum soup
You might have had creamy versions of tom yum soup...so what's up with those? Assuming you weren't actually having tom kha, there's a very modern version of tom yum in Thailand called tom yum goong nam kon or "creamy tom yum with shrimp".
I LOVE it, and I'd say I prefer it if it's the only thing I'm having because it's more substantial. Instead of the clear broth, we enrich it with....drumroll....evaporated milk! Surprise! Check out my creamy tom yum goong recipe here.
You might have thought coconut milk would be used, but evaporated milk is used to add richness and creaminess without interfering much with the flavours of tom yum. If you add coconut milk, which you absolutely can, the coconut milk flavour will come through in a major way. This isn't a bad thing at all, it's delicious, but it's different and will end up tasting a bit more like the other popular Thai soup - tom kha gai.
Frequently Asked Questions
No. If you can't find fresh galangal, look for frozen or dried, or just leave it out. Many people want to substitute ginger because they kind of look similar (though you'll never mistake one for the other). But so do apples and pears, and they are very different tasting fruits!
If you use ginger, your soup will be tasty, but it'll taste different (like making apple pie using pears). To get the most authentic taste you're better off leaving it out entirely and letting the lemongrass and lime leaves do the heavy lifting. For more info on galangal check out my ultimate guide to galangal video here.
Generally, yes, but it's customizable. Tom yum is supposed to be spicy, but it spans a range of mild to fiery. I've been eating tom yum goong since elementary school, and that version was barely spicy! So if your tolerance is low, you can add 1 Thai chili for this recipe and it'll make it tickle just a little.
If you prefer something milder, check out my tom kha soup recipe. It uses all the same herbs, except it's enriched with coconut milk and is much less spicy and much more kid-friendly!
Note: The Thai chili paste used in this recipe is very mild, so don't add less of it because you're afraid of the spice or you'll sacrifice the other flavours that come with it.
Lemongrass, galangal and makrut lime leaves are the 3 main herbs in tom yum soup. They're what I call the "tom yum trinity." If you can't get access to galangal though, the tom yum soup will still be tasty with only the lemongrass and lime leaves.
You can find tom yum made with just about every protein under the sun in Thailand. In fact, I even have a basic formula for making tom yum using any leftover meat. But it's not just a matter of substituting chicken for shrimp. There are some differences in techniques and ingredients.
Check out my recipes for tom yum chicken and tom yum fish, but otherwise feel free to experiment with other proteins using these two recipes as a guideline.
Glad you asked! While it's not common to find a vegan tom yum soup in Thailand, a delicious version can indeed be made. Here's my vegan tom yum soup using a variety of mushrooms that is so satisfying you won't miss the meat.
This is a soup you can eat guilt-free every day. It's light, and full of food protein with lots of mushrooms. You can also use a strong bone broth as a base for tom yum soup, which will make it more nutrient-rich. The tom yum herbs are traditionally believed to have medicinal properties, and are seen as "generally good for you"...but I couldn't tell you exactly how, lol! But could grandma really be wrong? 😉
Before you start, be sure to watch the video tutorial to ensure success! I always include little tips and tricks not mentioned in the blog post. The video is in the recipe card below, but you can also watch it on YouTube!
Like this recipe? You'd also love these!
Tom Yum Goong (hot and sour lemongrass shrimp soup)
- 4 cups shrimp stock or unsalted chicken stock, see recipe below
- 12 medium sized shrimp, head and shell on if possible
- 1 stalk lemongrass (use 2 if small), smashed and cut into 1-2 inch pieces
- 6 makrut lime leaves, roughly torn into chunks, center stems removed
- 7-8 slices galangal, see note
- 2-5 Thai chilies, to taste, bruised and cut into large pieces
- 3 cups oyster mushroom, cut or tear large ones into bite-sized pieces
- ¼ cup Thai chili paste
- 3 tablespoon fish sauce
- ½ cup fresh lime juice
- 1 teaspoon sugar
- Cilantro for garnish
For the shrimp stock
- Shrimp shells and heads from at least 12 shrimp
- 1 tablespoon neutral oil
- 4 ½ cups water
- ½ onion, chopped, optional
FULL VIDEO TUTORIAL
All my recipes come with step-by-step video tutorials with extra tips not mentioned in the blog post, so make sure you watch the video to ensure success. If you enjoy them, consider subscribing to the YouTube Channel to not miss an episode. Thank you!Subscribe to my YouTube Channel
For the Shrimp Stock (if making)
- Peel the shrimp and remove the heads, then add all the shells and heads into a stainless steel pot with a little bit of vegetable oil. Saute over medium high heat, pressing out any tomalley from the shrimp heads with your spatula.Shrimp shells and heads from at least 12 shrimp, 1 tablespoon neutral oil
- Once the bits that are stuck to the bottom of the pot start to brown and smell wonderfully like grilled shrimp, deglaze with the water and scrape all the bits off the bottom of the pot.4 ½ cups water
- Add the onions, if desired, and simmer over medium low heat for 45 minutes. Strain, making sure to get out any liquid from inside the shrimp heads. You need about 4 cups for the soup, but if you don't have enough you can add water.½ onion
For the Tom Yum Soup
- Add the shrimp or chicken stock, lemongrass, makrut lime leaves, galangal and chilies to the pot. Bring to a boil and let it boil for about 5 minutes until you can smell the fragrance of the herbs from the pot.4 cups shrimp stock or unsalted chicken stock, 1 stalk lemongrass (use 2 if small), 6 makrut lime leaves, 7-8 slices galangal, 2-5 Thai chilies
- When the soup is done simmering, add the oyster mushrooms, and bring the soup back to a boil.3 cups oyster mushroom
- Once the soup comes back to a boil, add the shrimp and when the soup just starts to bubble again, turn off the heat. Let the residual heat of the soup cook the shrimp completely; another minute or so. (If you're using very large shrimp, you may need to cook it longer, but check first to avoid overcooking shrimp).12 medium sized shrimp
- Add the lime juice, fish sauce, chili paste, and sugar and stir. Taste and adjust the seasoning to your liking. (You may need to add a little more sugar, depending on how sweet your brand of chili paste is.)2-5 Thai chilies, 3 tablespoon fish sauce, ½ cup fresh lime juice, 1 teaspoon sugar, ¼ cup Thai chili paste
- Garnish with cilantro leaves and serve with rice, or turn it into a “Kuay Tiew Tom Yum” by pouring the soup over rice noodles for a pho-style meal!