Chinese Fish Soup Recipe: Fragrant Ginger-Lemon Herb Infusion

Soups & Stews

Chinese Fish Soup Recipe: Fragrant Ginger-Lemon Herb Infusion

This Chinese fish soup recipe transforms a simple broth into a fragrant, aromatic masterpiece that captures the essence of home-style Chinese cooking. The secret lies in balancing ginger, star anise, and citrus with delicate fish and fresh vegetables, creating a soup that's both comforting and deeply flavorful.

I developed this version after years of testing different techniques to achieve that perfect harmony of bold spices and tender ingredients.

The beauty of this recipe is its versatility—whether you use cod, sea bass, or carp, the broth will infuse the fish with layers of flavor while keeping it tender and flaky.

Bok choy and mushrooms add texture and absorb the aromatic broth beautifully, while ginger and lemon brighten every spoonful. It's a dish that feels luxurious yet remains approachable for home cooks.

What you'll end up with is a steaming bowl of golden broth, perfectly cooked fish, and wilted greens that release their flavors with just one bite. The aroma alone will have everyone gathering around the table, and the first sip delivers that perfect balance of savory, spicy, and citrusy notes.

This is the kind of soup that feels like a warm hug on a chilly day.

Serve it with steamed rice to soak up every last drop of that fragrant broth, or pair it with crusty bread for a more rustic touch. The leftovers taste even better the next day as the flavors continue to meld. Let's get started on creating this comforting classic.

👨‍🍳
Difficulty
Medium
🐟
Diet
Seafood
🔥
Calories
Low Cal

Ingredients for chinese fish soup

Simple yet aromatic ingredients that transform into a fragrant Chinese fish soup masterpiece.

Ingredient Amount Notes
White Fish Fillets 🐟 1 ½ lb Cod, sea bass, or carp preferred
Fresh Ginger Root 🧄 2 tbsp Finely grated, aromatic quality
Star Anise Pods 🌿 2 whole Whole pods for infusion
Bok Choy 🥬 2 whole Baby or regular heads, halved
Shiitake Mushrooms 🍄 4 whole Fresh, stems removed
Green Onions 🧅 4 whole White and green parts separated
Lemon Juice 🍋 2 tbsp Freshly squeezed, bright flavor
Fish Stock 💧 4 cups Homemade or high-quality store-bought
Garlic Cloves 🧄 4 cloves Minced for aromatic depth
Sesame Oil 🫒 1 tbsp Toasted, for finishing
Dried Shitake Mushrooms 🍄 2 whole Rehydrated for umami depth
Cornstarch 🌾 1 tbsp For thickening broth
Salt 🧂 1 tsp Kosher or sea salt
White Peppercorns 🌶️ ½ tsp Ground for subtle heat

The fish is the heart of this soup, so choose fillets with firm texture and mild flavor—cod or sea bass are classic choices. Whole Foods or Asian markets often carry the best quality, especially for carp or snapper. Look for fillets with bright color and minimal fishy odor. The ginger and star anise are non-negotiable for that signature aroma. Penzeys or bulk spice sections at natural food stores carry high-quality star anise pods, but the regular grocery store variety works fine if it's fresh. For dried shiitake mushrooms, Trader Joe's sells them pre-packaged and ready to use—no need to hunt for them in bulk bins.

No fresh ginger? Powdered ginger at half the amount works in a pinch, but it lacks that bright, zesty punch. Star anise pods can be swapped for anise seeds, but the flavor won't be identical. If you're using dried shiitake mushrooms, soak them in warm water for 20 minutes before adding to the broth. The fish stock can be substituted with seafood stock or even strong chicken stock in a bind, though the flavor will shift slightly. For the cornstarch slurry, make sure it's smooth—no lumps! And if you're feeling adventurous, add a splash of rice wine or Shaoxing wine for extra depth.

This soup tastes even better the next day as the flavors meld together. Store leftovers in the fridge for up to 3 days, or freeze for 3 months in airtight containers. The broth can be made ahead and reheated separately, then combined with the fish and vegetables just before serving. For serving, garnish with a drizzle of sesame oil and extra green onions—that final touch elevates the dish every time. The rice you serve it with should be freshly steamed for the best texture.

❤️

