
Hot and sour soup is an authentic Chinese soup with a long history, built around a spicy and sour broth filled with mushrooms, tofu, and silky eggs that is warming, satisfying, and savory. I can assure you my recipe is not Western Chinese takeout or a watered down version, but a home style soup, like my egg drop soup that brings restaurant flavor into my own kitchen.
I love how this recipe comes together nicely because every ingredient I use has a clear role, from the mushrooms adding earthiness to the tofu bringing softness and the eggs creating a silky texture I love. If you have been following me for a while, you know I grew up eating bowls of soup like this with my family, so adding this restaurant style soup to my collection of authentic Chinese soup recipes was really important to me.
After years of cooking Chinese food for my family and guiding home cooks, this hot and sour soup has become one of my favorites because it is ready in just 30 minutes, if you soak your dried ingredients in advance. In this post, I walk you through each step and share simple ingredient swaps so it stays easy, flexible, and perfect for busy days at home.

Ingredients
Since my goal was to create a proper restaurant style hot and sour soup recipe, I use all the ingredients listed below, but the good news is that you can easily substitute them with my recommendations and still enjoy a comforting bowl of soup at home.

The soup base
Top key ingredients: vinegar and pepper
I use Chinkiang vinegar and white pepper to create the classic hot and sour balance that comes from a Northern Chinese style soup I ate growing up. These two ingredients define the character of the soup.
- Protein: I use pork tenderloin most often, but chicken breast works just as well.
- Aromatics: I cook ginger and green onions first to build a savory base.
- Seasonings: I rely on salt and cornstarch to season and lightly thicken the broth.
- Broth and soaking liquid: I use chicken stock along with lily flower soaking liquid.
- Tofu: I use firm tofu so it stays firm while cooking, but you can also use soft or medium tofu for its nice silky texture.
- Soy sauce and wine: I add light soy sauce and Shaoxing wine for savory flavor.
- Eggs: I pour in beaten eggs at the end to create silky ribbons. This gives the soup its signature texture.
- Finishing oils: I finish with toasted sesame oil, but I also recommend chili oil. Either one adds a final layer of flavor to the bowl.
Dried ingredients
My recipe uses a few dried ingredients listed below that may require a trip to an Asian market or an online order, and they are important for creating authentic flavor. I strongly recommend using them for the best result, but if you prefer to skip them, you still can, just keep in mind the soup will not have the same traditional taste.

Dried lily flowers: I use dried lily flowers because they add deep savory flavor with earthy and woody notes. I always save the soaking liquid and use it in the soup base.
Dried shiitake mushrooms: I rely on dried shiitake mushrooms for their smoky, concentrated flavor. The soaking liquid is full of umami and works as a natural vegan stock.
Wood ear mushrooms: I add wood ear mushrooms for their mild taste and crunchy texture.
How to make
1. Rehydrate the dried ingredients: Rinse the dried shiitake mushrooms, dried wood ear mushrooms, and dried lily flowers under running water. Place each ingredient in a separate bowl, cover with warm water, and soak for 30 minutes to 1 hour until tender.
The best way to rehydrate dried ingredients
When I plan to make my soup, I usually soak the dried ingredients in cold tap water a few hours ahead when I can. It takes longer to soak if using cold water, but the ingredients rehydrate without losing their fragrance. When I’m short on time, I use lukewarm water that is about skin temperature or a little hotter if I want to speed up things. But remember, do not use boiling water or very hot water for soaking, since it slightly cooks the ingredients and cause them to lose a lot of flavor.
2. Prepare the mushrooms: Slice the rehydrated shiitake mushrooms into thin strips. If your mushroom comes with the stem, remove and discard the stem because it’s very chewy.

3. Handle the lily flowers: Trim and discard the tough ends of the lily flowers, then cut them in half lengthwise. Reserve 2 cups of the soaking water for the soup.

4. Cut the wood ear mushrooms: Remove any tough ends from the wood ear mushrooms, then chop them into bite sized pieces.

5. Marinate the pork: Combine the pork, Shaoxing wine, salt, and cornstarch in a bowl. Mix well by hand and marinate for 10 to 15 minutes.
6. Mix the vinegar base: In a small bowl, combine the Chinkiang vinegar and white pepper. Stir until the pepper is fully dissolved, then set aside.
7. Build the soup base: Add the chicken stock, reserved lily flower soaking water, ginger, and the white parts of the green onion to a pot and heat over medium high heat. Add the rehydrated wood ear mushrooms, shiitake mushrooms, lily flowers, and tofu, cook until the soup reaches a simmer, then add the soy sauce and reduce the heat to medium low.

