From nourishing broths to soul-warming classics, these 15 traditional Cantonese soups are loved for their comforting flavors and health benefits. Whether you’re seeking a taste of heritage or a cozy bowl on a chilly evening, this collection has you covered. Ready to discover your new favorite soup?
冬瓜薏米排骨汤

Don't underestimate the power of a humble soup. This winter melon and barley pork rib soup is a classic Cantonese comfort dish that's light, refreshing, and perfect for clearing heat and dampness. It's like a warm hug on a rainy day.
Serving: 4 | Prep Time: 15 minutes | Cooking Time: 1 minutes
Ingredients
Main Ingredients
- 1 lb pork ribs (country-style or baby back), cut into individual pieces
- 1 small winter melon (about 2-3 lbs), peeled, seeded, and cut into 1-inch cubes
- 1/2 cup pearl barley, rinsed
- 4 slices fresh ginger (about 1/4 inch thick)
- 8 cups water
- Salt, about 1 teaspoon or to your liking
- Optional: 2 green onions, sliced, for garnish
Instructions
- Blanch the pork ribs: Place the ribs in a pot and cover with cold water. Bring to a boil over high heat and let boil for 2 minutes. Discard the water and rinse the ribs under cold water to remove any scum.
- In a large soup pot, combine the blanched ribs, rinsed barley, ginger slices, and 8 cups of fresh water. Bring to a boil over high heat.
- Once boiling, reduce heat to low, cover, and simmer for 45 minutes. Skim off any foam that rises to the surface during the first 10 minutes.
- After 45 minutes, add the winter melon cubes. Continue to simmer, covered, for another 30-40 minutes, until the winter melon is translucent and tender when pierced with a fork.
- Remove from heat. Season with salt, starting with 1 teaspoon, then adjust to your preference. Ladle into bowls and garnish with sliced green onions if desired.
A bowl of this soup is like a reset button. The tender pork, melting winter melon, and chewy barley come together in a delicate broth that's both soothing and satisfying. Serve it with a side of steamed rice and a drizzle of soy sauce for a complete meal.
五指毛桃煲鸡汤

Nothing beats a cozy bowl of chicken soup, especially when it’s infused with the earthy, slightly sweet aroma of fig tree root. This Cantonese-style slow-cooked broth is a go-to for when you need a nourishing pick-me-up—it’s light, comforting, and surprisingly simple to make.
Serving: 4 | Prep Time: 15 minutes | Cooking Time: 2 minutes
Ingredients
- 3 lbs bone-in chicken thighs or a whole chicken cut into pieces
- 1/2 cup dried fig tree root (五指毛桃), rinsed
- 8 cups water
- 6 red dates, pitted
- 3 slices fresh ginger (about 1-inch rounds)
- 1 tablespoon goji berries
- 1 teaspoon salt, plus more to taste
Instructions
- Bring a large pot of water to a boil. Add chicken pieces and boil for 3 minutes. Drain and rinse under cold water to remove impurities—this keeps your broth clear.
- Rinse the dried fig tree root, red dates, and goji berries. Peel and slice the ginger into thin rounds.
- In a large pot, combine the blanched chicken, fig tree root, red dates, ginger, and 8 cups water. Bring to a boil over high heat.
- Reduce heat to low, cover, and simmer for 1.5 hours. Skim off any foam that rises during the first 20 minutes for a cleaner broth.
- Add the goji berries and simmer for another 30 minutes. Adding them late prevents them from turning mushy.
- Remove from heat. Stir in 1 teaspoon salt, then taste and add more if needed. The broth should be savory with a hint of sweetness from the dates and root.
- Serve hot—you can leave the chicken pieces in the soup or shred the meat and return it to the pot. Garnish with a sprinkle of chopped green onions or cilantro if you like.
Pour yourself a big bowl of this aromatic broth—it’s like a hug in a mug. The chicken turns fall-apart tender, and the fig tree root lends a unique earthy sweetness that lingers. Pair it with steamed rice for a soul-warming meal or simply sip it as a restorative snack.
菜干猪肺汤

