HǎoWèi
Crucian Carp and Tofu Soup (鲫鱼豆腐汤) — Jiangsu-Zhejiang recipe hero image
Jiangsu-ZhejiangMedium 45 min serves 3

Crucian Carp and Tofu Soup (鲫鱼豆腐汤)

鲫鱼豆腐汤 · jì yú dòu fu tāng

家庭快手版 · Home version: Family version: the fish is pan-fried until golden, then simmered with tofu in boiling water until the broth turns milky white. Restaurant version adds a splash of milk or a pork bone to force the emulsion, and finishes with a little lard for a rounder mouthfeel.

The famous trick in this soup is not an ingredient, it is a temperature: you pour boiling water over a fish that has just been fried in hot oil, and the broth turns opaque white in under ten minutes. It looks like cream and it is nothing but emulsified fish fat and collagen. Crucian carp (鲫鱼) is the traditional choice in Jiangnan — small, bony, and far more flavorful than any fillet — and the tofu is there to soak up that broth and to make the soup a meal. Nursing mothers across China are given this soup, which tells you something about what it is believed to do.

H

Recipe author: HǎoWèi Test Kitchen

Home-cooking research team

Reviewed by HǎoWèi editorial team · Last updated 2026-08-29

More tofu recipes →Comfort FoodSeafoodSoups

Ingredients

  • whole crucian carp, cleaned and scaled鲫鱼,宰杀去鳞洗净🏮 asian2 fish (about 400 g each)
  • firm tofu, cut into 2.5 cm cubes老豆腐,切 2.5 厘米方块🏮 asian400 g
  • fresh ginger, sliced生姜,切片🛒 local6 slices
  • scallions, cut into lengths plus extra for garnish小葱,切段(另备葱花)🛒 local3 stalks
  • neutral oil for frying煎鱼用油(清淡油)🛒 local2 tbsp (30 ml)
  • Shaoxing wine绍兴黄酒🏮 asian1 tbsp (15 ml)
  • boiling water沸水🛒 local1.5 L
  • ground white pepper白胡椒粉🏮 asian1/2 tsp
  • salt盐🛒 local1.25 tsp

whole crucian carp, cleaned and scaled: Any small whole freshwater fish works: tilapia, sea bream, or white carp. Ask the fishmonger to gut and scale it.

🌶️ Adjust to your taste

Pick a level and we'll show exactly how much to change — no more "适量".

Spice level

Saltiness

Oiliness

Make it vegetarian