8. Thicken the soup: In a small bowl, mix the cornstarch with 1 quarter cup of water until fully dissolved. Slowly swirl the slurry into the soup while stirring, then continue stirring until the soup thickens.

9. Cook the pork: Add the marinated pork to the soup, stirring several times to separate the strips and keep them from sticking together.

10. Add the eggs: Slowly drizzle in the beaten egg while stirring the soup in a circular motion using chopsticks or a fork. Let the egg sit for about 20 seconds to set, then stir lightly to separate the egg ribbons.

11. Finish the soup: Turn off the heat and add the vinegar and pepper mixture, then stir to combine. Season with salt to taste, garnish with the green parts of the green onion, drizzle with sesame oil, give the soup a final stir, and serve hot.

My cooking notes
When making this hot and sour soup, it is important to add the Chinkiang vinegar and white pepper at the very end of cooking. If they are added too early, the vinegar loses its clean sourness as it evaporates, and the white pepper can turn bitter from prolonged heat, which throws off the balance of the soup. Trust me, you don’t want that!
Other tips to consider:
- Use dried ingredients when possible: Dried lily flowers, dried shiitake mushrooms, and wood ear mushrooms add depth that fresh ingredients can not match.
- Slice everything same size: Cutting the mushrooms, tofu, and pork into similar sizes helps them cook at the same rate.
- Thicken the soup slowly: I swirl the cornstarch slurry in gradually while stirring. This prevents lumps and gives the soup a smooth glossy texture.

How to serve
At home, I serve this hot and sour soup the authentic way, straight from the pot and shared at the table alongside any Chinese rice recipes. When my family wants a fuller spread, I pair it with other main dishes such as Lion’s Head Meatballs or Braised Chicken with Mushroom, which keeps the meal comforting and very close to how we enjoy it in Chinese homes.
You can also customize this soup to suit your own palate by adjusting the sourness or heat and swapping proteins like chicken for pork or shrimp. If you enjoy mixing cuisines, it pairs nicely with Western style dishes like roasted vegetables or even a simple Chinese noodle recipe from my collection, making it easy to fit into your everyday meals while keeping the soup as the star.
Frequently asked questions
Why do you add pork after thickening?
Adding the pork after the soup thickens gives each strip a chance to cook at the same pace in the hot broth without overcooking. This step also keeps the meat suspended in the soup, so it stays tender, separate, and well distributed instead of sinking to the bottom or clumping together.
How do I keep the soup from turning cloudy?
When I add the eggs, I drizzle them slowly and make sure let them set before stirring in one direction, then stop once the ribbons form. This keeps the broth clear and gives the soup that classic restaurant look. If stirring too early when the eggs are still too runny, it will cloud the soup.
How thick should hot and sour soup be?
I like the broth thick enough to coat a spoon but still light and drinkable. Swirling in the cornstarch slurry a little at a time helps control the texture without over thickening.
Chinese Cooking Made Easy
Are you new to this website? This free email series is a great place to start. I’ll walk you through a few of my most popular recipes and show you how and why they work. You’ll quickly start to cook better Chinese food in your own kitchen.
Watch video

