Authentic Tom Yum Soup (The Hot-and-Sour Blueprint)
A bold, fragrant Thai hot-and-sour soup built on lemongrass, galangal, and lime with shrimp, mushrooms, and coconut milk. We broke down the most-watched YouTube methods to find the broth-building sequence that actually delivers restaurant-level depth at home.

“Tom Yum is one of the most copied soups on the planet and one of the most consistently ruined. The problem isn't the ingredients — it's the order of operations. Add lime too early and it turns bitter. Add shrimp with the lid on and they turn rubbery. Simmer coconut milk too long and it splits. Three mistakes, one bowl of disappointment. This recipe fixes all three by treating the broth as a layered infusion, not a dump-and-boil operation.”
Why This Recipe Works
Tom Yum is not a complicated soup. It's a sequential one — and sequence is everything. The difference between a bowl that tastes like a Thai restaurant and one that tastes like lemon-scented hot water is almost entirely about when you add what, and at what temperature. Get the order right and the flavors stack on top of each other like a chord. Get it wrong and you have noise.
The Broth Is Built in Stages
Most home cooks treat Tom Yum like a dump soup: add everything to the pot, boil for fifteen minutes, done. The result is technically soup but tastes flat, because they've skipped the infusion step that defines the dish.
The aromatics — lemongrass, ginger, shallots, garlic — need to work in two phases. First, the alliums (shallots and garlic) cook in coconut oil until soft, releasing their sugars into the fat. This fat becomes a flavor carrier for everything that follows. Then the woody aromatics go into the broth and simmer for 5-7 minutes at a controlled temperature to extract their essential oils. Those oils are water-soluble at low heat but volatile at high heat — a hard boil drives them off before they have a chance to integrate. Patience here is not optional.
After seven minutes, taste the broth. It should smell distinctly of lemongrass — clean, citrusy, slightly floral. If you can't smell it clearly from six inches away, simmer another two minutes. This broth is the foundation. Everything else is finishing.
The Shrimp Problem
Shrimp have a 60-second window between perfectly cooked and overcooked. At 3 minutes in hot broth, they're translucent and tender. At 4 minutes, they're opaque and done. At 5 minutes, the proteins have contracted so aggressively that you could use them as erasers.
The solution is to treat shrimp as a finisher, not a long-cook protein. They go in after the coconut milk has been added and the heat has been dropped to medium-low. Watch them physically — a shrimp is done when it curls into a relaxed C-shape and the flesh turns opaque all the way through. An O-shape means you've waited too long. The moment you see the last shrimp cross the line, the pot comes off the heat. Full stop.
Why Lime Goes In Last
Every recipe says "add lime juice." Almost no recipe explains that it must go in off-heat. Citrus juice contains volatile aromatic compounds that are responsible for its brightness — and those compounds degrade rapidly above 80°C. Boil your lime juice and you're left with tartaric acid and bitterness. The floral, fresh quality is gone.
Add the lime juice after the pot is off the burner, then stir and taste immediately. You'll notice the soup transforms — it goes from savory and flat to fully alive. That's the lime doing its job in a protected environment. The fish sauce goes in at the same moment for the same reason: you need to taste-adjust both together to find the sour-salty balance before it's set.
The Coconut Milk Variable
Full-fat coconut milk makes a richer, more restaurant-adjacent soup. Light coconut milk produces a cleaner broth where the lemongrass and lime read more clearly. Neither is wrong — they're different soups. What's always wrong is boiling either one. Coconut milk is a fat-water emulsion stabilized by proteins. Hard boiling breaks that emulsion, producing a greasy, separated broth with visible fat pools. Always add coconut milk after the active simmer, over reduced heat, and stir gently as it incorporates.
Equipment That Actually Matters
A heavy-bottomed pot is the only non-negotiable piece of equipment here. Thin pots create hot spots that scorch the aromatics in the first step and break the coconut milk emulsion in the last. A fine-mesh spider or slotted spoon makes quick work of removing the lemongrass pieces before serving — biting into a fibrous stalk of lemongrass is an unpleasant experience that no amount of flavor can redeem.
Everything else in this recipe is a function of attention. Tom Yum rewards cooks who taste constantly, adjust incrementally, and respect the sequence. Ignore the sequence and you have an expensive pot of mildly spiced broth. Follow it and you have one of the most distinctive soups in the world, made in 45 minutes, at home.
Where Beginners Mess This Up
Before we start, read this. These are the 4 reasons your authentic tom yum soup (the hot-and-sour blueprint) will fail:
- 1
Adding lime juice over heat: Lime juice contains volatile citrus oils that turn acrid and bitter when boiled. It must go in off-heat, at the very end. Every minute lime spends at a rolling boil strips out the bright, floral sourness and replaces it with harsh bitterness. Pull the pot, then add the lime.
- 2
Overcooking the shrimp: Shrimp need exactly 3-4 minutes in the hot broth — and they keep cooking from residual heat after you pull the pot. The moment they turn fully pink and opaque, you are done. Another 60 seconds and you have rubber erasers. Watch the shrimp, not the clock.
- 3
Skipping the aromatics simmer: Lemongrass and ginger are woody aromatics that need 5-7 minutes of low simmering to release their essential oils into the broth. If you add everything at once and rush to serving, the broth tastes like hot water with things floating in it. The simmer is where the flavor is built.
- 4
Boiling the coconut milk: Coconut milk is an emulsion. Hard boiling breaks it, producing a greasy, grainy broth with white fat pools on the surface. Add it after the main simmer, lower the heat, and stir gently. It should never see a full boil after it goes in.
The Video Reference Library
Want to see it in action? Here are the exact videos we analyzed and combined to build this foolproof recipe translation:
The reference video for this recipe. Strong technique on building the aromatic broth base and the critical off-heat lime addition that most Western adaptations miss.
🛠️ Core Equipment
- Large heavy-bottomed potEven heat distribution keeps the broth at a controlled simmer without scorching. A thin pot creates hot spots that overcook the shrimp and break the coconut milk emulsion.
- Fine-mesh spider or slotted spoonFor quickly removing lemongrass pieces before serving. Biting into a chunk of lemongrass is unpleasant — they must come out. A spider makes this fast.
- Microplane or sharp knifeFor peeling and slicing ginger cleanly. Thick-cut ginger chunks don't infuse as efficiently and create uneven texture in the finished soup.
Authentic Tom Yum Soup (The Hot-and-Sour Blueprint)
🛒 Ingredients
- ✦6 cups low-sodium vegetable or chicken broth
- ✦2 stalks fresh lemongrass, cut into 2-inch pieces and crushed
- ✦3 tablespoons fresh ginger, peeled and thinly sliced
- ✦3 medium shallots, thinly sliced
- ✦4 cloves garlic, minced
- ✦2-3 Thai red chilies, whole or sliced (adjust to heat preference)
- ✦8 oz mushrooms (cremini or oyster), quartered
- ✦12 oz large shrimp, peeled and deveined
- ✦2 cups cherry tomatoes, halved
- ✦3 tablespoons fresh lime juice
- ✦2 tablespoons fish sauce
- ✦1 tablespoon coconut oil
- ✦1 can (13.5 oz) coconut milk, light or full-fat
- ✦2 cups fresh spinach
- ✦1/4 cup fresh cilantro leaves, roughly chopped
- ✦2 green onions, white and light green parts, cut into 1-inch pieces
- ✦1 teaspoon honey (optional, for balance)
- ✦Sea salt and white pepper to taste
👨🍳 Instructions
01Step 1
Heat coconut oil in a large heavy-bottomed pot over medium-high heat until shimmering, about 1 minute.
02Step 2
Add the sliced shallots and cook, stirring frequently, until soft and translucent, about 3-4 minutes.
03Step 3
Stir in the minced garlic and sliced ginger. Cook for about 90 seconds until very fragrant.
04Step 4
Pour in the broth. Add the crushed lemongrass pieces and whole Thai chilies. Bring to a gentle boil.
05Step 5
Reduce heat to medium and simmer uncovered for 5-7 minutes to infuse the broth with lemongrass and ginger.
06Step 6
Add the quartered mushrooms and cook for 3 minutes until they begin to soften and release their moisture.
07Step 7
Stir in the cherry tomatoes and coconut milk. Reduce heat to medium-low — do not allow to boil. Fold in the shrimp and cook for 3-4 minutes until pink and opaque throughout.
08Step 8
Remove the pot from heat. Stir in the fresh lime juice and fish sauce. Taste and adjust — more lime for sour, more fish sauce for salty depth.
09Step 9
Add the fresh spinach and stir until fully wilted, about 1 minute from residual heat.
10Step 10
Taste and adjust seasoning with salt, white pepper, or additional lime as needed. Add honey if the heat or sourness needs balancing.
11Step 11
Remove and discard the lemongrass pieces. Ladle into bowls and garnish with fresh cilantro, green onions, and an extra chili slice if desired. Serve immediately.
Nutrition Per Serving
Estimates based on standard preparation. Adjustments alter macros.
🔄 Substitutions
Instead of Shrimp...
Use Firm tofu cubes or halibut
Tofu absorbs the broth beautifully if pressed dry first. Add it with the mushrooms rather than at the shrimp stage — it needs 5 minutes, not 3. Halibut follows the same timing as shrimp.
Instead of Fish sauce...
Use Tamari or coconut aminos plus 1 tablespoon white miso paste
Reduces sodium by 30-40% and keeps the soup gluten-free. The miso adds fermented depth that partially compensates for fish sauce's umami. Whisk the miso into a small amount of warm broth before adding so it doesn't clump.
Instead of Coconut milk...
Use Lite coconut milk or cashew cream
Lite coconut milk is the simplest swap — same flavor, 40% less fat, thinner body. Cashew cream (soaked cashews blended with water) produces a richer texture and works well if you need dairy-free and nut-based richness.
Instead of Cherry tomatoes...
Use Diced butternut squash or pumpkin
Adds sweetness and body as it breaks down into the broth. Increases cook time — add squash with the mushrooms and give it 6-7 minutes. Produces a slightly thicker, more golden broth.
🧊 Storage & Reheating
In the Fridge
Store the broth base (without shrimp) in an airtight container for up to 3 days. If shrimp is already in, consume within 24 hours — reheated overcooked shrimp is not recoverable.
In the Freezer
Freeze the broth base without shrimp or spinach for up to 2 months. Thaw overnight in the fridge and add fresh protein and greens when reheating.
Reheating Rules
Reheat broth gently over medium-low heat until steaming. Do not boil. Add fresh shrimp to the hot broth and cook 3-4 minutes. Finish with lime juice off heat before serving.
❓ Frequently Asked Questions
Why does my tom yum taste bitter?
Almost certainly the lime juice. Lime added while the soup is boiling or even simmering turns bitter within minutes. Always add lime off-heat, at the very end, just before serving. If you've already cooked it in, there's no fix — the bitterness is set. Start the next batch with this correction.
Can I use lemongrass paste instead of fresh?
In a pinch, yes. Use 1 tablespoon of lemongrass paste per stalk. The flavor is less bright and more uniform — you lose some of the aromatic top notes that fresh lemongrass provides. If using paste, add it with the garlic and ginger rather than the broth, so it blooms in the oil first.
Is tom yum supposed to have coconut milk?
There are two canonical versions. Tom Yum Goong Nam Sai is clear broth — no coconut milk. Tom Yum Goong Nam Khon is the creamy version with coconut milk or evaporated milk. This recipe uses coconut milk for richness, but you can skip it entirely for a lighter, more acidic soup.
How do I make it spicier?
Slice the chilies and include the seeds. Add a teaspoon of Thai chili paste (nam prik pao) with the shallots — it adds both heat and a smoky, slightly caramelized depth that fresh chilies alone don't provide.
Why did my coconut milk separate?
The heat was too high. Coconut milk is a fat-water emulsion that breaks above a hard simmer. Once it separates, it doesn't come back together. For the next batch, add coconut milk after reducing the heat to medium-low, and never let it reach a boil again after it's in the pot.
Can I use dried lemongrass?
Technically yes, but the result is significantly less fragrant. Fresh lemongrass contains volatile aromatic compounds that degrade during drying. Dried lemongrass produces a muted, slightly dusty flavor. If fresh is unavailable, frozen lemongrass stalks (found in most Asian grocery freezer sections) are a far better alternative than dried.
The Science of
Authentic Tom Yum Soup (The Hot-and-Sour Blueprint)
We turned everything on this page into a beautiful, flour-proof PDF cheat sheet. Print it out, stick it to your fridge, and never mess up your authentic tom yum soup (the hot-and-sour blueprint) again.
*We'll email you the high-res PDF instantly. No spam, just perfectly cooked meals.
AlmostChefs Editorial Team
We translate the internet's most popular cooking videos into foolproof, beginner-friendly written recipes. We analyze multiple methods, test them in our kitchen, and engineer a single "Master Recipe" that gives you the best possible result with the least possible stress.