clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Tofu tom yum soup with vegetables in green bowl with a spoon

Tom Yum Soup Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star 5 from 3 reviews
  • Author: Suwanee | Feasting at Home
  • Prep Time: 20
  • Cook Time: 20
  • Total Time: 40 minutes
  • Yield: 6 1x
  • Category: Soup
  • Method: Stove top
  • Cuisine: Thai
  • Diet: Vegetarian


Delicious and warming, Tom Yum Soup is a classic Thai soup that is best known for its clear, sour broth infused with lemongrass and galangal. Make this vegetarian with tofu, or add shrimp or chicken!


Units Scale
  • 10 oz crispy tofu, shrimp, or chicken breast
  • 4 cups veggie broth, chicken stock or beef stock
  • 1 cup water
  • 2 lemongrass stalks, cut into 34 inch pieces, smashed to release oils
  • 24 slices galangal, lightly smashed
  • 26 kaffir lime leaves, squeezed or roughly torn for extra release of oils and flavors.
  • 1/4 cup cilantro stems, cut into 1/2 inch pieces
  • 12 tablespoons Thai Chili Paste. Look for Thai Nam Prik Pao , or sub-red curry paste or Sambal Olek
  • 1 1/2 cups mushrooms, sliced in halves
  • 1 1/2 cups napa cabbage, sliced into 2-3 inch pieces
  • 1 1/2 cups bell peppers, sliced into 1 1/2 inch pieces
  • 1/2 cup shallot, sliced long and thin.
  • 1 Roma tomato, sliced into 1 1/2-inch pieces
  • 22 1/2 tablespoons fish sauce. Adjust with more at the end
  • 1/4 cup tamarind concentrate or lime juice.
  • 1 teaspoon sugar


  1. If making crispy tofu- cook according to this post: Crispy Tofu  (with salt and pepper) and set aside. Use firm tofu for this recipe to keep the tofu from breaking. If using chicken or other protein, wait to add it towards the end. See notes for chicken or shrimp. 

  2. Make the broth by combining stock, water lemongrass, galangal, kaffir leaves, and cilantro stems in a large soup pot. Bring everything to a boil on medium-high heat for around 10 minutes.

  3. Lower the heat to medium, add the Thai chili paste, fish sauce, and sugar, and stir well.

  4. Add the vegetables and let them cook for 5 minutes. (If using chicken or shrimp, add it now and cook until cooked through.)
  5. Add the tofu, tamarind (or lime juice)  last, and turn the heat off. Taste and adjust with more fish sauce or salt and lime juice.
  6. Serve immediately alone or with a small bowl of rice, rice noodles, a tasty baguette, or sourdough bread. Garnish with a generous amount of cilantro and more lime wedges!


  • If using chicken breast, thinly slice it (no more that 1/4 inch thick) and drop it in the soup broth raw, bring the broth to a simmer, chicken is done when opaque throughout- feel free to test a pieces. 
  • If using shrimp (peel and de-vein), drop it into the soup broth at the end,  they are done when opaque and form the letter “c”. If they turn into an “0” shape- they are overcooked (still edible of course) so watch carefully. 
  •  Make sure to add tamarind and lime juice at the very end, or your soup will turn bitter. When cooked too long at high heat, tamarind and lime juice will taste bitter and unpleasant in recipes. 
  • Thai Chili paste will add a spicy and sweet taste to your soup. Skip the sugar entirely if your chili paste adds enough sweetness to your soup. 


  • Serving Size: 1 cup
  • Calories: 175
  • Sugar: 8.5 g
  • Sodium: 1452.1 mg
  • Fat: 3.8 g
  • Saturated Fat: 0.5 g
  • Carbohydrates: 17.7 g
  • Fiber: 3.6 g
  • Protein: 9.2 g
  • Cholesterol: 0 mg