Tom Yum Soup

Tom Yum Soup
⏱️ cook time 30 minutes
🍽️ servings 4
⚡ Difficulty easy

intro

Bright, fiery, tangy classic Thai hot and sour soup loaded with plump shrimp, earthy mushrooms, and aromatic herbs, balancing bold spicy, sour, salty, and umami flavors.

Ingredients

Large raw shrimp (peeled, deveined, tails intact, shells reserved) 340 grams (12 large, 26-30 count per pound)
Low-sodium chicken broth 1200 ml (5 cups)
Fresh lemongrass stalks (tough outer layers removed) 2 stalks (40 grams, cut into 5cm pieces, smashed)
Fresh galangal (peeled, thinly sliced) 20 grams (6 x 3mm thick rounds)
Fresh kaffir lime leaves (central tough vein removed, torn) 8 leaves (5 grams)
Thai bird's eye chilies (lightly smashed) 4 chilies (8 grams)
Canned straw mushrooms (drained, rinsed) 200 grams, halved if large
Roma tomato (cored, cut into wedges) 1 medium (100 grams)
Fresh lime juice 60 ml (1/4 cup)
Fish sauce 45 ml (3 tablespoons)
Grated palm sugar (light brown sugar as substitute) 12 grams (1 tablespoon)
Thai roasted chili paste (Nam Prik Pao) 30 grams (2 tablespoons)
Fresh cilantro (chopped, for garnish) 15 grams (1/4 cup chopped)

Steps

1

Prep all ingredients

First, prep all components to enable fast, uninterrupted cooking: Peel 340g shrimp, leaving tail segments intact for presentation, and set peeled shrimp aside in a bowl; reserve all shrimp shells and heads for broth. Remove tough outer layers from 2 lemongrass stalks, cut into 5cm lengths, and smash lightly with the flat side of a knife to release aroma. Slice 20g galangal into 3mm thick rounds, tear 8 kaffir lime leaves after removing their tough central vein, lightly smash 4 bird's eye chilies, drain and halve 200g straw mushrooms, cut 1 Roma tomato into 4 wedges, squeeze 60ml fresh lime juice, and measure out 3 tbsp fish sauce, 1 tbsp grated palm sugar, and 2 tbsp roasted chili paste. This prep takes approximately 10 minutes.

Step 1
step1:Prep all ingredients
2

Simmer aromatic broth base

Pour 1200ml chicken broth into a 3L stainless steel stockpot, add the reserved shrimp shells, smashed lemongrass, galangal slices, torn kaffir lime leaves, and smashed chilies. Place the pot over medium-high heat until the broth reaches a rolling boil (5-7 minutes), then reduce heat to medium-low, cover the pot with a lid, and let simmer for 10 minutes to fully extract herbal, briny flavor from the aromatics and shrimp shells.

Step 2
step2:Simmer aromatic broth base
3

Strain out solid aromatics

After 10 minutes of simmering, set a fine-mesh stainless steel sieve over a large heatproof glass bowl, pour the simmered broth through the sieve to catch and remove all shrimp shells, lemongrass, galangal, lime leaves, and chili pieces. Discard the spent, flavorless solids, then pour the clear, fragrant infused broth back into the stockpot, and return it to medium heat to bring back to a gentle simmer (about 2 minutes).

Step 3
step3:Strain out solid aromatics
4

Cook shrimp and vegetables

Once the strained broth returns to a gentle simmer over medium heat, add the halved straw mushrooms and tomato wedges, and cook for 2 minutes to soften slightly. Then add the reserved peeled raw shrimp, stir gently with a wooden spoon, and cook for exactly 3 minutes just until the shrimp turn opaque pale pink and curl into a tight C-shape; do not overcook, as shrimp will develop a tough, rubbery texture if heated longer than 3 minutes.

Step 4
step4:Cook shrimp and vegetables
5

Balance soup seasonings

Reduce stovetop heat to low, then stir in 3 tbsp fish sauce, 1 tbsp grated palm sugar, and 2 tbsp roasted Thai chili paste (Nam Prik Pao), stirring continuously for 30 seconds until the sugar and chili paste fully dissolve, turning the broth a warm golden-orange color. Turn off the heat entirely, then pour in the 60ml fresh lime juice, stirring once to incorporate; never boil the soup after adding lime juice, as high heat will make the lime taste bitter and dull its bright sour flavor.

Step 5
step5:Balance soup seasonings
6

Garnish and serve hot

Ladle the finished soup evenly into 4 warm ceramic serving bowls, ensuring each bowl gets 3 shrimp, a portion of mushrooms, and tomato wedges. Top each bowl with 1 teaspoon of chopped fresh cilantro, and serve immediately while piping hot, with extra lime wedges and small dishes of fish sauce on the side for diners to adjust flavor to their taste.

Step 6
step6:Garnish and serve hot

Tips

