Chinese Fish Stew with Ginger, Tofu, and Napa Cabbage

Updated November 3, 2026

Total time
49 min
prep 25 min · cook 24 min
Serves
4
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Chinese Fish Stew with Ginger, Tofu, and Napa Cabbage

Chinese fish stew is a broad family of home-style dishes rather than one fixed recipe; this version simmers white fish, tofu, and napa cabbage in a light ginger-and-soy broth. It is comforting without being heavy, and adding the fish near the end keeps it tender while the vegetables and tofu take on the broth’s savory flavor. Serve it hot with rice, and adjust the seasonings to suit your table.

Ingredients

  • 1¼ lb (570 g) firm white fish fillets, such as cod, haddock, pollock, or sea bass, pin bones removed
  • 5 cups (1.2 L) low-sodium chicken broth or fish stock
  • 12 oz (340 g) firm tofu, drained and cut into 1-inch (2.5 cm) cubes
  • 5 cups (350 g) sliced napa cabbage, about ½ a small head
  • 1 tablespoon (15 ml) neutral oil, such as canola or peanut oil
  • 2 tablespoons (30 g) finely sliced fresh ginger
  • 3 garlic cloves (about 9 g), thinly sliced
  • 3 scallions (about 45 g), thinly sliced, with white and green parts separated
  • 1 tablespoon (15 ml) Shaoxing rice wine
  • 2 tablespoons (30 ml) light soy sauce
  • ½ teaspoon (1 g) fine salt, plus more to taste
  • ¼ teaspoon (0.5 g) ground white pepper
  • 1 teaspoon (5 ml) toasted sesame oil
  • 2 tablespoons (8 g) chopped cilantro leaves, optional
  • 1 small red chile (about 5 g), thinly sliced, optional

Instructions

  1. Prepare the fish and vegetables. Pat the fish dry and cut it into pieces about 1½ inches (4 cm) wide. Keeping the pieces fairly large helps them hold together as they simmer. Check for and remove any remaining pin bones. Slice the ginger, garlic, scallions, and cabbage, and cut the tofu into cubes. Set the scallion greens aside for serving. This preparation takes about 25 minutes if you are slicing everything from scratch; the recipe’s total time includes that prep.
  2. Start the aromatic base. Set a wide, heavy pot or Dutch oven over medium heat. Add the neutral oil and warm it for about 1 minute. Add the ginger, garlic, and scallion whites, stirring for about 2 minutes until fragrant. Keep them moving so the garlic softens without turning dark or bitter.
  3. Add the wine and broth. Pour in the Shaoxing wine and let it bubble for about 30 seconds. Add the broth, soy sauce, salt, and white pepper. Bring the liquid to a gentle simmer over medium-high heat, which should take about 3½ minutes. Avoid a hard rolling boil; vigorous bubbling can break up the tofu and make the fish more likely to fall apart later.
  4. Simmer the cabbage and tofu. Add the napa cabbage and tofu, pressing them gently into the broth. Lower the heat as needed to maintain a gentle simmer and cook for 7 minutes. The cabbage should soften but still have some shape, and the tofu should be hot throughout. Taste the broth now: it should be savory and lightly seasoned, with room for the fish and final sesame oil. Add a little water if it tastes too concentrated.
  5. Poach the fish gently. Arrange the fish pieces in a single layer in the simmering broth, or nestle them among the tofu if the pot is crowded. Spoon broth over the tops, cover the pot, and cook gently for about 8 minutes, checking for doneness toward the end. The exact time depends on the thickness of the pieces and how steadily your pot simmers. Check the center of the thickest piece with an instant-read food thermometer; the USDA FSIS safe minimum internal temperature for fish is 145°F (63°C). Once it reaches that temperature and is opaque, turn off the heat rather than continuing to boil it.
  6. Finish and serve. Drizzle in the sesame oil and taste the broth, adding more salt or soy sauce if needed. Scatter the scallion greens over the top, along with cilantro and chile if using. Ladle broth, vegetables, tofu, and fish into warm bowls, taking care to lift the fish with a broad spoon so the pieces stay intact. The final seasoning takes about 2 minutes.

Tips

  • Choose fish that holds together. Cod, haddock, pollock, and sea bass work well when cut into thick pieces. Very thin fillets cook quickly and may break apart; if that is what you have, cut them into larger sections and check the temperature earlier. Frozen fish is fine if thawed safely in the refrigerator and patted dry before cooking.
  • Keep the broth at a simmer, not a boil. A gentle simmer cooks the fish evenly and protects the soft tofu. If the liquid is bubbling vigorously, lower the heat before adding the fish. Do not stir once the fish is in the pot; spoon broth over it instead.
  • Season in stages. Low-sodium stock varies by brand, and soy sauce adds salt, so taste before adding extra. If the finished broth is too salty, add a splash of water or unsalted stock. If it tastes flat, add soy sauce a teaspoon at a time rather than pouring in a large amount.
  • Know the rice-wine swap. Shaoxing wine adds a mild, rounded aroma. If it is hard to find, use the same amount of dry sherry; the flavor will be a little different but still work. You can also omit it and add an extra tablespoon (15 ml) of broth. Avoid sweet cooking wine, which can make the broth taste sugary.