Authentic Hot and Sour Soup (酸辣汤)
Ingredients
Rehydrate (*Footnote 1)
- 4 dried shiitake mushrooms
- 1/4 cup dried woodear mushrooms
- 1 handful dried lily flowers
Pork (*Footnote 2)
- 1/2 lb pork loin (or chicken breast) , cut into thin strips
- 1/2 tablespoon Shaoxing wine
- 1/4 teaspoon salt
- 1/2 tablespoon cornstarch
Soup
- 2 teaspoons minced ginger
- 2 green onions , sliced, white and green parts divided
- 2 tablespoons Chinkiang vinegar
- 1 teaspoon white pepper powder (or 1/2 teaspoon white pepper powder for a less spicy dish)
- 4 cups chicken stock (*Footnote 3)
- 2 cups lily flower soaking liquid
- 1/2 block firm tofu (8 oz / 227 g) , diced
- 1 tablespoon light soy sauce (or soy sauce)
- 3 tablespoons cornstarch
- 2 eggs , beaten
- 1 teaspoon salt , or to taste
- 1 teaspoon toasted sesame oil (or chili oil) (*Footnote 4)
Instructions
- Rehydrate dried ingredients: Gently rinse dried shiitake mushrooms, dried wood ear mushrooms, and lily flowers with tap water. Soak each of them with 2 cups warm water (*Footnote 5) in three big bowls. Rehydrate for 30 minutes to 1 hour, until tender. Slice mushrooms into strips. Snip off the tough ends of lily flowers and discard. Halve the lily flowers lengthwise. Remove tough ends of wood ear mushrooms, then chop into bite-sized pieces. Reserve 2 cups of the marinating water from lily flower.
- Marinate pork: Combine pork, Shaoxing wine, salt and cornstarch in a bowl. Mix well by hand. Marinate for 10 to 15 minutes.
- Mix sauce: Add Chinkiang vinegar and white pepper into a small bowl. Mix well until the white pepper is completely dissolved.
- Make soup: Add chicken stock, lily flower soaking water, ginger, and green onion white part into a pot and heat over medium-high heat. Add rehydrated wood ear mushrooms, shiitake mushrooms, lily flowers, and tofu to the pot. Cook until bringing to a simmer. Add soy sauce and turn to medium-low heat.
- Thicken the soup: Mix the cornstarch with 1/4 cup of water in a bowl until cornstarch is fully dissolved. Slowly swirl the cornstarch slurry into the soup. Stir to thicken the soup.
- Cook the pork: Add the pork from step one into the soup, stirring several times to prevent the pork strips from sticking together.
- Make egg ribbons: Slowly swirl in the beaten egg, using a pair of chopsticks or a fork against the bowl so the egg slowly drizzle into the soup to form ribbons. The egg should be scattered and not clotted. Let the eggs sit for 20 seconds to set, then gently stir to break up the eggs.
- Season the soup: Turn off the heat. Add the vinegar and pepper mixture and stir to mix well. Add salt and taste the soup to adjust flavor. Garnish with green onion green part and drizzle with sesame oil. Give it a final stir. Serve hot.
Notes
- If you do not have these dry ingredients, you can use half a pound of fresh mushrooms instead. If not using dry ingredients, use 6 cups chicken stock instead of 4 cups stock + 2 cups soaking liquid.
- For a vegetarian hot and sour soup, check out this recipe.
- Alternatively, you can also use 4 cups water plus 1 teaspoon chicken bouillon to replace the chicken stock. In this case, reduce the salt since chicken bouillon is quite salty.
- If you use less white pepper, you can use some chili oil instead of sesame oil. There are different ways to add spiciness to hot and sour soup, and some restaurants use chili oil for another layer of flavor.
- Do not use boiling water, since it slightly “cook” the dried ingredients which cause them to lose flavor. Ideally, you should use cold water to hydrate the ingredients for 1 to 2 hours if time allows. But warm water speed up this process without causing the ingredients to lose too much flavor.
Nutrition
Did you make this recipe?
I’d love to hear how it turned out for you! Please take a moment to leave a 5-star rating ⭐️ and share your thoughts in the comments further down the page. It really helps others discover the recipe too.
Steve Bogart
Maggi I had been taught hot and sour soup by the chef who introduced the soup to the US in the late 50’s. I at the time was working a Chef Chus restaurant in Los Altos CA.in 1994.The 85 year old chef spent his days a Chu’s just hanging around .Your recipe is spot on except he insisted on putting red and black vinagar and white pepper in the soup urn and pouring the hot soup over it.
thank you for a great blog Steve Bogart retiered chef 40 years of cooking Classical Chinese dishes
Bill Zigrang
Larry Chu – one of the best; I remember when his restaurant was just a hole in the wall, bu it (and his reputation) grew greatly.
Jay
Do you cook the pork or chicken before adding to soup ?
Maggie
Hi Jay, I don’t cook the pork (or chicken) before adding them to the soup. When you slice then very thin, they cook through in the hot soup very quickly. You want to keep them just cooked through, so the texture will be tender.
The Lendog
I made this tonight and tagged you on Instagram. I strayed from tradition and soaked my mushrooms and flowers in chili water… it was 4 out of 5 alarm (fire) but DELICIOUS. Following you on Instagram.
Richard Stanley
I refer to this recipe constantly. Delicious. Easy. Thanks for unlocking the secrets of chinkiang vinegar. Game changer.
julienne martone
where/what is * footnote 3 that you mention?
Maggie
“Use chicken stock or vegetable stock instead of water if you are not using the dry ingredients (shiitake mushrooms, lily flowers, and wood ear mushrooms) in this recipe.”
Susan
Howdy. I’m new to cooking but I love Hot and Sour Soup! Just the pictures alone are driving me mad. Could you please tell me how much Napa Cabbage and Bamboo Shoots to add to this recipe? Thank you.
Maggie
Hi Suan, I would use 2 cups chopped napa cabbage and 1/2 can bamboo shoot (1 can if you don’t plan to use the dry ingredients). Happy cooking and let me know how the dish turns out!
Patty Doak
So very good! My husband kept saying ‘ this tastes like restaurant soup!
Joseph Rabor
In the nutrition it states, “Serving: 4g.” Please correct, thank you in advance.
Maggie
Hi Joseph, sorry about this! It should be one of the servings. I’ve corrected the nutrition info.
Jeff Marvin
I found a wonderful Chinese grocery market near my home and now I am able to easily procur dried Wood Ear Mushrooms, dried Lily Flowers and Dried Black Fungus, as well as Chinkiang Vinegar for your wonderful recipe. Now I have authentic Hot and Sour Soup at home – wonderful. All of the local Chinese restaurants leave out the Wood Ear Mushrooms and Lily Flowers which leaves their soups a poor substitute for authentic Hot and Sour Soup. I have one question: No matter how carefully I pour the beaten egg into the soup it doesn’t form “egg flowers” or “ribbons”; instead, it just disintegrates into the soup leaving it slightly opaque – a most frustrating end to the recipe. Still wonderfully delicious, though. What am I doing wrong? Suggestion: I put the tofu in a glass casserole and place a flat pan weighted down with two large cans of tomato puree on top of the tofu for 15-20 minutes to squeeze out most of the moisture in the firm tofu. Then I slice the tofu into cubes and when I add the tofu to the soup it swells slightly and absorbs the wonderful flavor of the rich broth!
Maggie
Hi Jeff, thanks for all the kind words and I’m so happy to hear you like the recipe!
To answer your question about the eggs, I think there are two things you can try:
1. Use a fork (or a pair of chopsticks) again the bowl when you pour the egg, so the beaten eggs will drop into the soup from several thin streams. It helps to form the “flower” in the soup.
2. Add more egg whites into the egg mixture instead of using whole eggs. It will create better egg flowers without making the soup opaque. I rarely do this unless I have leftover egg white from other recipes, but you can try it out if you want a perfect result.
And thanks for the tip on tofu! Sounds wonderful and I’ll definitely try it out the next time 🙂
AliceK
I find that if you allow the eggs to cook in the soup for about 10-15 seconds before stirring, the eggs don’t dissolve in the broth and stay more solid
Kenzie
This is a great recipe! I ended up almost tripling the vinegar and white pepper although that may be just a personal taste for me. (I am also sick at the moment so my trusty nose isn’t at its best) My soup ended up with a starchy, milky color– did I stir in the cornstarch too slowly/quickly or perhaps when cooking the marinated chicken the starch from there added in..? not sure but overall loved this soup and I will definitely be making again!
Trish W
Made this precisely by your recipe, also adding the bamboo & dried red peppers — it was excellent! This is far beyond anything we’ve eaten at any restaurant.
All the hard work you put into sharing these recipes is greatly appreciated, thank you!
Cierra
This is great- I never knew it would be so easy to make. The white pepper and the vinegar are 100% necessary, found the vinegar at my local Asian market. I didn’t have dried mushrooms so used store bought mushroom broth in combo with chicken broth. I used a lot more vinegar and white pepper than called for cause I like the flavor to be really intense. Thank you!
Bianca
I’ll have to try this as my fav spice paste mix is nowhere to be found in our grocery stores anymore! Also: I’ve used smoked tofu in this soup as a great way to add some more protein and flavor
gina witcher
This is so delicious! Thank you for the easy step by step instructions. The flavors are fabulous!
Wynne Dawson
This recipe rocks!
Do use the dried ingredients. I bought them online. Tried it with fresh mushrooms and fresh wood ear and it didn’t work. Also get the Chinese vinegar.
Mavrick
Could you help me understand footnote 1? If you use dry mushrooms, do you use the rehydrating water as the base of the soup? If not and you use regular water for the soup, do they add more flavor than fresh mushrooms? Thanks!
Maggie
Personally I would use the rehydrating water (only the lily flowers and shiitake water. Woodear rehydrating water tastes like nothing) as the base of the soup, but it’s not a must because the rehydrated dried ingredients will keep releasing a lot of flavor into the soup when you cook them. And yes, they do add more flavor than fresh mushrooms (dried shiitake mushrooms are smoked and dried, so they have a pretty intense taste). I would use chicken broth instead of water if I use fresh mushrooms in this recipe.
Ellen Peterson
Delicious and easy to prepare.
Leah
Made a vegetarian version. I had no lilies but I used turkey tail broth, shiitake powder, fresh wood ear., and subbed wild garlic scape for the green onions. Delicious, complex, and satisfying thanks for a better-but-easy recipe.
Lin self
Always wonder how to cook this soup. All westerners love it but being Chinese I prefer something lighter. Anyway I cook for dinner parties with resounding success. Thanks Maggie very much.
sandra hochberg
My husband cannot eat tofu for medical reasons. What can I use as a substitute in hot and sour soup. Thanks
Maggie
Hi Sandra, you could simply skip the tofu and the soup will be just as tasty!
AliceK
If you wanted something that looked like tofu, you could use hard-boiled egg whites