
Lord Bao's Fish
“Whole crucian carp slow-braised in dark soy, vinegar, and rock sugar until the bones soften — the fish is eaten end to end, spine and all.”
The bite
Dark, almost black, with a sour-sweet edge from Zhenjiang vinegar that the long braise has folded into the soy. The first surprise is the spine — you bite straight through it, gritty-soft like a softened anchovy bone. Flesh is dense and salty, more like a fish jerky than a steamed fish. Eat with a steaming bowl of plain rice; the strong flavor wants something blank against it.
Where it comes from
The dish is named for Bao Zheng (包拯, 999-1062), the Northern Song magistrate from Hefei whose reputation for incorruptibility made him a folk symbol of stern justice — Lord Bao 「包公」 in opera and storybooks. Hefei cooks tied the local crucian-carp braise to him by way of color: dark soy and vinegar produce an inky finish meant to read as 黑面包公, the「black-faced Lord Bao」 of the stage. The bone-soft technique comes from the broader Anhui slow-braise tradition.
What makes it work
Three hours at a bare simmer — never a rolling boil — is the load-bearing constraint. Below 95°C, vinegar's acetic acid steadily dissolves the calcium phosphate matrix in fish bones, softening them without breaking the flesh apart. A rolling boil agitates the fish until they fall to pieces and never reaches deeper bone-softening because acetic acid evaporates faster than it works. Crucian carp specifically is used because its bones are thinner and more numerous than carp — surface area means faster softening.
On the Palate
Ingredients
Serves 4How it's made
6 steps · Show ↓25 min active · 180 min waiting
How it's made
6 steps · Show ↓- 115 minCure
Scale, gut, and clean 4 small crucian carp (鲫鱼, 200g each) — keep the heads on. Score 3 shallow cuts per side. Pat dry, rub with 1 tsp salt and 1 tbsp Shaoxing wine. Rest 15 minutes.
- 25 minPan-fry
Heat 4 tbsp oil to 190°C in a wide pan. Fry fish 2 minutes per side until skin is firm and golden — they need to hold shape through 3 hours of braising. Lift out.
neutral oil - 33 minAssemble
Line a heavy clay pot with a layer of scallion stalks and ginger slices to lift the fish off the bottom — direct contact will scorch over a long braise. Lay the fish in tail-to-head, single layer.
scallionginger - 42 minSeason
Pour over: 4 tbsp light soy, 2 tbsp dark soy, 80ml Zhenjiang black vinegar, 50g rock sugar, 3 tbsp Shaoxing wine, 1 star anise, 1 piece cassia, 600ml water. Liquid should just cover the fish.
- 5180 minSlow braise
Bring to a bare simmer — surface should barely tremble, never roll. Cover. Cook 3 hours on the lowest possible heat. Don't lift the lid for the first 2 hours; check liquid level after that and add hot water if it's dropped below the fish backs.
- 65 minReduce
Uncover, raise heat slightly to reduce sauce 5 minutes — should glaze, not pool. Lift fish carefully (they're fragile now) onto a long plate, spoon glaze over. Eat warm or cooled to room temperature; the bones should crush between teeth.