Know that feeling when you need a soothing, nourishing bowl of soup? This pork lung and dried cabbage soup is a classic Cantonese remedy that’s savory, comforting, and surprisingly easy to make at home.
Serving: 6 | Prep Time: 30 minutes | Cooking Time: 120 minutes
Ingredients
- 1 pork lung (about 1.5 lbs), cleaned
- 1 ½ oz dried cabbage (about a big handful)
- 1 lb pork bones (neck or spare ribs), cut into chunks
- 3 slices fresh ginger
- 6 dried red dates (jujubes), pitted
- 8 cups cold water
- 1 tsp salt, plus more to taste
- A splash of vegetable oil for blanching
Instructions
- Rinse the pork lung under cold water for 5 minutes, then cut into large cubes. Blanch in boiling water for 3 minutes with a splash of oil to reduce odor; drain and set aside.
- Soak the dried cabbage in warm water for 15 minutes until soft. Drain and rinse well to remove any grit.
- Blanch the pork bones in boiling water for 5 minutes, then rinse under cold water to remove impurities. This ensures a clear broth.
- In a large soup pot, combine the pork lung, pork bones, ginger, red dates, and soaked dried cabbage. Add 8 cups cold water—starting with cold water helps extract flavor gradually.
- Bring to a boil over high heat, then immediately reduce to low. Skim off any foam that rises (do this carefully for a clean broth). Cover and simmer for 1.5 to 2 hours, until the pork lung is tender.
- Season with 1 tsp salt, then taste and adjust. Simmer another 5 minutes. Tip: don’t oversalt early, as the broth reduces and concentrates.
- Ladle out the pork lung and bones into bowls (discard bones or nibble on them). Serve the soup hot, with a sprinkle of white pepper if desired.
Make sure to ladle the broth over steamed rice for a cozy weeknight dinner—the savory, earthy flavors pair perfectly. The pork lung turns silky and delicate, while the dried cabbage adds a subtly sweet depth. Enjoy every soul-warming spoonful!
番茄薯仔排骨汤

Ever felt like a warm hug in a bowl? This tomato potato pork rib soup is just that – tangy, comforting, and surprisingly good for digestion. Let’s make a big pot!
Serving: 4 | Prep Time: 15 minutes | Cooking Time: 90 minutes
Ingredients
For the Soup
- 1 lb pork ribs, cut into 2-inch pieces
- 3 medium tomatoes, quartered
- 2 medium potatoes, peeled and cut into 1-inch chunks
- 4 cups water
- 2 slices fresh ginger
- 1 green onion, cut into 2-inch pieces
Seasoning
- 1 tsp salt
- 1/2 tsp white pepper
- A splash of fish sauce (optional)
Instructions
- Blanch the pork ribs: Place ribs in a pot, cover with cold water, and bring to a boil. Let them boil for 2 minutes, then drain and rinse under cold water. This removes impurities and keeps the broth clear.
- In a large pot, combine the blanched ribs, ginger, green onion, and 4 cups of water. Bring to a boil over high heat, then reduce to low heat and simmer covered for 45 minutes. Tip: Skim off any foam that rises for a cleaner broth.
- Add the tomatoes and potatoes to the pot. Return to a boil, then reduce heat to low and simmer uncovered for 30 minutes, until potatoes are tender and tomatoes have broken down. Tip: Adding tomatoes later keeps them from getting too mushy.
- Remove the ginger slices and green onion pieces. Season with salt, white pepper, and a splash of fish sauce if using. Stir gently and taste – adjust salt if needed. Tip: Hold off on salt until the end because the ribs and tomatoes release natural sodium.
- Ladle into bowls and serve hot. The soup should be tangy, savory, and deeply comforting. For extra richness, let it sit for 10 minutes before serving – the flavors meld beautifully.
Rich and velvety, this soup is perfect with steamed rice or a crusty baguette for dipping. The tangy tomatoes cut through the richness, while the potatoes add a creamy texture. Embrace the cozy vibes!
莲藕花生猪骨汤

