Go Back

Fish Vendor’s Shanghai Smoked Fish (Xunyu, 熏鱼) | Zoe Yang

Author: Zoe Yang | The Mala Market


For the fish

  • 1 whole medium-sized freshwater fish, such as largemouth or striped bass, cleaned and gutted or 500g if using fish filets (catfish recommended)
  • 4 cups neutral oil for frying, such as canola oil
  • 5 slices fresh ginger optional, for pre-marinating
  • 2 tablespoons Shaoxing wine optional, for pre-marinating

Tangcu sauce

  • cups water
  • 3 bay leaves
  • 1 star anise
  • 1 piece cassia bark
  • cup rock sugar
  • 3 tablespoons Shaoxing wine
  • 2 tablespoons oyster sauce
  • 3 tablespoons light soy sauce
  • 1 tablespoon dark soy sauce
  • 2 teaspoons honey
  • 1 tablespoon black vinegar
  • osmanthus flowers for garnish optional

Jiaoyan seasoning variation

  • 3 tablespoons your favorite seasoning salt blend I used The Mala Market's Shaokao Spice


Sauce (make up to a week ahead of time)

  • Add 3½ cups of water, bay leaves, star anise and cassia/cinnamon bark to a wok and bring to a boil, then lower to a bare simmer. Simmer spices for 20 minutes, then remove with a slotted spoon.
  • Add rock sugar, 3 tablespoons Shaoxing wine, oyster sauce, light soy and dark soy to the simmering water. Reduce for about 15 minutes, or until the sauce coats a spoon and the bubbles start getting bigger and slower. Skim any scum that floats to the top.
  • Stir in honey and black vinegar, then remove from heat. (If you cook the honey and black vinegar for too long, the sauce will become very scummy and taste medicinal).
    Transfer to a container and let the sauce cool—it should have the consistency of a light glaze when cool. If it seems thin, you can always put it back on the stove to reduce longer. If it seems thick, like molasses, reheat and whisk in a few tablespoons of water. Store covered in the fridge until you’re ready to fry your fish.

Frying the fish

  • If your fishmonger didn’t do this part already: Remove the fish’s head, tail and fins, then chop fish into ½-1 inch sections, going straight down through the spine (see photos in post).
    Optional step: Marinate the sections of fish in 5 slices of ginger and 2 tablespoons Shaoxing wine for an hour before frying.
  • Heat up 4 cups of oil in a pot or a wok to 375℉/190℃. If you’re not sure about the temperature, test it with a small piece of fish—it should float immediately and bubble energetically. Pat fish pieces dry with a paper towel and add one or two pieces to the oil at a time—if you add more, the oil temperature will drop too much. Also, the fish pieces want to stick to each other, so don’t crowd them.
  • Fry the fish pieces for 2-3 minutes per side, or until the fish is brown. Not golden brown, brown brown. Try to maintain oil temperature between 350-380℉ (~175-195℃) during this process, but don’t worry too much about it—it’s very forgiving. Err on the side of overcooking, since you want the fish to be almost crunchy.
  • For jiaoyan fish, add fresh-fried fish pieces to a bowl with a few tablespoons of shaokao spice and toss well to coat evenly. It’s important to do this while fish is still very hot so the spices will stick.
    For tangcu fish, dunk the fish into the chilled marinade, making sure to coat all surfaces.
  • Serve jiaoyan fish immediately; serve tangcu fish immediately or after chilling, covered in the marinade, in refrigerator for up to 3 days. Sprinkle the tangcu fish with osmanthus flowers when plating for restauranty flair.