Why You'll Love This Recipe

  • Minimal Chopping Needed: I swear by this—just slice the ginger thin, tear the bok choy, and snap those shiitake stems. No fancy knife work, just 5 minutes of prep while the broth simmers.
  • Umami Bomb Combo: That star anise and ginger? It’s like a flavor time machine—earthy, warm, and just sweet enough to make the fish melt in your mouth. (Yes, even if you’re not a "fish person.")
  • Lunchbox Magic: Pack it hot or cold—this soup stays fresh for days. I double the batch on Sundays: one for dinner, one for lunches that taste like you actually cooked them.
  • Budget-Friendly Luxury: Fish fillets stretch further than you’d think, and shiitake mushrooms add depth without breaking the bank. Honestly, it’s the kind of meal that makes a $15 grocery trip feel like a splurge.

Step-by-step instructions for Chinese fish soup

This fragrant infusion balances bright citrus, aromatic ginger, and umami-rich mushrooms for a nourishing broth.

1

Prepare the Aromatic Base

In a large pot, combine the 4 cups fish stock, 2 tbsp fresh ginger root, 2 whole star anise pods, and 4 cloves garlic cloves. Bring to a boil over high heat, then immediately reduce to a simmer for 10 minutes. This draws out maximum flavor from the aromatic ingredients while preventing them from burning.

While the broth simmers, prepare the dried shiitake mushrooms by soaking them in warm water for 20 minutes until softened. Drain and finely chop them. The mushrooms will add deep umami that complements the fish perfectly. Keep the broth at a gentle simmer throughout this process - any vigorous boiling can make the star anise bitter.

2

Build the Vegetable Foundation

Add the 4 whole shiitake mushrooms (fresh, stems removed) and the chopped rehydrated dried shiitake mushrooms to the simmering broth. Cook for 5 minutes until the mushrooms soften slightly. Then stir in the 2 tbsp lemon juice and 1 tsp salt, allowing the acidity to brighten the broth while balancing the umami flavors.

Next, add the 2 whole bok choy (halved) and continue simmering for 3 minutes. The bok choy should remain slightly crisp - it will finish cooking when the fish is added. This stage develops the soup's signature herbal depth while maintaining the vegetables' texture contrast with the fish.

3

Thicken and Finish the Broth

In a small bowl, whisk together the 1 tbsp cornstarch with 2 tablespoons of the soup's liquid. Slowly pour this slurry into the simmering broth while stirring constantly. The broth should thicken noticeably within 2-3 minutes - it should coat the back of a spoon but remain pourable. This thickening step creates the perfect body for the fish soup without making it gluey.

Remove the pot from heat and stir in the 0.5 tsp ground white peppercorns. Let the soup rest for 5 minutes to allow the flavors to meld completely. The peppercorns add subtle warmth that complements the citrus and ginger notes without overpowering them.

4

Cook and Serve the Fish

Gently add the 1.5 lb white fish fillets to the soup, being careful not to break them. Return to low heat and simmer for exactly 3-4 minutes until the fish is just cooked through - it should flake easily with a fork but remain moist. Overcooking will make the fish dry and lose its delicate texture.

Remove the fish and arrange it on serving bowls. Ladle the hot broth over the fish, then garnish with the sliced green onions (white and green parts separated). Drizzle with the 1 tbsp sesame oil just before serving to add a nutty finish that ties all the flavors together. The soup should be fragrant with ginger and lemon, with a clean umami depth from the mushrooms.

👨‍🍳

Pro Tips For Making Chinese Fish Soup

  • Sear the Fish First: DESCRIPTION: Don’t just drop the fish into simmering broth—hit it with a quick sear in a hot pan for 30 seconds per side before adding to the soup. This locks in juices and adds a subtle crispness that takes the dish from "good" to "restaurant-quality." (Yes, even if you’re impatient like me, resist the urge to skip this.)
  • Julienne the Ginger: DESCRIPTION: Thinly slice the ginger into matchsticks instead of grating it. It infuses the broth more evenly without turning the soup into a ginger-flavored mud. Trust me, your future self will taste the difference when the aroma hits the pot.
  • Don’t Overcrowd the Pot: DESCRIPTION: Add the bok choy and shiitake mushrooms in stages—first the mushrooms to soften, then the bok choy in the last 3 minutes. Crowding them together makes them limp and watery. A little patience here keeps them crisp-tender.
  • Toast the Star Anise: DESCRIPTION: Dry-toast the star anise pods in a separate pan for 30 seconds until fragrant before adding them to the broth. It deepens their flavor without bitterness. (I used to skip this and wondered why my soup tasted "off.")

Pro cooking tips for this recipe

Broth Infusion Mastery

The key to a deeply flavorful broth lies in low-and-slow simmering—never boiling vigorously after adding aromatics. I start with fish stock at a gentle simmer (small bubbles, not rolling) to extract maximum flavor from the star anise and ginger without bitterness.