This earthy and sweet pork bone soup, simmered with lotus root and peanuts, is incredibly nourishing. The broth becomes rich and comforting. Trust me, you’ll want to make this all season long.
Serving: 6 | Prep Time: 20 minutes | Cooking Time: 120 minutes
Ingredients
- 1 lb pork bones (spare ribs or neck bones)
- 1 medium lotus root (about 1 lb), peeled and sliced into 1/2-inch rounds
- 1/2 cup raw peanuts
- 1 thumb-sized piece ginger, sliced
- 8 cups water
- 1 teaspoon salt
Instructions
- Rinse the pork bones under cold water. Blanch them in boiling water for 5 minutes, then drain. (Tip: This removes impurities for a cleaner soup.)
- If you have time, soak the peanuts in cold water for 30 minutes to soften them. (Tip: Soaking helps them become creamy and cook faster.)
- In a large pot, combine the blanched bones, lotus root slices, drained peanuts, and ginger. Add 8 cups of water. (Tip: Thick lotus root slices hold up better during the long simmer.)
- Bring to a boil over high heat, then reduce to low heat. Cover and simmer for 2 hours. (Tip: Skim off any foam that rises during the first 30 minutes for a clearer broth.)
- After 2 hours, taste the broth and add 1 teaspoon of salt, adjusting gradually. (Tip: Start with less salt because the broth concentrates as it cooks.)
- Ladle the soup into bowls. Serve hot, optionally garnished with fresh cilantro or sliced green onions.
Zero complications: this soup basically makes itself. The earthy lotus root and creamy peanuts create a comforting broth. Serve it as a starter or a light dinner.
老黄瓜薏米猪骨汤

Been craving a soup that’s both comforting and good for you? This one’s a game-changer. Aged cucumber and barley pork bone soup is a classic Cantonese remedy for cooling down and removing dampness, especially during humid days. It’s light yet satisfying, with a subtle sweetness and silky texture.
Serving: 6 | Prep Time: 15 minutes | Cooking Time: 120 minutes
Ingredients
For the soup
- 1 lb pork bones (preferably neck or spine)
- 1 large aged cucumber (about 1.5 lbs, with yellow-green skin)
- 1/2 cup pearl barley, rinsed
- 8 cups water
- 3 slices fresh ginger (unpeeled)
- 1 tablespoon salt (or to taste)
Instructions
- Step 1: Blanch the pork bones in a pot of boiling water for 5 minutes to remove impurities. Drain and rinse under cold water to get rid of any scum.
- Step 2: While the bones blanch, cut the aged cucumber in half lengthwise, scrape out the soft seeds and pith with a spoon, then chop into 2-inch chunks. No need to peel—the skin softens during cooking.
- Step 3: In a large soup pot (at least 5 quarts), combine the blanched bones, cucumber chunks, rinsed barley, ginger slices, and 8 cups of water.
- Step 4: Bring the soup to a boil over high heat, then reduce to low, cover, and let it simmer for 2 hours. Tip: Skim off any foam that rises in the first 15 minutes for a clearer broth.
- Step 5: After 2 hours, turn off the heat and stir in salt to taste. Start with 1 tablespoon, then adjust. The broth should be light and slightly sweet. Tip: For extra depth, add a couple of dried red dates (jujube) in step 3.
- Step 6: Serve hot. The barley should be tender and the pork falling off the bone. If using a slow cooker, cook on low for 4-6 hours for the same effect.
Ladle into bowls and enjoy the soothing, silky broth. The cucumber melts into the soup, leaving a subtle sweetness, while the pork is so tender it shreds at a touch. Pair it with steamed rice and a drizzle of soy sauce on the side for a light but nourishing meal.
西洋菜陈肾猪骨汤