Instructions

  1. 1Pat the fish completely dry inside and out with paper towels — water on the skin is what makes fish stick and tear. Score two shallow diagonal cuts on each side. Rub a little salt over the skin and let it sit 5 minutes, then pat dry again.

    🔍 Look for 抹盐静置 5 分钟 · 5 minutes salting

    Visual: 鱼皮呈哑光干燥而非湿亮;刀口约 3 毫米深,刚好划透鱼皮Skin looks matte and dry rather than glossy-wet; the cuts are about 3 mm deep, just through the skin

    You know it's right when: 手指按压鱼皮——感觉发黏干涩,而不是滑腻Press a finger on the skin — it feels tacky and dry, not slippery

  2. 2Heat the oil in a wok or heavy pan over medium-high heat until it shimmers. Lay the fish in and do not touch it for 3 minutes. It should release cleanly when the skin has set. Fry until deep golden, then turn once and repeat on the other side.

    🔍 Look for Medium-high 每面 3 分钟 · 3 minutes per side

    Visual: 鱼皮由半透明灰白转为不透明的金褐色、边缘焦脆,刀口处的肉已变乳白Skin turns from translucent grey to opaque golden-brown with crisp edges; the flesh at the cut lines has gone opaque white

    You know it's right when: 锅铲伸到鱼身下——能无阻力地铲起,锅底不留鱼皮Slide a spatula under the fish — it lifts without resistance and no skin stays behind on the pan

    A dry, hot pan and a patient 3 minutes beats any non-stick coating.

  3. 3Add the ginger slices and scallion lengths around the fish, then splash in the Shaoxing wine and let it sizzle for 20 seconds. Now pour in the boiling water all at once — cold water here gives a thin, grey broth instead of a white one. This is the step that decides the whole dish.

    🔍 Look for High heat 大火滚沸保持 10 分钟 · bring to a rolling boil and hold for 10 minutes

    Visual: 沸水接触热油的瞬间汤面泛白,2 分钟内整锅转为不透明的象牙白The moment the boiling water hits the hot oil it clouds over; within 2 minutes the whole pot turns opaque and ivory

    You know it's right when: 汤真正不透明——隔着汤看不见鱼The broth is genuinely opaque — you cannot see the fish through it

  4. 4Hold at a rolling boil for 10 minutes, then add the tofu cubes, reduce to a medium simmer, and cook 15 minutes more. Keep it moving gently; hard stirring will break the fish into the broth.

    🔍 Look for Medium heat 滚沸 10 分钟 + 微沸 15 分钟 · 10 minutes boiling, then 15 minutes simmering

    Visual: 汤保持奶白浓稠感;豆腐块略微胀大并染上汤的象牙白Broth stays milky and thick-looking; tofu cubes turn slightly swollen and take on a pale ivory tint from the broth

    You know it's right when: 豆腐里外都热——掰开一块中心冒热气Tofu is hot all the way through — break one open and steam escapes from the center

  5. 5Season with salt and white pepper, taste, and adjust. Skim any surface foam if needed. Ladle into bowls with a piece of fish and several cubes of tofu each, spoon the broth over, and finish with scallion. Serve very hot.

    🔍 Look for

    Visual: 碗中是象牙白的汤、金皮的鱼、浅白的豆腐块,表面浮着鲜亮的葱圈Bowl of ivory broth, golden-skinned fish, pale tofu cubes, and bright scallion rings floating on top

    You know it's right when: 汤味浓郁微甜、无腥气;咽下后一秒才泛起白胡椒的暖意The broth tastes rich and faintly sweet with no fishy note; the white pepper warmth arrives a second after swallowing

Tips

  • · Dry the fish thoroughly before it hits the pan. Water is what makes skin tear.
  • · Boiling water, never cold. The temperature shock against hot oil is what creates the white emulsion.
  • · Hold a hard boil for the first 10 minutes — that is when the broth turns white. Drop to a simmer afterward.
  • · Crucian carp is bony. Warn anyone eating it, and spoon broth over rice rather than picking at the fine bones.
  • · Add a splash of milk if your fish is very lean and the broth refuses to whiten.

Sources & references

Quantities, technique notes, and substitution ratios are cross-checked against established Chinese cookery references and standard food-science sources.

Common questions

What type of tofu should I use?

Silken/soft tofu (嫩豆腐) for mapo tofu and soups — silky, falls apart gently. Firm/extra-firm (老豆腐) for stir-fries, braises, and anything you want to keep its shape. If the recipe doesn't say, firm is the safe default for stir-fries.

Source: HǎoWèi ingredient guide

Can I skip Shaoxing wine? What's the substitute?

Dry sherry is the closest 1:1 swap (fidelity ~80%). No sherry? Use a splash of white wine plus a little water, or just skip it and add a tiny extra pinch of sugar — the wine's job is depth and removing meat's gamey notes, and a good marinade covers most of it.

Source: HǎoWèi substitution engine

Can I reduce the salt/soy in this recipe?

Yes — soy sauce is the main sodium source. Use light soy at 2/3 amount and finish with salt only to taste. Rinse canned/doubanjiang components if possible. Note: reducing soy also reduces color; a drop of dark soy or a pinch of sugar can restore depth without salt.

Source: HǎoWèi diet guide

🥢 Ask HǎoWèi

Questions about technique, ingredients, substitutions, and flavor — answered from our verified cooking knowledge base.

What to serve with it

A complete Chinese dinner in one plan — pick one from each role.

What cooks say

Made this? Leave a note.

  • No comments yet — be the first!

Cook next