1.For the most authentic flavor, use fresh lemongrass, galangal, and kaffir lime leaves rather than dried versions or pre-made tom yum cubes; dried aromatics lack the bright, zesty, piney-citrus depth that defines classic tom yum, resulting in a flat, muted broth.
2.Always add lime juice after turning off the stove: boiling lime juice releases bitter compounds from citrus peel oils that will disrupt the soup’s signature balance of sour, salty, sweet, and spicy flavors.
3.Adjust heat to your preference by scaling the number of bird's eye chilies: 2 chilies create a mild, family-friendly heat, 4 chilies give a balanced medium-spicy kick, and 6+ chilies produce an intensely fiery soup for heat enthusiasts.

✨ You May Also Like

Soups & Stews
🍜 Japan

Rich, umami-dense Hokkaido-style miso ramen with chewy noodles, savory fermented broth, and classic toppings, a cozy, deeply satisfying warm meal.

⏱️ 45 minuteSoups & Stews ★ 4.8
Soups & Stews
🍜 United States

A hearty, peppery tripe and root vegetable stew with colonial Philadelphia roots, thick, warming, and packed with bold savory flavor for cold winter days.

⏱️ 2 hours 3Soups & Stews ★ 4.6
Soups & Stews
🍜 Mexico

Hearty, warming red pork posole loaded with tender hominy, slow-simmered in a rich smoky chile broth, served with zesty fresh garnishes for a deeply comforting, satisfying meal.

⏱️ 2 hours 3Soups & Stews ★ 4.8
Soups & Stews
🍜 United States

Warm, soothing classic chicken noodle soup loaded with tender chicken, soft egg noodles, and savory veggies, perfect for chasing chills and feeding the whole family.

⏱️ 40 minuteSoups & Stews ★ 4.7
Soups & Stews
🍜 France

Deeply savory caramelized onion broth topped with crusty bread and bubbly melted Gruyère, a timeless French bistro comfort food ideal for cold days.

⏱️ 1 hour 25Soups & Stews ★ 4.6
Soups & Stews
🍜 United States

Hearty, briny Maryland crab soup loaded with sweet blue crab, tender summer vegetables, and zesty Old Bay, a beloved Chesapeake Bay coastal comfort staple.

⏱️ 55 minuteSoups & Stews ★ 4.8

Tom Yum Soup:Frequently Asked Questions

1.Why do I need to reserve the shrimp shells instead of just adding peeled shrimp straight to the soup?
Reserved shrimp shells are the secret to deep, authentic seafood umami plain broth can’t replicate. Toast them in a dry pot for 1-2 minutes until fragrant, simmer in the chicken broth for 10 minutes, then strain them out. This step builds that rich, restaurant-style shrimp base without clouding the final broth, so don’t skip it!
2.I can’t find fresh galangal at my local grocery store—what’s the best substitute?
Fresh galangal has a sharper, piney, less sweet flavor than common ginger, so it’s not a perfect 1:1 swap, but if you can’t find it, use 1.5x the amount of thinly sliced young ginger plus a tiny pinch of white pepper to mimic its earthy zing. Skip dried galangal powder, as it tastes flat and muddy compared to fresh.
3.Do I really need to remove the central tough vein from kaffir lime leaves before adding them?
Yes, that thick central vein is fibrous and unpleasantly bitter if left in. Removing it takes seconds per leaf: hold the stem end, pull the vein out in one quick strip, then tear the leaf into rough pieces. Tearing instead of chopping releases more of the leaves’ bright, citrusy aromatic oils for a more authentic flavor.
4.How do I prepare lemongrass properly so it doesn’t leave tough, woody bits in my soup?
First peel off the 2-3 dry, papery outer layers until you reach the pale, tender lower stalk. Trim off the dry green top and woody root base, smash the stalk firmly with the flat of your knife to release oils, and cut into 2-inch chunks. You’ll fish these out before serving, so no chewy bits end up in bowls.
5.Why does this recipe call for low-sodium chicken broth instead of regular broth or pre-made tom yum base?
Tom Yum gets its signature salty umami kick from fish sauce and lime added at the end, so regular high-sodium broth will make the final soup overly salty before you even adjust seasonings. Pre-made tom yum broth is often loaded with artificial flavors, so low-sodium plain broth lets you control the bright, fresh flavor balance from scratch.
6.How long should I simmer the lemongrass, galangal, and kaffir lime leaves for the best flavor?
Simmer those three core aromatics in your shrimp-infused chicken broth for 8-10 minutes over medium-low heat. Any less and the flavors won’t fully infuse; any longer and the bright citrus notes will turn bitter and muted, leaving you with a flat, earthy soup instead of the bright, zingy profile tom yum is known for.
7.When do I add the shrimp so they don’t turn rubbery and overcooked?
Add your peeled, tail-on raw shrimp during the last 2-3 minutes of cooking, once you’ve added mushrooms and adjusted the base seasonings. Simmer just until they turn opaque pink and curl into a loose C shape—if they curl into a tight O, they’re overcooked. Turn off the heat right away to keep them plump and juicy.
8.What mushrooms work best if I can’t find traditional Thai straw mushrooms for this soup?
Traditional straw mushrooms have a mild, briny, tender texture that pairs perfectly, but if you can’t source them, use thinly sliced fresh shiitakes (stems removed) or halved cremini mushrooms. Skip large portobellos, which have an overly strong, meaty flavor that will overpower the soup’s delicate bright, tangy, herbal notes.
9.How do I get that perfect balanced tom yum flavor without it being too sour, spicy, or salty?
Taste and adjust right before serving, after adding shrimp and finishing seasonings. Start with 3 tablespoons fresh lime juice, 2 tablespoons fish sauce, and 1-2 crushed Thai chilies for mild heat, then tweak: add more lime for tartness, a tiny pinch of sugar to cut excess sour, more fish sauce for salt, or chili for heat to hit that classic balanced spicy, sour, salty, umami profile.

