Soups & Stews
This basic hot and sour soup recipe delivers the perfect balance of tangy, spicy, and umami flavors in every bowl. The secret lies in a rich broth infused with mushrooms and aromatics, topped with crisp celery crowns that add refreshing crunch.
Whether you're vegetarian or incorporating tofu, this dish captures the soul of traditional Chinese cuisine while remaining approachable for home cooks.
The beauty of this soup is its flexibility—adjust the heat with chili oil, the sourness with vinegar, and the depth with soy sauce to suit your taste. A 30-minute simmer transforms simple ingredients into a vibrant, restaurant-quality dish that's equally satisfying as a light lunch or comforting dinner.
The key is patience: letting the flavors meld while maintaining that signature crisp texture from the celery crowns.
What makes this recipe stand out is how it harmonizes bold flavors without overwhelming the palate. The celery crown crunch cuts through the richness of the broth, while the mushroom base provides a satisfying umami foundation.
Each spoonful delivers a perfect marriage of tangy, spicy, and savory notes that will have you reaching for seconds.
Perfect for weeknight dinners or meal prep, this hot and sour soup adapts effortlessly to dietary preferences. Serve it as-is for a vegetarian version or add protein like tofu or shrimp for extra substance. The leftovers reheat beautifully, making it an ideal make-ahead dish for busy schedules.
Ingredients for basic hot and sour soup
Bold flavors start with these 15 vibrant ingredients—mushrooms for umami, celery for crunch, and spices to balance heat.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Shiitake Mushrooms 🍄 | 4 whole | Rehydrated in warm water |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Celery Stems 🧅 | 4 whole | For crisp crowns |
| Garlic Cloves 🧄 | 4 cloves | Minced for aromatic base |
| Fresh Ginger 🌿 | 1 tbsp | Grated, for zing |
| White Vinegar 🍶 | 2 tbsp | Adjust for tang |
| Light Soy Sauce 🥢 | 2 tbsp | For umami depth |
| Dark Soy Sauce 🥢 | 1 tbsp | For richer color |
| Sesame Oil 🫒 | 1 tbsp | Toasted for aroma |
| Chili Oil 🌶️ | 1 tbsp | Adjust for heat |
| Cornstarch 🌾 | 1 tbsp | For thickening |
| Green Onions 🧅 | 3 whole | Sliced for garnish |
| Vegetarian Tofu 🍲 | 8 oz | Firm, cubed optional |
| Salt 🧂 | 1 tsp | Kosher or sea |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The mushrooms are the unsung heroes here—shiitake delivers that deep, woodsy umami that elevates everything. Soak them in warm water for 20 minutes, then use that liquid in your broth for extra flavor. For the celery crowns, look for fresh, crisp stems—avoid any with brown spots. Trader Joe's and Whole Foods usually have the best selection. If you can't find shiitake, shiitake powder works in a pinch (just dissolve in the broth). The ginger and garlic? Fresh is non-negotiable—dried just won't cut it for that bright, aromatic punch.
No chili oil? Sriracha mixed with neutral oil is a solid swap, though it won't have that same silky texture. The vinegar is where you can get creative—rice vinegar adds a slightly sweeter tang, while apple cider vinegar brings fruity notes. For the tofu, extra-firm holds up best to the long simmer, but if you're adding it later, any firmness will work. The soy sauces are key: light soy for saltiness, dark for color. Pro tip: Toast your sesame oil in a dry pan for 30 seconds before adding—that nutty aroma is worth the extra minute.
This soup tastes even better the next day as the flavors meld. Store it in an airtight container for up to 5 days in the fridge. For freezing, portion it into single-serving containers—the celery crowns stay crisp longer if you freeze them separately and add them back when reheating. The tofu? Toss it in a little cornstarch before cooking so it stays intact when reheated. Leftovers reheat beautifully—just add a splash of water to restore that silky texture.
Why You'll Love This Recipe
- I’ll be real: I used to dread soaking dried shiitakes, but this recipe skips it. Just toss them straight into the simmering broth—they soften while everything else cooks, and you still get that deep, umami punch without extra steps.
- No-Soak Mushrooms: I’ll be real: I used to dread soaking dried shiitakes, but this recipe skips it. Just toss them straight into the simmering broth—they soften while everything else cooks, and you still get that deep, umami punch without extra steps.
- Umami Bomb: That first spoonful? Chef’s kiss. The shiitakes and ginger team up with garlic to create a savory depth that lingers. Honestly, it’s the kind of flavor that makes you pause mid-sip to actually taste your food again.
- Leftovers That Shine: This soup only gets better the next day—if it lasts that long. I’ve reheated mine for lunch three times and never once had a complaint. The broth thickens just enough, and the celery adds a fresh crunch that’s always welcome.
Step-by-step instructions for bold hot and sour soup
Here's how to build this vibrant, restaurant-quality soup with perfect balance and texture.
Rehydrate and Prepare the Shiitake Mushrooms
Place the 4 whole dried shiitake mushrooms in a heatproof bowl and cover with hot water (not boiling). Let them soak for 20 minutes until fully plump and tender. Drain, reserving the soaking liquid, then slice the mushrooms into ¼-inch thick pieces. The mushrooms should be flexible but still hold their shape—this ensures they absorb flavors beautifully without turning to mush.
In a small bowl, combine the reserved soaking liquid with 1 tablespoon cornstarch and whisk until smooth. This slurry will later help thicken the soup to that perfect silky consistency. Set aside—you'll use it in the final step to create that signature glossy finish.
Build the Aromatic Base
Heat 1 tablespoon sesame oil in a large pot over medium heat until shimmering. Add the 4 whole celery stems, sliced into ½-inch pieces, and cook for 3 minutes until they begin to soften and release their natural oils. Add the 4 cloves minced garlic and 1 tablespoon grated fresh ginger, cooking for another 1 minute until fragrant.
Here's where the magic happens: the celery should develop a subtle golden hue and the kitchen should fill with that unmistakable aromatic punch. If the garlic starts to brown too quickly, reduce the heat slightly—you want flavor, not bitterness. This base forms the soul of your soup, so take your time and let those aromatics develop fully.
Develop the Tangy-Savory Broth
Pour in the 4 cups vegetable broth and bring to a gentle simmer over medium-high heat. Add the sliced shiitake mushrooms, 2 tablespoons white vinegar, 2 tablespoons light soy sauce, and 1 tablespoon dark soy sauce. The vinegar will create that signature tang while the soy sauces build depth—this is where the soup's bold character emerges.
Simmer uncovered for 10 minutes, stirring occasionally. You'll notice the mushrooms release their umami-rich juices into the broth, creating a deeper, more complex flavor profile. The celery should soften but maintain some structure—this ensures that satisfying crunch when you take your first bite. Taste the broth now; it should be tangy with a touch of saltiness, but not yet fully balanced.
Incorporate the Tofu and Season
Cut the 8 oz vegetarian tofu into ½-inch cubes (or use pre-cubed tofu for convenience). Add them to the simmering broth along with 1 teaspoon salt and ½ teaspoon black pepper. Let the mixture simmer for another 5 minutes, allowing the tofu to absorb the flavors while maintaining its texture.
This is the moment to adjust seasoning. Taste the soup carefully—you want that perfect balance of tangy, savory, and slightly spicy. If it needs more acidity, add a splash of the white vinegar. For more depth, add a touch of dark soy sauce. The tofu should be heated through but still hold its shape—if it falls apart, reduce the simmer time slightly next time.
Finish with Crisp Celery Crowns and Signature Oils
Slice the remaining 4 whole celery stems into ¼-inch thick rounds (these will be your crisp crowns). Heat 1 tablespoon chili oil in a dry skillet over medium-high heat until shimmering. Add the celery rounds and cook for 1-2 minutes per side until golden brown and crisp. Remove and set aside on a paper towel-lined plate to drain excess oil.
Return the soup to a simmer and pour in the cornstarch slurry, whisking constantly for 1-2 minutes until the soup thickens to a glossy, velvety consistency. Stir in the 1 tablespoon sesame oil and 3 whole sliced green onions. The soup should coat the back of a spoon but still be light enough to sip easily. Ladle into bowls, top with the crisp celery crowns, and garnish with additional green onions.
Pro Tips For Making Basic Hot And Sour Soup
- SOAK MUSHROOMS LONG ENOUGH: Dried shiitakes need at least 20 minutes in hot water to plump properly—don’t rush this or they’ll stay tough and chewy. I learned this the hard way after biting into a rock-hard mushroom in my first batch.
- PULSE GINGER FINELY: Use a microplane or food processor to get ginger into a paste, not just chunks. This guarantees even distribution and prevents that one bitter chunk ruining the whole bowl.
- SIMMER, DON’T BOIL: Keep the broth at a gentle simmer after adding vinegar—boiling makes it taste harsh. After adding acid, lower heat and let it mellow for 2-3 minutes.
- SALT THE BROTH LAST: Add salt after everything else is in, or you’ll dull the bright flavors of garlic and ginger. Taste as you go—hot and sour soup needs balance, not a salty aftertaste.
Flavor customization for basic hot and sour soup
Spice Level Control
Adjust the heat to your preference using chili oil or Sichuan peppercorn oil. For mild heat, use 1 teaspoon of chili oil and add it at the end. For medium spice, increase to 1 tablespoon and stir it in during the final simmer.
If you love heat, add ½ teaspoon of crushed red pepper flakes along with the chili oil. I find that Lao Gan Ma chili crisp adds a smoky depth that works beautifully in this soup. 🌶️
Sourness Balance
The white vinegar provides the signature tang, but you can experiment with alternatives. For a sweeter tang, replace 1 tablespoon of white vinegar with 1 tablespoon rice vinegar. If you prefer a fruity note, swap it for apple cider vinegar.
For extra sourness, add ½ teaspoon of lemon zest at the end. Always taste as you go—this soup should be tangy but never overpowering.
Umami Boost Options
Deep umami flavor is key, and mushrooms are your best friend. For extra richness, add 1 tablespoon of mushroom powder (like Anthony's Goods) to the broth. Another trick? Stir in 1 teaspoon of fish sauce (if not vegetarian) or 1 teaspoon of soy sauce during the final simmer.
For a smoky depth, add ½ teaspoon of smoked paprika when building the aromatic base. The goal is to layer those savory notes without making the soup heavy.
Texture Variations
Want extra crunch? Add ½ cup of thinly sliced water chestnuts or jicama to the broth during the final 5 minutes of simmering. For a creamier texture, stir in 2 tablespoons of coconut milk at the end.
If you prefer a lighter soup, reduce the cornstarch to ½ tablespoon for a thinner consistency. The celery crowns should always remain crisp—never overcook them, or they’ll turn mushy. ✨
Protein Swaps
This soup is naturally vegetarian, but you can easily add protein. For a vegan option, use extra-firm tofu or tempeh (marinate in 1 tablespoon soy sauce first).
If you’re not vegetarian, add 4 oz of shrimp (cook separately and add at the end) or 2 oz of chicken breast (poach and slice). For a plant-based twist, try king oyster mushrooms—they hold up well and add a meaty texture.
Always add protein in the final 5 minutes of cooking to keep it tender.
Garnish Ideas
Fresh herbs and textures elevate this soup. Top with cilantro for brightness or thinly sliced scallions for a mild onion flavor. For extra crunch, add toasted sesame seeds or crushed peanuts. A drizzle of chili oil or a sprinkle of furikake (Japanese seasoning) adds an unexpected but delicious twist.
I love finishing with a lime wedge on the side—squeezing a little over each bowl adds a refreshing zing. 💫
Nutrition facts
Frequently asked questions
What makes this hot and sour soup different from other Asian soups?
The signature balance of tangy vinegar, spicy chili oil, and umami-rich mushrooms sets it apart. Unlike miso or pho, this soup relies on a crisp celery crown topping that adds refreshing texture, while the broth stays light yet deeply flavorful through careful seasoning with both light and dark soy sauces.
Can I make this soup without dried shiitake mushrooms?
Yes! Use 2 cups fresh shiitake mushrooms (sliced) or 1 tablespoon shiitake powder dissolved in the broth. For extra umami, add 1 teaspoon fish sauce (if not vegetarian) or an additional ½ teaspoon soy sauce. The texture will be slightly different but still delicious.
How do I keep the celery crowns crispy when serving?
Cook them in chili oil for just 1-2 minutes per side until golden, then drain on paper towels. Add them to bowls immediately after serving to maintain crispness. For extra insurance, keep them warm in a 200°F oven while serving the soup. Overcooking turns them soggy!
Is this soup spicy? Can I adjust the heat?
It has mild heat from 1 tablespoon chili oil, but you can easily adjust: reduce to 1 teaspoon for mild, or add ½ teaspoon crushed red pepper for extra kick. For smoky heat, swap in Sichuan peppercorn oil. Always taste before serving!
Can I make this soup ahead of time?
Store the soup (without celery crowns) in an airtight container for up to 5 days in the fridge. Reheat gently, then crisp fresh celery crowns separately before serving. For freezing, portion into containers and freeze the broth separately from the tofu—this preserves texture better. Thaw overnight in the fridge.