Serving Suggestions

Serve the stew as a main course in deep bowls with steamed jasmine rice or another plain rice. Rice gives the light broth somewhere to go and makes the meal more substantial; offer extra broth at the table for spooning over each bowl. For a larger meal, put the pot in the middle of the table with a serving ladle and let everyone take fish, tofu, cabbage, and broth together.

A simple side of blanched gai lan, stir-fried bok choy, or lightly dressed cucumber adds contrast without competing with the ginger broth. Keep the garnishes modest: scallion greens and cilantro add freshness, while chile brings heat. A small dish of soy sauce with sliced chile can be offered separately so each person can season their own portion.

Variations

Add mushrooms: Use 4 oz (115 g) sliced shiitake mushrooms in place of some of the cabbage, or add them with the cabbage and tofu. Dried shiitakes are an option too: soak 1 oz (28 g) in warm water until soft, remove the stems, and use some of the strained soaking liquid in place of an equal amount of broth. Strain carefully because dried mushrooms can leave grit behind.

Make it spicy: Add a few slices of fresh red chile with the ginger and garlic, or finish with chile oil at the table. Chile oil can be salty, so taste the broth before adding more soy sauce. For a gentler heat, remove the chile seeds or keep the chile as an optional garnish.

Use another vegetable: Thinly sliced napa cabbage cooks quickly, but you can replace part of it with sliced daikon, baby bok choy, or tender leafy greens. Daikon needs more time, so add it with the broth and simmer until nearly tender before adding the tofu and cabbage. Add delicate greens near the end so they wilt without becoming limp.

Change the fish: Boneless, skinless salmon can be used for a richer stew, though its flavor is stronger than that of white fish. Cut it into thick pieces and follow the same thermometer check. For a mixed seafood pot, add firm shrimp or scallops near the end, but cook each piece until it reaches its own safe doneness; do not rely on the time alone.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking in a covered, shallow container. Cooked fish stew keeps for 3 to 4 days in the refrigerator at 40°F (4°C) or below. For better texture, store the fish with enough broth to cover it and avoid stirring the pieces around when packing. The tofu may become a little firmer and the cabbage softer after storage, but the stew remains usable.

Reheat only the portion you plan to eat, either in a covered saucepan over low to medium-low heat or in a microwave-safe bowl. Warm it gently, stirring the broth carefully and turning the fish once if practical. Reheated leftovers should reach 165°F (74°C), checked with a food thermometer. Avoid bringing the pot to a rolling boil, which can toughen the fish and break up the tofu. Discard stew left at room temperature for more than 2 hours; freezing is possible for up to 2 months for best quality, though tofu and cabbage may soften after thawing. Thaw it in the refrigerator before reheating.

Frequently Asked Questions

What is the best fish for Chinese fish stew?
Choose a firm, mild fish that can be cut into thick pieces, such as cod, haddock, pollock, or sea bass. Fresh or properly thawed frozen fillets both work. The best choice is also one that is easy to check for bones and thick enough to poach without disintegrating.

Can I make this stew with frozen fish?
Yes. Thaw the fish in the refrigerator, not on the counter, then pat it dry before cutting it. Excess surface water dilutes the broth, and partially frozen pieces cook unevenly. If time is short, follow the package’s safe cold-water thawing directions and cook the fish immediately afterward.

Can I prepare the stew ahead?
You can slice the vegetables and cut the tofu several hours ahead and keep them covered in the refrigerator. For the freshest fish texture, make the broth and simmer the cabbage and tofu ahead, then refrigerate promptly. Reheat the broth until steaming and add the fish fresh, cooking it to 145°F (63°C). If reheating a fully cooked leftover stew, bring it to 165°F (74°C).

Why did my fish fall apart?
It may have been cut too small, simmered at a hard boil, or stirred after it went into the pot. Use pieces around 1½ inches (4 cm) wide, keep the liquid gently simmering, and spoon broth over the fish instead of moving it around. Some flaky fish naturally separates more than firm varieties, so lift it carefully when serving.

Is this stew spicy?
No. The basic broth is mild, with warmth from ginger and a little white pepper rather than chile heat. Leave out the optional chile for a gentle version, or offer fresh chile or chile oil at the table so diners can control the spice level.

Can I make it without Shaoxing wine?
Yes. Dry sherry is the closest practical substitute, used in the same amount. If you do not want to use wine, leave it out and add an extra tablespoon (15 ml) of broth; the stew will have a slightly simpler aroma but will still be savory and balanced.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).