How to Make Shanghai Smoked Fish at Home

Shanghai smoked fish fillets glazed with sweet soy sauce, scallions and star anise

Direct answer: Shanghai smoked fish is not usually smoked. Fish steaks are fried until crisp, then soaked briefly in a cooled sweet-savory soy marinade flavored with ginger, scallion and star anise. Use firm fish, dry it thoroughly, fry at 350 F/175 C, and verify the center reaches 145 F/63 C.

Key takeaways

  • Use firm, evenly cut fish steaks.
  • Cool the marinade before adding hot fish.
  • Dry fish well to reduce splatter.
  • Fry in batches at 350 F/175 C.
  • Soak briefly so the crust stays defined.

What is Shanghai smoked fish?

Shanghai xun yu is a cold appetizer with crisp fish and a glossy aromatic glaze. Despite its English name, the common home method uses frying and soaking rather than wood smoke. The contrast comes from hot fried fish meeting cool concentrated marinade.

Ingredients for 4 servings

  • 1 1/2 pounds/680 g carp, black cod or firm white-fish steaks, 3/4 inch thick
  • 1 tablespoon Shaoxing wine
  • 1 teaspoon grated ginger
  • 1/2 teaspoon salt
  • 4 cups/950 ml neutral frying oil

Marinade

  • 1/2 cup/120 ml light soy sauce
  • 2 tablespoons dark soy sauce
  • 1/3 cup/65 g sugar
  • 1 cup/240 ml water
  • 3 ginger slices
  • 3 scallions, cut into lengths
  • 2 star anise
  • 1 small cinnamon stick
  • 1 teaspoon black rice vinegar

Allow 25 minutes preparation, 20 minutes cooking and at least 30 minutes chilling.

Step 1: make and cool the marinade

Combine both soy sauces, sugar, water, ginger, scallion, star anise and cinnamon in a saucepan. Bring to a boil, reduce heat and simmer for 8 minutes. Stir until sugar dissolves. Remove from heat, add vinegar and cool completely in a shallow heatproof dish.

The liquid must be cool before the fried fish arrives. Warm marinade continues softening the crust and can make it greasy.

Step 2: prepare fish safely

Ask the fishmonger to cut equal steaks, or slice fillets into 2-inch pieces. Remove loose scales and pin bones. Pat very dry, then toss with Shaoxing wine, ginger and salt. Refrigerate for 15 minutes. Pat dry again before frying.

Keep raw fish at 40 F/4 C or below and prevent its juices from contacting cooked food. Discard the raw-fish seasoning liquid.

Step 3: heat the oil

Pour oil into a heavy pot so it is no more than halfway full. Heat to 350 F/175 C and use a clip-on thermometer. Keep a lid nearby, keep water away from oil and never leave the pot unattended.

Step 4: fry in small batches

Lower two or three pieces into the oil with a spider. Fry for 4 to 6 minutes, turning once, until deep golden and crisp. Maintain 340 to 355 F/171 to 179 C. The thickest piece must reach 145 F/63 C. Transfer briefly to a rack while the next batch cooks.

Do not crowd the pot. A large temperature drop makes the coatingless fish absorb oil and stick together.

Step 5: soak hot fish in cool sauce

Place each hot batch directly into the cooled marinade. Turn once and soak 3 to 5 minutes. Move to a clean serving dish. Longer soaking gives stronger flavor but softens the exterior.

Step 6: chill and serve

Spoon two tablespoons strained marinade over the fish. Cool promptly, cover and refrigerate for at least 30 minutes. Serve cool or at room temperature for no more than two hours. Garnish with fresh scallion.

Choosing fish and dealing with bones

Traditional preparations often use freshwater fish cut across the bone. For beginners, boneless firm fillets are easier and safer to eat. Tell diners when bones remain. Do not serve bone-in pieces to young children or anyone who cannot manage small fish bones safely.

Substitutions

Different fish

Carp is traditional, but black cod, Spanish mackerel or another firm fish works. Thin delicate sole may break during frying.

Alcohol-free

Replace Shaoxing wine with water plus 1/2 teaspoon rice vinegar.

Less sweet

Reduce sugar to 1/4 cup/50 g. Do not remove it entirely because sweetness is part of the Shanghai-style balance.

Shallow frying

Use 1/2 inch oil and turn carefully. The crust may be less even, but the marinade step remains the same.

Common mistakes

The fish falls apart

It was delicate, cut too thin or moved before its surface set. Use firm 3/4-inch pieces and wait before turning.

The fish is greasy

Oil was too cool or the pot was crowded. Return to 350 F/175 C between batches.

The glaze is too salty

The fish soaked too long or full-sodium soy was used. Keep the soak short and dilute remaining marinade with water if needed.

The crust turns soft

The marinade was warm or soaking lasted too long. Cool the sauce completely and use a 3- to 5-minute soak.

Food safety and storage

FDA guidance recommends cooking finfish to 145 F/63 C. Refrigerate the finished dish within two hours and use within 3 to 4 days. Because reheating destroys the intended texture, serve leftovers cold; discard food left at room temperature beyond two hours.

Related lessons

For another Shanghai staple, read our scallion oil noodle guide. Our fish aroma guide explains selection and handling. Recipes4Less courses demonstrate oil-temperature control and fish doneness visually.

FAQ

Is Shanghai smoked fish actually smoked?

Usually no. The name refers to a traditional style; the common method is frying followed by soaking.

Can I make it a day ahead?

Yes. Refrigerate covered and serve the next day for a well-set flavor.

Can the marinade be reused?

Only if it never touched raw fish. Boil strained leftover sauce before another use and refrigerate promptly.

Why cool the marinade?

Cool liquid stops residual frying heat and preserves more surface texture.

Can I air-fry it?

You can, but the texture and sauce absorption differ from traditional oil frying.

Conclusion

Reliable Shanghai smoked fish depends on dry firm fish, stable oil temperature and a short hot-into-cool soak. Verify doneness with a thermometer, manage bones clearly and chill promptly.

Sources