Skip to content

Get 5 Secrets to Make Homemade Taste Food Better + New Recipes Weekly!

    Tom Yum Recipe (Spicy Creamy Thai Shrimp Soup)

    This post may contain affiliate links. Please read my disclosure policy.

    This Tom Yum Recipe is a takeout-worthy Thai soup made in one pot in under 30 minutes. It’s perfect for spice lovers who are craving something cozy and comforting without feeling heavy. I love to make it with shrimp, but it’s easy to customize with your favorite protein.

    Bowl of Tom Yum Soup with shrimp on top

    I’m the self-proclaimed world’s biggest soup fan and will often make the time to get in the kitchen to play with soup recipes from around the world. From Greek Avgolemono Soup to Carne en su Jugo, there’s always something new to try.

    Tom Yum Soup

    Tom yum is Thailand’s national soup, and for good reason. This iconic Thai dish is celebrated for its bright, spicy, and aromatic broth, traditionally made with simple ingredients like shrimp, wild mushrooms, chile peppers, and herbs. I make it every time I want something satisfying and comfortably spicy, though you can make it as mild or as fiery as you like.

    My recipe is made with shrimp (Tom Yum Goong), but you can easily swap it for the protein of your choice. Chicken, tofu, or other seafood all work. The layers of aromatic flavors in the broth are the true stars of this soup. 

    There are two types of tom yum: clear and creamy. This creamy version uses evaporated milk, adding a richness I’m completely obsessed with. The evaporated milk doesn’t add much flavor (that’s why I combined it with Thai chili paste), but it just makes the soup that much more satisfying. When I was shooting the video for this recipe, my videographer and I devoured it over 2 days.

    Ingredients and Substitutions

    Tom yum soup ingredients
    • Oil – Any neutral-flavored oil will work.
    • Mushrooms – I used a mix of oyster, enoki, and shiitake mushrooms.
    • Stock – I prefer a blend of shrimp and chicken stock, but you can use either.
    • Aromatics – Sautéed shallots, lemongrass, ginger, cilantro, and lime leaves bring the bright, citrusy notes that make authentic tom yum famous. If you need a substitute for lime leaves, use thin strips of lime peels instead.
    • Fish Sauce – I only used a couple of tablespoons to build on the salty-savory flavors. You can substitute soy sauce here, but nothing truly replaces good fish sauce.
    • Chile – I ground a serrano chile with a mortar and pestle to distribute the heat evenly. Technically, Thai bird chiles are more authentic, but I prefer the serrano’s milder heat.
    • Chili Paste – Thai chili paste is a little more complex than my usual favorite, sambal oelek. 
    • Evaporated Milk – It’s what makes this a creamy tom yum soup recipe.
    • Shrimp – I prefer 16/20 size because they stay plump and juicy. If you’re not a fan of shrimp, make this with any of the substitutions below.
    • Limes – Freshly squeezed lime juice adds a great tangy finish.
    • Cilantro – I stirred in a big bunch of fresh cilantro leaves at the end.
    • Seasonings – I rounded out the flavors with salt and pepper.

    Shrimp Substitutions

    My family isn’t big on shrimp, which is why I’ve tested this soup with lots of other proteins:

    • Chicken (Tom Yum Gai) – I’ll sear thinly sliced chicken breasts or thighs before stirring them into the soup. 
    • Tofu – Sear cubes of extra-firm tofu in a hot oiled pan until golden on all sides, then stir them into the soup. 
    • Seafood – Swap the shrimp for thinly sliced white fish, scallops, squid rings, mussels, or clams.

    How to Make Tom Yum with Shrimp

    Sauté the mushrooms: I start by sautéing the mushrooms in a large pot until they’re deeply browned. This step isn’t traditional, but browning builds layers of umami you simply can’t get from boiling.

    close up of Browned mushrooms in a pot

    Brown the shallots: Next, I add the sliced shallots and continue sautéing. Again, not a traditional step, but I’m firmly on Team Roasted Vegetables (I’m not a fan of mushy boiled veggies).

    roasting shallots for tom yum

    Build the broth: I deglaze the pot with shrimp stock, scraping up all those tasty golden bits stuck to the bottom. Then, I add the chicken stock, lemongrass, ginger, cilantro stems, lime leaves, fish sauce, Thai chili paste, and a pinch of salt and pepper.

    Close up of Ingredients added in a pot

    Poach the shrimp: I stir the soup and heat it to a gentle simmer. Next, I lower the heat, add the shrimp, and simmer until they turn pink. 

    Stirring shrimp into the soup

    Finish the soup: Once the shrimp are cooked, I stir in the evaporated milk, ground serrano chile, fresh lime juice, and cilantro leaves. I adjust the seasonings to taste before ladling the soup into bowls and serving. 

    Large pot of soup garnished with chopped green cilantro leaves
    Chef Billy Parisi

    Chef Tip + Notes

    Making great tom yum goong is all about hitting that perfect balance of slightly spicy, tangy, and salty flavors. The way to do this? Taste and adjust as you go. While the soup is simmering, I’m usually tasting it and adding more evaporated milk or stock to tone down the heat, fish sauce if it’s too sour, or lime juice or a splash of water to balance the saltiness.

    • Bring out the flavor: I like my tom yum super aromatic, which is why I always smash the lemongrass to release its oils and fold the lime leaves in half and tear them along the center vein to unlock their full aroma.
    • Perfect shrimp: When poaching shrimp in the soup, I keep the heat low and remove the soup from the heat as soon as they turn opaque and curl into a loose “C” shape.
    • Too spicy? Reduce the spice by removing the seeds and membranes from the serrano before grinding it.
    • If you like heat, grind the whole serrano pepper, seeds and all. You can also garnish your bowl of soup with a drizzle of sriracha, chili garlic sauce, or chili crisp.
    • Clear tom yum: Omit the evaporated milk and Thai chili paste to make classic tom yum nam sai (the clearer, brothier version).

    Serving Suggestions 

    I almost always enjoy this Thai shrimp soup alongside steamed jasmine rice and a Thai-style omelet (Kai Jeow). Nothing fancy, just everyday Thai favorites. 

    If you want to turn this into a full Thai-inspired feast, I recommend pairing the soup with Thai drunken noodles (Pad Dee Mao) and a papaya salad (Som Tum) for a lively mix of textures and flavors. A plate of shrimp spring rolls or chicken satay with peanut sauce also fits right in.

    Make-Ahead and Storage

    Make-ahead: If I want to get a head start on this soup, I’ll make the broth and refrigerate it for 3 days or freeze it for 3 months before serving. This makes it quick and easy to reheat and combine with freshly cooked shrimp.

    How to Store: Leftover tom yum shrimp soup will keep for up to 2 days in the fridge. I usually store the broth and shrimp separately if I plan to save the leftovers.

    How to Reheat: I prefer to warm up tom yum on the stovetop until it’s just heated through. Add a squeeze of lime and a splash of fish sauce right before serving. 

    More Asian-Inspired Recipes 

    Let's Cook - Chef Billy Parisi

    Tom Yum Recipe (Spicy Creamy Thai Shrimp Soup)

    This takeout-worthy, one-pot Tom Yum Soup comes together in 30 minutes and delivers a bright and spicy Thai broth that’s easily customizable.
    Servings: 6
    Prep Time: 25 minutes
    Cook Time: 30 minutes

    Ingredients 

    • 6 tablespoons neutral-flavored cooking oil
    • 4 ounces oyster mushrooms, torn by hand
    • 4 ounces enoki mushrooms, stem cluster removed
    • 4 ounces stemmed shiitake mushrooms, julienned
    • 10 small shallots, peeled
    • 5 cups shrimp stock
    • 3 cups chicken stock
    • 2 pieces lemon grass, smashed and cut into 2-inch-long pieces
    • 2 inch piece of ginger, peeled, thinly sliced
    • 20 cilantro stems, cut into 1/2” inch pieces
    • 2 lime leaves
    • 1 tablespoon fish sauce
    • 1 serrano chile, ground using a mortar and pestle
    • 2 tablespoons Thai chilli paste
    • 12 ounces evaporated milk
    • 1 ½ pounds 16/20 shrimp, peeled and deveined
    • Juice of 2 limes, about 3 tablespoons of juice
    • ¼ cup minced fresh cilantro leaves
    • salt and pepper to taste

    Instructions

    • In a large pot, add 4 tablespoons of cooking oil and heat over medium-high heat until it begins to smoke.
    • Next, add the mushrooms, season them lightly with salt, and sauté for 3 to 4 minutes, or until they begin to brown.
    • Then add in the shallots and saute for a further 3 to 4 minutes to also brown them.
    • Then, deglaze with the shrimp stock and add the chicken stock, lemongrass, ginger, cilantro stems, lime leaves, fish sauce, Thai chili paste, salt, and pepper. Stir to combine.
    • Then, over low to medium heat, add the shrimp and cook just until they’re cooked through. They should be in a loose C shape.
    • Once they’re cooked, finish with the evaporated milk, ground serrano chile, lime juice, and cilantro leaves. Adjust the heat level by adding more chiles.
    • Serve with rice and omelette on the side.

    Notes

    Making great tom yum goong is all about hitting that perfect balance of slightly spicy, tangy, and salty flavors. The way to do this? Taste and adjust as you go. While the soup is simmering, I’m usually tasting it and adding more evaporated milk or stock to tone down the heat, fish sauce if it’s too sour, or lime juice or a splash of water to balance the saltiness.
    Bring out the flavor: I like my tom yum to be super aromatic, which is why I always smash the lemongrass to release its oils and fold the lime leaves in half and tear them along the center vein to unlock their full aroma.
    Perfect shrimp: When poaching the shrimp in the soup, I keep the heat low and remove the soup from the heat as soon as they turn opaque and curl into a loose “C” shape.
    Too spicy? Reduce the spice by removing the seeds and membranes from the serrano before grinding it.
    If you like heat, grind the whole serrano pepper, seeds and all. You can also garnish your bowl of soup with a drizzle of sriracha, chili garlic sauce, or chili crisp.
    Clear tom yum: You can omit the evaporated milk and Thai chili paste to make classic tom yum nam sai (the clearer, brothier version).
    Make-ahead: If I want to get a head start on this soup, I’ll make the broth and refrigerate it for 3 days or freeze it for 3 months before serving. This makes it quick and easy to reheat and combine with freshly cooked shrimp.
    How to Store: Leftover tom yum shrimp soup will keep for up to 2 days in the fridge. I usually store the broth and shrimp separately if I plan to save the leftovers.
    How to Reheat: I prefer to warm up tom yum on the stovetop until it’s just heated through. Add a squeeze of lime and a splash of fish sauce right before serving. 

    Nutrition

    Calories: 433kcalCarbohydrates: 24gProtein: 37gFat: 22gSaturated Fat: 4gPolyunsaturated Fat: 5gMonounsaturated Fat: 11gTrans Fat: 0.1gCholesterol: 203mgSodium: 1264mgPotassium: 1198mgFiber: 3gSugar: 12gVitamin A: 673IUVitamin C: 8mgCalcium: 309mgIron: 3mg
    Course: Soup
    Cuisine: Thai

    Share this Post

    free email series

    From Good to Great: 5 Days of Better Meals in 2026

    Easy ideas to break your boring breakfast streak!

    Close the CTA
    Chef Billy Parisi