Tom Yum Soup
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
Steps
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.
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.
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).
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.
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.
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.
Tips
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.

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.
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.
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.
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.
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.
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.
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!