Warm, peppery, and incredibly soothing—this watercress and salted duck gizzard pork bone soup is a go-to for clearing heat and moistening the lungs. It's like a hug in a bowl, perfect for chilly days or when you're feeling under the weather.
Serving: 6 | Prep Time: 15 minutes | Cooking Time: 120 minutes
Ingredients
Produce
- 1 large bunch watercress (about 6 cups, trimmed)
- 2 medium carrots, peeled and cut into chunks
- 3-4 slices fresh ginger (about 1-inch piece), smashed
Protein
- 1 lb pork neck bones or spare ribs, cut into chunks
- 4 salted duck gizzards (chen shen), soaked for 1 hour and rinsed
Pantry
- 10 cups water
- 4 dried red dates (jujubes), pitted
- 1 teaspoon white peppercorns, lightly crushed
- Salt to taste (optional, as gizzards are salty)
Instructions
- Soak the salted duck gizzards in a bowl of cold water for 1 hour to remove excess salt. Drain and rinse. Meanwhile, trim the watercress into 3-inch pieces.
- Blanch the pork bones: Place them in a large pot, cover with cold water, and bring to a boil over high heat. Boil for 3-4 minutes, then drain and rinse under cold water to remove impurities.
- In a clean large pot (6-8 quarts), combine the blanched pork bones, soaked gizzards, carrot chunks, ginger slices, dried red dates, and crushed white peppercorns. Add 10 cups of fresh water.
- Bring to a boil over high heat, then reduce to a gentle simmer. Use a ladle to skim off any foam that rises to the surface for the first 10 minutes. Cover partially and simmer for 1 hour 30 minutes.
- Add the watercress to the pot—it will wilt quickly. Stir to submerge, then continue simmering uncovered for another 20 minutes. The watercress should be tender but still have a slight bite.
- Taste the broth and add a pinch of salt if needed (remember the gizzards add saltiness). For extra pepperiness, grind a little more white pepper on top. Remove from heat.
- Remove the pork bones and gizzards from the pot. You can serve the gizzards sliced as a side, or shred the meat from the bones and return it to the soup. Discard the bones.
Sip this soup slowly—the broth is deeply savory with a gentle peppery kick from the watercress and peppercorns. The carrots add a touch of sweetness, while the gizzards give it a distinctive umami depth. Serve it steaming hot in bowls, with the watercress and carrots as the main solids.
椰子煲鸡汤