Comments (7)

2 days ago

OMG this is the real deal! I’ve been chasing that restaurant tom yum goong flavor for years after my trip to Bangkok, and this hit every single note. Cooked it for my family dinner last night, even my super picky 8 year old slurped up two bowls! Took exactly 30 minutes like the recipe said, no fancy hard-to-find ingredients if you hit up your local Asian market. 10/10, game changer for my weeknight meal rotation.

yesterday

So stoked to hear this was a hit with your whole family! Pro tip if you want an extra creamy kick next time: stir in a tiny splash of evaporated milk right at the end, it’s how many street vendors in Thailand serve it too 😊

2 hours ago

Wait the evaporated milk trick is genius! I made this last week and added a little extra lime, but I’m definitely trying that next batch. My roommate already asked me to make it for our next potluck!

1 week ago

SO good, perfect for meal prep! I made a big batch on Sunday, portioned it out for lunches all week, and it held up so much better than I thought it would. I skipped the shrimp and used tofu and mushrooms to make it vegetarian-friendly for my coworker who joined our meal prep swap, and she said it was the best thing she’s eaten all month. Super easy too, I was worried it would be complicated but the steps are totally straightforward.

5 days ago

Love the tofu swap! So glad this worked for your meal prep – the broth actually gets even more flavorful after a day or two in the fridge, which makes it perfect for make-ahead lunches. Thanks for sharing your twist!

3 days ago

Full transparency, I burn toast 90% of the time I try to make breakfast, so I was shocked how easy this was to pull off! Made it for my girlfriend’s birthday dinner since she loves Thai food, and she thought I ordered takeout from our favorite local spot. The only thing I messed up was adding too many chili peppers at first, so I squeezed an extra lime to mellow it out and it still turned out chef’s kiss. Will absolutely be making this again.

5 days ago

Brought this to our neighborhood potluck last weekend and people were lining up for seconds! I doubled the recipe because I knew it would be popular, and we still barely had any leftovers. A couple people asked for the recipe right there at the potluck, so I already sent them the link. Only note: I used a little extra galangal because I love that warm, zingy flavor, and it was perfect.

3 days ago

Wait I was thinking of making this for our office potluck next week! Did you keep it warm in a slow cooker after making it? I’m worried the shrimp will get rubbery if it sits too long.

2 days ago

Great question! If you’re serving this for a potluck, keep the broth warm in the slow cooker and add the shrimp and fresh herbs right before you head out, or keep those components separate to toss in 10 minutes before serving to avoid rubbery shrimp. So glad it was a neighborhood hit, Liz!

2 hours ago

This is great, but I wish it was a little spicier out the gate! I added 3 extra Thai bird’s eye chilis and a dash of my favorite habanero hot sauce, and that was perfect for my heat tolerance. The flavor base is so spot on though, it’s the perfect canvas to tweak to your own taste preferences. Cook time was way shorter than I expected too, which is a win for busy weeknights.

30 minutes ago

Same! I tossed in a spoonful of chili oil at the end too, it adds such a nice depth of heat without overpowering the lemongrass and lime flavor. Highly recommend if you love extra spice!

yesterday

So happy this recipe is naturally gluten free as long as you use gluten free fish sauce! My youngest has celiac so we’re always hunting for takeout-style recipes we can make safely at home, and this did not disappoint. My kids loved helping toss in the herbs and squeeze the limes, which made dinner time way more fun than our usual taco tuesday routine. Will be adding this to our monthly dinner rotation for sure.

30 minutes ago

I’ve made a lot of tom yum recipes from TikTok and other food sites, and this one is by far the most authentic without being a huge hassle. I did substitute chicken for shrimp because I’m not a huge seafood fan, and the broth was still absolutely incredible. I had a friend over who’s from Thailand and he said it tasted exactly like what his grandma makes, which is the highest compliment I could possibly get for a home cooked meal!

5 minutes ago

That grandma-level compliment is the best review we could ask for, Dan! The chicken swap works beautifully here – boneless chicken thigh meat holds up especially well in that tangy, fragrant broth if you want an even better result next time. So glad you and your friend enjoyed it!