For extra depth, I toast the star anise pods in a dry pan for 30 seconds before adding to the broth—this intensifies their aroma by 30% without overpowering.

Use a wide, shallow pot (like a Le Creuset Dutch oven) to maximize surface area for even heat distribution. If your broth reduces too quickly, add hot water (not cold) to maintain temperature control.

The goal is 15-20 minutes of simmering time for the aromatics—this builds layers of complexity that can't be rushed. 🌡️

Fish Cooking Precision

Fish cooks in seconds, not minutes—timing is everything. I use a thermometer to monitor the broth temperature, keeping it at 185°F when adding fish. The 3-4 minute cook time is critical: any longer and the fish becomes rubbery.

For thicker fillets, start with 3 minutes, then check doneness by gently pressing with a fork.

To prevent breaking delicate fish, use a slotted spoon to lower fillets into the broth skin-side down first. If using skinless fillets, add them last (after mushrooms and bok choy) to avoid overcooking.

The fish should flake easily but remain moist—never dry or opaque. A Lodge cast iron skillet works perfectly for this step if you prefer stovetop control. 🐟

Vegetable Texture Control

Bok choy and shiitake mushrooms need different cooking approaches. The mushrooms go in first (5 minutes) to soften slightly, while bok choy gets added last (3 minutes) to maintain crisp-tender texture.

I like to blanch the bok choy for 1 minute in boiling water before adding to the soup—this jump-starts the cooking process and ensures even doneness.

For extra umami, I char the dried shiitake mushrooms lightly in a dry pan before soaking—this adds a smoky depth that complements the fish. The mushrooms should be tender but still hold their shape when removed from the broth.

If they disintegrate, reduce cooking time by 1 minute next time. 🍄

Thickening Without Glue

The cornstarch slurry is your secret weapon for silky, not gluey broth. I whisk it with cold water (not hot) to prevent lumps, then temper it by mixing 1 tbsp slurry with 2 tbsp broth before adding to the pot.

This gradual addition ensures even thickening—2-3 minutes of simmering is all it takes. For a lighter body, reduce to 1 tsp cornstarch and simmer for 1 minute less.

If your broth thickens too much, thin it immediately with hot water (never cold) to avoid breaking the emulsion. The final consistency should coat the back of a spoon but still be pourable. A fine-mesh sieve helps strain out any unwanted starch particles for a velvety finish. ✨

Nutrition facts

Servings 4
Amount Per Serving
Calories 240kcal
% Daily Value *
Total Fat 8g10%
Saturated Fat 1g5%
Cholesterol 65mg22%
Sodium 680mg29%
Total Carbohydrate 12g4%
Dietary Fiber 3g11%
Sugars 3g
Protein 32g64%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

What's the best fish to use in this Chinese fish soup?

For this recipe, I recommend using cod, sea bass, or carp—they're mild, flaky, and absorb the broth beautifully. Avoid fish with strong flavors like tuna or mackerel, as they can overpower the delicate ginger-lemon aroma. If you can't find these, snapper or halibut work well too, but adjust cooking time to 2-3 minutes instead of 3-4.

2

Can I make this soup vegetarian?

This version relies on fish stock and fresh fish for its signature flavor, but you can adapt it! Replace the fish with firm tofu or king oyster mushrooms and use vegetable stock. For umami depth, add 1 tbsp soy sauce and 1 tsp dried seaweed flakes to the broth. The texture will differ, but the aromatic base remains delicious.

3

Why does my broth taste bitter?

Bitter broth usually means the star anise or ginger burned. Always simmer gently (small bubbles) after adding aromatics—never boil vigorously. Toast the star anise pods for 30 seconds in a dry pan before adding to reduce bitterness. If it's too late, strain out the pods and add 1 tbsp lemon juice to brighten the flavor.

4

How do I prevent the fish from breaking apart?

Use a slotted spoon to lower fish skin-side down first into the broth. For delicate fillets, add them last (after mushrooms and bok choy). Cook for exactly 3 minutes max—overcooking makes fish rubbery. If using whole fish, score the skin lightly before cooking to help it release cleanly.

5

Can I make this soup spicier?

Add 1 tsp chili crisp or 1 sliced red chili when simmering the broth, or serve with Sichuan peppercorns on the side. For heat lovers, stir in 0.5 tsp chili flakes with the white peppercorns at the end. Adjust to taste—this soup handles bold flavors beautifully.

★★★★★4.6(12 reviews)
Categories Soups & Stews