Vibrant and nourishing, this coconut chicken soup is like a warm hug for your soul. It's naturally sweet from fresh coconut and so creamy, it feels indulgent but is actually super healthy. Perfect for when you want something comforting that also makes your skin glow.
Serving: 4 | Prep Time: 15 minutes | Cooking Time: 120 minutes
Ingredients
Soup Base
- 1 whole chicken (about 3-4 lbs), cut into pieces
- 1 fresh young coconut, both water and meat
- 4 cups water
- 1 thumb-sized piece of ginger, sliced
- 1 bunch scallions, white parts crushed, green parts chopped for garnish
- 1 teaspoon salt (or more to taste)
Instructions
- First, crack open your young coconut. Pour the coconut water into a bowl and scoop out the soft meat. Set both aside.
- Rinse the chicken pieces under cold water. Place them in a large soup pot and add the 4 cups of water, 4 cups of coconut water (you may need to supplement with extra water if your coconut doesn't yield that much), and the ginger slices. Crush the white parts of the scallions and add to the pot. Don't discard the green tops – you'll use them later.
- Bring the pot to a boil over high heat, then reduce to low and skim off any foam that rises. This keeps the broth clear and clean-tasting.
- Add the coconut meat to the pot. Let everything simmer gently, covered, for about 1.5 to 2 hours. The longer it simmers, the richer the flavor. Check that the chicken is fall-off-the-bone tender.
- After cooking, remove from heat. Fish out the ginger slices and scallion whites. Taste the broth and stir in salt to taste. Remember, the coconut water adds sweetness, so go easy on the salt at first.
- Ladle the soup into bowls, making sure each serving gets some chicken and coconut meat. Garnish with the chopped green scallions. For extra richness, drizzle a tiny splash of fish sauce or a squeeze of lime – but that's totally optional.
- One last tip: if you want an even creamier texture, you can blitz a cup of the broth with some of the coconut meat in a blender before adding back to the pot. But I love the rustic chunks of coconut.
Don't be surprised if this soup becomes your new cold-weather favorite. The broth is silky and sweet, with tender chicken and chewy coconut bites. Serve it with steamed rice for a full meal, or just sip it straight – it's that good on its own.
萝卜牛腩汤

Brisket and radish soup is the ultimate cold-day comfort food. You get fall-apart tender beef, mellow radish that soaks up all the rich broth, and it’s surprisingly easy to throw together. Think of it like a hug in a bowl.
Serving: 6 | Prep Time: 20 minutes | Cooking Time: 150 minutes
Ingredients
Beef
- 2 pounds beef brisket, cut into 2-inch chunks
- 1 tablespoon vegetable oil
Vegetables & Aromatics
- 1 large white radish (about 1.5 pounds), peeled and cut into 1-inch chunks
- 6 cups water
- 4 slices fresh ginger
- 2 cloves garlic, smashed
- 1 cinnamon stick
- 2 star anise
Seasonings
- 1 tablespoon salt
- 1 teaspoon white pepper
- a splash of soy sauce (about 1 tablespoon)
- chopped cilantro for garnish (optional)
Instructions
- Blanch the beef: Place beef chunks in a pot, cover with cold water, bring to a boil over high heat, and boil for 3 minutes. Drain and rinse the beef under cold water to remove any scum.
- In a large heavy-bottomed pot or Dutch oven, heat the vegetable oil over medium-high heat. Add the blanched beef and sear for about 4–5 minutes, turning once, until lightly browned on all sides.
- Pour in 6 cups of water, then add the ginger slices, smashed garlic, cinnamon stick, and star anise. Bring to a boil, then reduce heat to low, cover, and simmer for 1.5 hours.
- After 1.5 hours, add the radish chunks, salt, and white pepper. Stir gently, re-cover, and continue simmering for another 45–60 minutes, until the radish is translucent and tender when pierced with a fork.
- Remove the cinnamon stick and star anise (if you can find them). Stir in a splash of soy sauce. Taste and adjust salt if needed.
- Serve hot, garnished with chopped cilantro if you like. The broth should be rich and slightly peppery, the beef fork-tender.
Don't be surprised if this soup becomes your go-to for chilly evenings. The broth is so good you'll want to sip it straight from the bowl. Serve it with a side of crusty bread or steamed rice to soak up every last drop.
淮山枸杞排骨汤

Hey there! This hearty pork rib soup with Chinese yam and goji berries is one of those comforting bowls that feels like a warm hug. It’s mild, nourishing, and perfect for when you need a little pick-me-up.
Serving: 4 | Prep Time: 15 minutes | Cooking Time: 120 minutes
Ingredients
- 2 pounds pork ribs (baby back or spare ribs)
- 1 medium Chinese yam (about 1 pound), peeled and cut into chunks
- 1/4 cup dried goji berries
- 8 cups water or low-sodium chicken broth
- 3 slices fresh ginger (about 1/4-inch thick)
- 2 tablespoons Shaoxing wine (or dry sherry)
- 1 teaspoon salt, plus more to taste
- 1/4 teaspoon white pepper (or a few whole white peppercorns)
Instructions
- Blanch the pork ribs: Bring a large pot of water to a boil. Add ribs and boil for 3 minutes to remove impurities. Drain and rinse under cold water.
- In a clean large pot, combine the blanched ribs, ginger slices, Shaoxing wine, and 8 cups of water or broth. Bring to a boil over high heat, then reduce heat to low to maintain a gentle simmer.
- Skim off any foam that rises to the surface for the first 10 minutes—this keeps your broth clear. Let it simmer uncovered for 1.5 hours.
- After 1.5 hours, add the yam chunks and goji berries. Continue simmering for another 30 minutes, or until the yam is tender when pierced with a fork.
- Season with salt and white pepper. Stir gently, taste, and adjust seasoning if needed. Discard ginger slices before serving if you prefer.
Grab a bowl and enjoy the silky broth with fall-off-the-bone ribs and sweet, tender yam. The goji berries add a pop of color and a hint of tanginess. It’s lovely on its own or ladled over steamed rice for a complete meal.
土茯苓煲龟汤

Oh, let me tell you about this gem of a soup—土茯苓煲龟汤. It’s an earthy, herbal turtle soup that’s amazing for clearing toxins and dampness from your body. Think of it as a cozy, restorative bowl that tastes like slow-cooked comfort.
Serving: 6 | Prep Time: 20 minutes | Cooking Time: 180 minutes
Ingredients
Main Ingredients
- 2 lbs turtle meat, cut into pieces (ask your butcher to clean it)
- 2 oz dried smilax glabra (土茯苓), rinsed
- a few slices of fresh ginger (about 1-inch piece, sliced)
- 10 cups water
- 1 tsp salt
Instructions
- Bring a large pot of water to a boil. Add the turtle pieces and blanch for 2 minutes. Drain and rinse under cold water to remove any scum.
- Rinse the dried smilax glabra under cold water to remove any dust. No need to soak—just a quick rinse.
- In a large soup pot, combine the blanched turtle, rinsed smilax, ginger slices, and 10 cups of fresh water.
- Bring to a boil over high heat, then reduce heat to low. Skim off any foam that rises to the surface—this keeps the broth clear. Cover and let it simmer gently for 3 hours.
- After 3 hours, remove from heat. Fish out the smilax and ginger (they've done their job). Season with salt to taste—start with 1 tsp and adjust. Serve hot.
Nothing beats the earthy depth of this soup—the turtle meat becomes tender, and the broth gets this subtle, rooty sweetness from the smilax. I love serving it with a side of steamed rice and a splash of soy sauce for dipping the meat. Perfect for a rainy day or when you need a little detox.
赤小豆粉葛鲮鱼汤

A bowl of this classic Cantonese soup is like a reset button for your body—refreshing, light, and packed with goodness. Mud carp, adzuki beans, and kudzu root team up to clear heat and help you flush out excess water. Trust me, you'll feel amazing after a sip.
Serving: 6 | Prep Time: 15 minutes | Cooking Time: 2 minutes
Ingredients
For the Soup
- 1 whole mud carp (about 1.5 lbs), cleaned (ask the fishmonger to scale and gut it)
- 1/2 cup dried adzuki beans, soaked overnight or at least 4 hours
- 1 cup dried kudzu root chunks (about 4 oz), soaked for 30 minutes
- 3 slices fresh ginger (about 1-inch rounds)
- 2-3 pieces dried tangerine peel (optional, but adds a lovely citrus note)
- 8 cups water
- A splash of vegetable oil for frying
- 1/2 teaspoon salt, plus more to taste
Instructions
- Soak the adzuki beans overnight or for at least 4 hours in plenty of water. Drain and set aside. Soak the kudzu root chunks in water for 30 minutes, then drain.
- Pat the mud carp dry with paper towels. This helps it brown nicely.
- Heat a large soup pot or Dutch oven over medium-high heat. Add a splash of vegetable oil (about 1 tablespoon). When shimmering, carefully place the fish in the pot. Pan-fry for 3-4 minutes per side until the skin is golden and crispy. Don't rush this step—it builds flavor.
- Add the ginger slices and tangerine peel (if using) to the pot. Let them sizzle for 30 seconds.
- Pour in the 8 cups of water. Increase heat to high and bring to a rolling boil.
- Reduce heat to low and add the soaked adzuki beans and kudzu root chunks. Give it a gentle stir.
- Simmer, partially covered, for 1.5 to 2 hours. You want the beans tender and the broth slightly thickened. Skim off any foam that rises to the top for a clearer soup.
- After 1.5 hours, check the beans. If they're soft and the kudzu has broken down, it's ready. If not, simmer another 30 minutes.
- Carefully remove the whole fish from the pot. Use tongs and a slotted spoon to lift it out. The flesh will be very tender and may fall apart—that's fine.
- Strain the broth through a fine-mesh sieve into a clean pot or serving bowl. Press on the solids to extract all the liquid. Discard the solids (or compost them).
- Season the soup with salt to taste. Start with 1/2 teaspoon and adjust. The broth should be savory but delicate.
- Ladle into bowls and serve hot. For a more rustic presentation, you can leave the fish in chunks (just warn your guests about small bones).
Every spoonful is silky and soothing, with a subtle sweetness from the kudzu and earthy depth from the beans. Serve it as a first course or sip it like tea—it's that hydrating. Leftovers taste even better the next day, so make a big batch.
花胶炖鸡汤

Really, there's nothing quite like a bowl of collagen-rich chicken soup after a long week. This classic Cantonese double-boiled fish maw soup is silky, soothing, and incredible for your skin—trust me, it's like a beauty treatment in a bowl.
Serving: 4 | Prep Time: 20 minutes | Cooking Time: 120 minutes
Ingredients
- 2 lbs bone-in chicken thighs or drumsticks, skin removed
- 2 oz dried fish maw (about 3 pieces)
- 6 slices fresh ginger (about 1 inch thick)
- 6 cups cold water
- 1 tablespoon goji berries
- 2 dried red dates (optional, for sweetness)
- Salt to taste
Instructions
- Soak the dried fish maw in cold water for at least 4 hours or overnight in the fridge. It should become soft and pliable. Drain and cut into 2-inch pieces.
- Blanch the chicken: Place chicken pieces in a pot, cover with cold water, and bring to a boil. Boil for 3 minutes to remove impurities. Drain and rinse under cold water.
- In a large double-boiler pot (or a regular pot with a steamer insert), place the blanched chicken, soaked fish maw, ginger slices, goji berries, and dried red dates (if using). Add 6 cups cold water.
- If using a double-boiler, fill the outer pot with water and bring to a simmer. Set the inner pot on top, cover, and simmer gently for 2 hours. If using a regular pot, bring to a boil, then reduce to low heat, cover, and gently simmer for 2 hours. Skim any foam or fat that rises to the surface occasionally.
- After 2 hours, the broth should be milky and rich. Season with salt to taste. Remove ginger slices before serving.
- Tip: For extra collagen, simmer for another 30 minutes. Tip: Don't boil vigorously—keep it at a gentle simmer to keep the broth clear and silky. Tip: If fish maw dissolves too much, add it halfway through cooking instead of at the start.
Every spoonful is silky, almost velvety, with a deep chicken flavor that's pure comfort. Serve it as a starter or a light meal with steamed rice—the broth is so good you'll want to drink every last drop.
栗子鸡汤

Here's a cozy recipe for chestnut chicken soup, a traditional dish that's both hearty and nourishing. The sweet, nutty chestnuts pair perfectly with tender chicken, and it's said to strengthen kidneys and bones—perfect for chilly days or when you need a bit of comfort.
Serving: 4 | Prep Time: 15 minutes | Cooking Time: 90 minutes
Ingredients
- 2 lbs chicken thighs or drumsticks (bone-in, skin-on)
- 2 cups shelled chestnuts (fresh or frozen, halved)
- 1 large piece ginger (about 2 inches), sliced into rounds
- 6 cups low-sodium chicken broth
- 2 tablespoons soy sauce
- 1 tablespoon rice wine or dry sherry
- 1 teaspoon salt (plus more to adjust)
- 2 green onions, sliced (for garnish)
Instructions
- Rinse the chicken pieces and pat them dry with paper towels. If using a whole chicken, cut it into 8 parts.
- In a large pot or Dutch oven, place the chicken pieces and ginger slices. Add enough cold water to just cover the chicken (about 4 cups). Bring to a boil over high heat, then immediately reduce to medium-low and skim off any foam that rises to the surface. This step ensures a clear broth.
- Add the chestnuts, chicken broth, soy sauce, and rice wine. Stir gently to combine. Bring to a gentle simmer, then cover with a lid and cook over low heat for 60 minutes. Tip: If using frozen chestnuts, no need to thaw—just add them straight from the freezer.
- After 60 minutes, check the chicken for tenderness—it should easily pull away from the bone. If not fully tender, continue simmering for another 15–30 minutes. Tip: For extra depth, toast the chestnuts in a dry skillet for 3–4 minutes before adding, until fragrant.
- Once the chicken is tender, stir in 1 teaspoon of salt. Taste and adjust with more salt if needed. Remove from heat. Tip: Let the soup rest for 5 minutes before serving so flavors meld.
- Ladle the soup into bowls, making sure each gets chicken and chestnuts. Garnish with sliced green onions.
Nothing beats a warm bowl of this chestnut chicken soup—the broth is silky and fragrant, the chicken falls off the bone, and the chestnuts add a subtle sweetness. Serve it over steamed rice for a complete meal, or enjoy it on its own with some crusty bread. It's the kind of soup that feels like a hug in a bowl.
凉瓜排骨汤

Just when you think soup season is over, this cooling bitter gourd and pork ribs soup comes to the rescue. It's mildly bitter, incredibly soothing, and perfect for those warm days when you need something light yet nourishing. Trust me, you'll want to sip this all summer long.
Serving: 4 | Prep Time: 15 minutes | Cooking Time: 1 minutes
Ingredients
For the soup
- 1 medium bitter gourd (about 12 oz)
- 1½ lbs pork spare ribs, cut into individual pieces
- 6 slices fresh ginger (about ¼ inch thick)
- ¼ cup dried soybeans, soaked overnight (or at least 4 hours)
- 3 dried red dates (jujubes)
- 8 cups cold water
- 1 teaspoon salt (or to your liking)
Instructions
- Step 1: Soak the dried soybeans in a bowl of cold water for at least 4 hours or overnight. Drain and set aside. (Pro tip: Soaking softens them and reduces cooking time.)
- Step 2: Place the pork ribs in a pot and cover with cold water. Bring to a boil over high heat, then let them boil for 2 minutes. Drain and rinse the ribs under cool water to remove any scum. This step ensures a cleaner, clearer broth.
- Step 3: While the ribs blanch, prepare the bitter gourd. Cut it in half lengthwise, scoop out the seeds and white pith with a spoon, then slice crosswise into 1-inch half-moons. (Tip: Choose a gourd with smooth, bright skin for a milder bitterness.)
- Step 4: In a large soup pot (at least 5 quarts), combine the blanched ribs, sliced bitter gourd, ginger, soaked soybeans, dried red dates, and 8 cups of cold water. Stir everything together.
- Step 5: Bring the pot to a boil over high heat. Once boiling, reduce the heat to low, cover with a lid, and let it simmer gently for 1 hour 30 minutes. The ribs should be fork-tender and the broth fragrant. (If you prefer the bitter gourd less soft, add it after the first hour of simmering.)
- Step 6: Turn off the heat. Stir in 1 teaspoon of salt, or adjust to your preference. Ladle the soup into bowls and serve hot. The leftovers taste even better the next day!
Hearty yet light, this soup is perfect for a warm evening. The bitterness is balanced by the savory pork and sweet red dates, making it a unique comfort food. Serve with steamed rice or enjoy on its own for a cleansing meal.
Conclusion
From hearty broths to delicate consommés, this collection has a comforting soup for every occasion. We hope you enjoy simmering these traditional Cantonese recipes in your own kitchen. Which one will you try first? Leave a comment with your favorite, and don’t forget to share this article on Pinterest!



