Thailand · Clear & light
Tom yum goong (Thai hot and sour prawn soup)
A quick stock from the prawn shells, loaded with lemongrass, galangal, lime leaf and chilli, then sharpened with lime juice off the heat. Hot, sour, salty and fragrant all at once.
- Prep
- 15 min
- Cook
- 40 min
- Total
- 55 min
- Effort
- Easy
- Serves
- 4
Ratings by the Soupmap Culinary Team, not readers.

Tom yum goong is Thailand's famous hot and sour soup with prawns: tom means boiled, yum describes that sharp, sour-spicy mix of flavours, and goong means prawns. This is the clear version, nam sai, which I think shows off the aromatics best. You can see every slice of galangal and every torn lime leaf in the bowl.
The prawns do double duty. Their heads and shells, fried briefly and simmered for 20 minutes, make a sweet, orange-tinged stock that tastes far more of the sea than water or chicken stock could. The meat goes in only at the very end, for a minute or two.
The thing most people get wrong is the lime. Boiled lime juice turns flat and faintly bitter, so it goes in off the heat, right before serving, along with the fish sauce. In Thailand this soup is usually shared with rice and other dishes, which is how these quantities are pitched. For the creamy style and more background, see our tom yum essay.
Ingredients
Prawn stock
Soup
Method
Tap a step's number to tick it off, and a time to start a timer.
Make the prawn stock
Twist the heads off the prawns and peel the bodies, leaving the tails on if you like, and keep all the heads and shells. Run a small knife along the back of each prawn, pull out the dark vein, then refrigerate the prawns.
Heat the oil in a saucepan over medium-high heat and fry the heads and shells, stirring and pressing the heads with a spoon to squeeze out their orange juices, until bright pink and smelling toasty, 3–4 minutes.
Pour in the water, bring to a boil, then lower the heat and simmer gently for 20 minutes. Strain through a sieve into a bowl, pressing hard on the shells, and rinse out the pan; you should have about 1 l of stock.
Prepare the aromatics
While the stock simmers, trim the lemongrass to the bottom 12 cm or so and peel away the tough outer layer. Bash the stalks along their length with the back of a heavy knife and cut them into 4 cm lengths.
Tear the lime leaves into two or three pieces each, pulling out the tough central rib. Lightly crush the chillies with the flat of a knife so they split but stay in one piece.
Cook and season
Return the stock to the pan and bring it to a boil over high heat. Add the lemongrass, galangal and lime leaves, lower the heat to medium and simmer until the kitchen smells strongly of lemongrass, 5 minutes.
Add the mushrooms and simmer for 2 minutes. Add the prawns and cook until they have just turned pink and opaque all the way through, 1–2 minutes, then turn off the heat straight away.
Stir in the crushed chillies, most of the fish sauce and lime juice, and the sugar if using. Taste: it should hit sour first, then salty, then hot. Add more lime or fish sauce until it does.
Scatter with coriander and serve at once, with rice. The lemongrass, galangal and lime leaves are there for flavour, not for eating, so push them to the side of the bowl.
Swaps
Cooking for coeliac disease or an allergy? Check every label: the notes below say which ones matter.
Gluten-free
- Already gluten-free as written. Check the fish sauce label: most are just anchovies, salt and sugar, but a few brands add hydrolysed protein or flavourings that can come from wheat. If you use bought chicken stock for headless prawns (see Tips) or make the creamy variation with nam prik pao, check those labels too.
Plant-based
- This becomes tom yum het, the mushroom version: a soup in its own right, sharp and fragrant, but without the prawns' sweetness. Use 1 l vegetable stock labelled vegan instead of the prawn stock and start at step 6.
- Instead of the prawns, add 300 g more mushrooms (oyster, king oyster or shimeji) and 200 g firm tofu in 2 cm cubes with the straw mushrooms, and simmer for 3 minutes.
- Season with 2–3 tbsp light soy sauce instead of fish sauce, or tamari labelled gluten-free if you need it gluten-free, with a pinch of salt if it needs more.
High-protein
- As written a bowl has roughly 15 g protein. Add 200 g more peeled raw prawns in step 7, cooked the same way: about 10 g more per bowl.
- Add 300 g firm tofu, in 2 cm cubes, with the mushrooms: about 9 g more per bowl.
- Add 300 g firm white fish in 3 cm chunks and simmer for 2 minutes before the prawns go in: about 13 g more per bowl.
Tips
- Lime goes in last, off the heat. Squeeze it just before you need it and never let it boil. Its fresh, floral sourness is half the soup, and heat dulls it within minutes.
- Use the heads. The orange fat inside prawn heads gives the stock its sweetness and colour, so press them well as they fry. If you can only buy headless prawns, simmer the shells in light chicken stock instead of water (check the label if you need it gluten-free).
- Don't overcook the prawns. They keep cooking in the hot soup after you turn off the heat, so pull the pan off the moment they turn opaque. Overcooked prawns turn rubbery.
- Galangal isn't ginger. It's sharper and more piney-citrus, and ginger makes a pleasant soup that doesn't taste like tom yum. Frozen galangal, lemongrass and lime leaves from an Asian grocer all work well and keep for months.
- Bruise everything. Bashed lemongrass, torn lime leaves and split chillies give up their oils in minutes; left whole, they barely flavour the broth in the short cooking time.
Make ahead and storage
- The prawn stock keeps for 2 days in the fridge or 3 months in the freezer. With the stock made, the soup takes about 10 minutes.
- The finished soup is best eaten straight away. Refrigerate leftovers within 2 hours and eat them the next day, reheating just until steaming so the prawns don't toughen, with a fresh squeeze of lime.
Variations
- Creamy (nam khon): stir 2 tbsp nam prik pao (Thai roasted chilli paste, sweet, smoky and brick red) into the stock with the mushrooms, and add 125 ml evaporated milk with the prawns, bringing it back just to a simmer before seasoning off the heat. Use unsweetened evaporated milk (in Thailand it's often labelled unsweetened condensed milk), not sweetened condensed milk. The soup is then no longer dairy-free, and check the chilli paste label if you need it gluten-free; for a dairy-free creamy bowl, use coconut milk instead of evaporated milk.
- Chicken (tom yum gai): use 1 l chicken stock instead of the prawn stock and 400 g thinly sliced boneless chicken thigh instead of prawns, simmering it until cooked through with no pink in the middle, 6–8 minutes, before adding the mushrooms.
- Sweeter and rounder: add a quartered tomato and two bruised Asian shallots with the lemongrass.
Your notes
Keep your cooking notes private in your account. Save what you changed and what you'd do next time.
Reviews & cooks' tips
Reviews and tips from people who've cooked this appear here.