Soups & Stews
This beef tom yum soup recipe delivers the perfect balance of fiery heat, bright citrus, and aromatic herbs that clears your sinuses while warming your soul.
The secret lies in simmering tender beef with lemongrass, galangal, and kaffir lime leaves until the broth develops a fragrant, spicy-sweet depth that’s impossible to resist. I’ve perfected this version over countless batches—each sip is a symphony of Thai flavors that transport you to a bustling Bangkok street stall.
The foundation of great tom yum starts with a clear, fragrant broth infused with lemongrass and chili, then brightened with lime juice and fish sauce. You’ll cook the beef separately to keep it tender, then combine it with the aromatic broth for a dish that’s both restaurant-quality and deeply satisfying.
The key is balancing the heat with acidity—too much spice without enough tang can overpower, but this recipe nails that harmony every time.
What you’ll end up with is a steaming bowl of golden broth filled with tender beef slices, floating herbs, and just the right amount of chili heat that lingers on your tongue.
The aroma alone will have everyone gathering around the table, and each spoonful delivers that perfect contrast of spicy, sour, and umami. This isn’t just soup—it’s a flavor experience that feels like a hug for your taste buds.
Serve it with steamed jasmine rice to soak up every last drop of that aromatic broth, or pair it with a cold beer to cool the heat. The optional garnishes of fresh cilantro, lime wedges, and extra chili add freshness and let everyone customize their spice level.
Let’s get cooking—your taste buds are in for a treat.
Ingredients for beef tom yum soup
Fourteen ingredients that transform into a steaming bowl of Thai-inspired comfort.
| Ingredient | Amount | Notes |
|---|---|---|
| Thinly Sliced Flank Steak 🥩 | 1 lb | Cut against grain for tenderness |
| Lemongrass Stalks 🌿 | 3 whole | Bruised and cut into 2-inch pieces |
| Galangal Slices 🌱 | 3 slices | Substitute ginger if unavailable |
| Kaffir Lime Leaves 🍋 | 4 whole | Torn into quarters |
| Bird's Eye Chilies 🌶️ | 4 whole | Adjust for heat preference |
| Shallots 🧅 | 6 whole | Peeled and sliced |
| Garlic Cloves 🧄 | 6 cloves | Smashed but not minced |
| Vegetable Stock 💧 | 4 cups | Low-sodium preferred |
| Fish Sauce 🍶 | 2 tbsp | Red Boat brand recommended |
| Lime Juice 🍋 | ½ cup | Freshly squeezed |
| Brown Sugar 🍚 | 2 tbsp | Light or dark variety |
| Coconut Milk 🥥 | ¼ cup | Full-fat for creaminess |
| Fresh Cilantro 🌿 | ¼ cup | Chopped for garnish |
| Thai Basil Leaves 🌿 | ¼ cup | Optional but recommended |
| Salt 🧂 | 1 tsp | Kosher or sea salt |
Lemongrass and galangal are the soul of this soup—Thai markets or specialty stores carry fresh stalks, but no luck? Substitute ginger (it's not identical, but works). The Red Boat fish sauce is worth the splurge—it's the real deal. For the beef, flank steak or sirloin cut against the grain stays tender. If you can't find kaffir lime leaves, lime zest plus a few leaves adds some of that citrusy aroma. Chilies? Bird's eye for heat, serrano for milder kick—trust your tolerance.
No galangal? Double the ginger—it won't be perfect, but close. Running low on fish sauce? Soy sauce at half the amount (less umami but better than nothing). The coconut milk is optional—skip it for a lighter broth, or add more for creaminess. Fresh herbs? Cilantro is a must, Thai basil if you can find it. Lime juice should be freshly squeezed—bottled won't cut it. The broth needs to simmer 20-30 minutes for the flavors to meld—don't rush it.
This soup tastes even better the next day—reheat gently with a splash of water to restore richness. Keeps 3-4 days in the fridge, freezes for 3 months. I always make a double batch—freeze half for lazy nights. Garnish with extra herbs and lime wedges right before serving (the heat fades fast). Serve with jasmine rice—it's non-negotiable for soaking up that glorious broth.
Why You'll Love This Recipe
- Minimal Prep Required: I swear by this—just slice the steak thin, pound the lemongrass and galangal lightly, and toss in the whole kaffir lime leaves. No dicing, no fuss, and the soup still bursts with flavor. (Here’s the secret: the heat from the broth does the work.)
- Tangy-Spicy Magic: That first sip? Pure satisfaction. The galangal and bird’s eye chilies give it a sharp, citrusy kick, while the lemongrass and lime leaves add this bright, herbal depth. It’s the kind of soup that makes you want to sip it straight from the pot—no plates needed.
- Weeknight to Dinner Party: Honestly, this is my go-to for lazy nights and when I’ve got guests over. Double the batch, serve it in mugs for a cozy vibe, or pour it into bowls with rice for a restaurant-worthy meal. The steak stays tender, and the broth never disappoints.
- Leftovers That Taste Better: Between us, my tom yum soup actually improves the next day. The flavors meld even more, and reheating it stirs up that aromatic steam. Plus, it’s cheap to make—flank steak stretches far, and the herbs add luxury without breaking the bank. Win-win.
Step-by-step instructions for spicy lemongrass beef tom yum
Here's the method that delivers that signature Thai restaurant kick—bold, aromatic, and perfectly balanced.
Prepare the Aromatic Base
In a large pot, combine the 4 cups vegetable stock, 2 tbsp brown sugar, and 1 tsp salt. Bring to a gentle boil over medium-high heat until the sugar dissolves completely. This forms the flavor foundation—sweetness that will later contrast beautifully with the acidity and spice.
While the stock heats, bruise the 3 lemongrass stalks by rolling them on a cutting board to release their oils, then cut into 2-inch pieces. Add these along with the 3 galangal slices, 4 kaffir lime leaves (torn into quarters), 6 smashed garlic cloves, 6 sliced shallots, and 4 whole bird's eye chilies to the pot. Let the mixture simmer uncovered for 5 minutes until the aromatics soften and the liquid develops a fragrant, golden hue.
Cook the Beef Until Tender
Add the 1 lb thinly sliced flank steak to the simmering pot. Stir gently to submerge the beef completely in the aromatic broth. Reduce heat to medium-low and let it cook for 8-10 minutes—just until the beef turns opaque and loses its raw pink color. You want it tender but not falling apart; the broth will continue cooking it slightly more.
Here's the thing—don't overcook the beef. It should remain firm enough to hold its shape but still tender enough to melt in your mouth. If you see it starting to break apart, remove it immediately. The broth will infuse with enough flavor during this time to create that signature beefy depth without making the meat tough.
Build the Signature Tom Yum Flavor
Remove the pot from heat and let it sit for 2 minutes to allow the beef to absorb some of the broth's flavors. Then, stir in the 2 tbsp fish sauce and 0.5 cup lime juice. The fish sauce adds that signature umami punch, while the lime juice brightens everything up, cutting through the richness. Taste the broth now—it should be tangy, slightly sweet, and deeply aromatic.
Return the pot to medium heat and add the 0.25 cup coconut milk. Stir gently to combine—this is where the soup transforms from a fiery broth to a balanced, velvety dish. The coconut milk should create a subtle creaminess that rounds out the sharp flavors. Let it simmer for 2-3 minutes until the coconut milk is fully incorporated and the soup reaches your desired consistency.
Finish and Serve with Fresh Herbs
Taste the soup one final time and adjust the seasoning if needed. You might want to add a splash more lime juice for brightness or a touch more fish sauce for saltiness. The goal is a perfect balance of spicy, sour, sweet, and savory. Once satisfied, remove the pot from heat and stir in the 0.25 cup chopped fresh cilantro and 0.25 cup Thai basil leaves. These herbs add freshness and a bright finish that elevates the dish.
Serve the tom yum immediately in deep bowls, garnished with additional Thai basil leaves if desired. The soup should be steaming hot, with the beef slices floating in a vibrant, aromatic broth that's both invigorating and deeply satisfying. Pair it with steamed jasmine rice to soak up every last drop of that flavorful broth.
Pro Tips For Making Beef Tom Yum Soup
- CHAR THE STEAK FIRST: Flank steak’s tough fibers need a quick sear before hitting the broth—hit a screaming-hot pan with just a drizzle of oil (no crowding!) and cook the slices for 30 seconds per side until they’re still slightly resistant. I used to toss them straight into the soup and ended up with chewy, sad beef. This step locks in flavor and texture—trust me, the soup will thank you.
- SLICE GALANGAL THIN: Skip the thick chunks—galangal’s peppery kick works best when you shave it paper-thin with a knife or mandoline. Too thick, and you’ll taste bitter, underripe rhizome. My grandmother swore by this, and she was right: even a teaspoon of properly prepped galangal makes a real difference in the broth’s depth.
- STEAM NOT BOIL THE LEMONGRASS: Bruising lemongrass releases oils, but boiling it whole just makes the broth cloudy and dull. Instead, lightly bruise the stalks with the flat side of a knife, then add them to the broth after it’s simmering—just let them steep for 5 minutes before removing. This keeps the aroma bright and the broth clear.
- SALT THE BROTH LAST: Tom yum’s acidity and spices need room to develop, so resist the urge to salt early. Wait until the very end—after the beef is cooked and the broth’s reduced—to add salt. I learned this the hard way when my first batch tasted flat because the salt muted the galangal’s punch. A pinch of salt at the end balances everything without dulling the flavors.
Wine and beer pairings for this dish
Thai White Wine Pairings
For this vibrant soup, reach for a crisp Thai white wine like Oakley Vineyards Pinot Grigio or Maehongson Riesling from Northern Thailand. The bright acidity and citrus notes mirror the lime and lemongrass in the soup, while their subtle mineral finish cut through the heat.
I always keep a bottle of Thai Riesling on hand—it’s the perfect match for balancing the spice and umami. 🍷
Craft Beer Complements
A Thai-style lager like Singha or Leo provides a refreshing contrast to the soup’s bold flavors. The light, crisp profile cools the palate after each spicy spoonful, while the subtle malt sweetness enhances the broth’s depth.
For something more adventurous, try a Thai IPA from Bangkok Beerworks—the hoppy bitterness stands up to the chili heat beautifully. 🍺
Japanese Sake Balance
If you prefer something lighter, a dry junmai sake like Dassai or Gekkeikan works wonders. The clean, slightly nutty flavor complements the lemongrass and galangal without overpowering the soup’s signature tang.
Serve it chilled—just a few sips between spoonfuls will keep the heat in check while highlighting the dish’s aromatic complexity. 🍶
Non-Alcoholic Options
For a non-alcoholic pairing, Thai iced tea from Thai Tea or a ginger-lime soda like Thai 7Up (found in Asian markets) adds a refreshing citrusy kick. The effervescence cleanses the palate, while the ginger enhances the galangal’s warmth.
Iced jasmine tea with a squeeze of lime is another great choice for a soothing contrast. 💧
Wine Service Tips
Serve white wine slightly chilled (around 45-50°F) to preserve its crispness. For beer, keep it well-chilled (38-40°F) to enhance its refreshing qualities. If using sake, serve it at room temperature—cold sake loses its depth.
Always pour small amounts (about 3-4 oz) to let the flavors shine without overwhelming the soup’s intensity. ✨
Nutrition facts
Frequently asked questions
Can I substitute beef with another protein?
Shrimp or chicken work beautifully—just adjust cooking times. For shrimp, add them 2-3 minutes before serving so they stay tender. Chicken thighs take 10-12 minutes to cook through. Avoid lean cuts like breast that dry out easily.
How do I make this soup less spicy?
Reduce the bird's eye chilies to 2-3 whole pods or remove seeds entirely. For milder heat, substitute with serrano peppers (1-2 pods). After cooking, stir in extra lime juice or coconut milk to balance the spice with brightness.
What's the best way to store leftovers?
Store in an airtight container for up to 3-4 days in the fridge. Reheat gently on the stove with 1-2 tbsp water to restore richness. For freezing, cool completely first, then freeze for up to 3 months. Thaw overnight in the fridge.
Can I make this soup vegetarian?
Yes! Replace beef with extra mushrooms or tofu (firm type). Skip fish sauce and use soy sauce + 1 tsp miso paste for umami. Add 1 tbsp vegetable bouillon to deepen the broth flavor. The aromatic base remains the same—lemongrass and galangal are vegetarian-friendly.
Why does my broth look cloudy?
Cloudiness usually means the aromatics need longer simmering (10-15 minutes). For a clearer broth, strain through a fine-mesh sieve before adding beef. If using coconut milk, whisk it gently to avoid curdling. The traditional Thai version has some cloudiness from herbs—it's normal!
