The enticing aroma of Shanghai Smoked Fish (Xun Yu, 上海熏鱼) wafts through the kitchen, instantly sparking memories of festive family gatherings and jubilant celebrations. This traditional cold appetizer, a staple during Chinese New Year, is a beautiful blend of sweet and savory flavors that enchant every palate at the table. The delicate skin of the fish, perfectly fried to a golden crisp, is lovingly infused with a rich, aromatic sauce that marries notes of ginger, star anise, and a hint of citrus from fresh orange juice.
I first encountered this dish at my grandmother’s home years ago, where it was always the star attraction of our festive spread. Its unique flavor profile not only makes it a crowd-pleaser but also a versatile option that can be adapted to suit various dietary preferences. Whether you choose buffalo carp or opt for another fresh fish, this recipe is sure to bring warmth and comfort to your dining experience. Join me as we dive into this delightful culinary journey and learn how to recreate this cherished dish in your own home!
Why is Shanghai Smoked Fish irresistible?
Uniquely Flavorful: This dish balances sweet and savory notes, creating a taste that’s both complex and comforting.
Aromatic Depth: The infusion of ginger, star anise, and citrus adds a burst of flavor that elevates your meal.
Crispy Delight: Enjoy the contrast of the golden-fried fish skin against the rich sauce.
Perfect for Gatherings: As a traditional Chinese New Year dish, it brings a festive touch to any celebration.
Versatile Options: Adapt the recipe with different fish types to suit your preferences or availability.
Make Ahead Convenience: Prepare it a day in advance, allowing the flavors to meld beautifully and save you time on event day.
Shanghai Smoked Fish Ingredients
For the Fish
• Buffalo Carp (or Pomfret/King Fish) – The traditional choice, providing a sturdy protein base for this delightful dish.
For the Marinade
• Shaoxing Wine – Enhances flavor; dry sherry can substitute if necessary.
• Ground White Pepper – Adds mild heat; can be omitted for a milder dish if preferred.
• Salt – Essential for seasoning; adjust according to taste.
• Ginger (grated) – Fresh ginger is ideal for warmth and aroma; powdered ginger can be used in a pinch.
For the Sauce
• Water – Forms the base of the sauce.
• Ginger slices – Used to infuse the sauce with additional flavor.
• Star Anise – Delivers a sweet, licorice-like flavor.
• Cinnamon Stick – Introduces warmth and spice to the sauce.
• Bay Leaves – Provides herbal undertones for depth.
• Brown Rock Sugar – Sweetens the sauce; light brown sugar can be a suitable substitute.
• Oyster Sauce – Brings umami richness; consider a vegetarian alternative if needed.
• Light Soy Sauce – Adds a savory flavor; low-sodium soy sauce is a healthier alternative.
• Dark Soy Sauce – Gives color and deeper flavor; adjust quantity for desired texture.
• Chinese Black Vinegar – Offers a unique depth and slight acidity; regular vinegar can be used, but it may change the flavor profile.
• Scallions – Adds a fresh taste and can function as a garnish; green onions work as an alternative.
• Orange Juice – Provides citrusy tang; use fresh juice for the best flavor, or substitute with lemon juice for a twist.
This collection of ingredients will come together to create an unforgettable Shanghai Smoked Fish experience that carries the warmth and joyous spirit of tradition right to your table!
How to Make Shanghai Smoked Fish
-
Prepare the Fish: Start by cleaning and drying your chosen fish. Marinate it with Shaoxing wine, ground white pepper, salt, and grated ginger. Let it sit for 4-6 hours, ideally overnight, to enhance the flavors.
-
Make the Sauce: In a pot, bring water to a boil and add ginger slices, star anise, cinnamon stick, and bay leaves. Let it simmer for a while, then remove the solid spices to create a aromatic base.
-
Add Sauce Ingredients: Toss in the brown rock sugar, Shaoxing wine, oyster sauce, both soy sauces, Chinese black vinegar, chopped scallions, and orange juice. Simmer the mixture for 20-30 minutes until it reduces to about 2 cups.
-
Fry the Fish: Heat oil in a pan to 375°F (190°C). Fry the fish in batches, until it turns a beautiful golden brown. Initially fry until just golden, and then repeat for a darker, richer color.
-
Soak in Sauce: Carefully transfer the fried fish into the cooled sauce, ensuring each piece is well-coated. Let it soak overnight or for several hours to absorb all those delicious flavors.
-
Serve: Plate your Shanghai Smoked Fish and keep any leftovers submerged in sauce within the refrigerator until ready to serve. Enjoy it as a delightful cold appetizer!
Optional: Garnish with extra green onions for a fresh touch.
Exact quantities are listed in the recipe card below.

Expert Tips for Shanghai Smoked Fish
• Pre-Soak Precision: Marinate fish for at least 4-6 hours, but overnight is ideal for deep flavor infusion.
• Fresh Fish Essential: Use fresh fish directly from the fryer for the best soaking results; frozen fish may alter the texture.
• Slice Thickness Matters: Cut the fish into ¾-inch thick pieces to ensure optimal sauce penetration without overcooking.
• Sauce Storage Tips: Keep leftovers submerged in sauce in the refrigerator to maintain moisture and flavor; it improves over time!
• Watch the Frying: Maintain oil temperature at 375°F (190°C) for the perfect golden-brown color; avoid overcrowding the pan to prevent steaming.
• Safety First: Keep kids and pets away during frying, as hot oil can splatter—we want everyone safe and happy while cooking!
These tips will help you create a flawless Shanghai Smoked Fish experience that your family will adore.
What to Serve with Shanghai Smoked Fish?
Indulge in a delightful meal experience that perfectly complements the rich flavors of this beloved dish.
-
Scallion Pancakes: Crispy and flaky, these savory pancakes add a wonderful texture and are perfect for scooping up the flavorful sauce.
-
Stir-Fried Bok Choy: The light, crisp freshness of bok choy brightens the meal, harmonizing beautifully with the sweet-savory notes from the fish.
-
Steamed Jasmine Rice: A classic pairing, this fluffy rice provides a neutral base that balances the rich flavor profile of the smoked fish.
-
Sweet and Sour Cucumber Salad: The refreshing crunch of cucumbers tossed in sweet and tangy dressing prepares your palate for the savory wonders of the fish.
For a touch of warmth, serve a light broth alongside. This can cleanse your palate and enhance the overall experience.
-
Chrysanthemum Tea: A fragrant, delicate tea that pairs wonderfully with the dish, offering a soothing complement to every bite.
-
Mango Sticky Rice: For dessert, this sweet treat presents a tropical twist that will leave your guests with a lasting impression. The creaminess of the coconut pairs well with the dish’s flavors.
Creating a memorable meal is all about balance, and these pairings will elevate your experience of Shanghai Smoked Fish like never before!
Make Ahead Options
Preparing Shanghai Smoked Fish (Xun Yu) in advance is a fantastic way to save time and ensure that you can enjoy this delectable appetizer without stress. You can marinate the fish up to 24 hours ahead, allowing the flavors to intensify beautifully. After frying the fish, soak it in the cooled sauce for 3 hours or preferably overnight to allow the fish to absorb the rich flavors. Store any leftovers submerged in the sauce in the refrigerator for up to 3 days to maintain quality. When ready to serve, simply plate the fish chilled from the refrigerator, and you’ll have a delightful dish, just as satisfying as when freshly made!
Shanghai Smoked Fish Customizations
Invite your creativity into the kitchen by personalizing this delectable dish! With a few adjustments, you can make this traditional recipe truly your own.
- Different Fish: Swap buffalo carp for pomfret or king fish based on what’s fresh and available in your area. Each fish brings its own unique flavor and texture to the table.
- Sweetness Adjustment: Play with the sauce’s sweetness by tweaking the amount of brown sugar or orange juice, making it as sweet or tangy as you desire for your palate.
- Spice It Up: Add a pinch of chili flakes or a dash of sriracha to the sauce for a delightful kick that complements the sweet and savory notes beautifully.
- Citrus Twist: Swap out the orange juice for lemon or lime juice for a brighter, zesty flavor that adds a refreshing zing to each bite.
- Herb Infusion: Toss in a few sprigs of fresh cilantro or basil while simmering the sauce to introduce an aromatic herbal twist that elevates the dish further.
- Vegetarian Option: Replace fish with tofu or seitan to make a vegetarian version; marinate and fry until golden for a similar texture and deliciousness.
- Ingredient Swap: Use coconut sugar in place of brown rock sugar for a unique, slightly caramel flavor that complements the overall taste beautifully.
- Less Oil: Adjust frying method by using an air fryer for a healthier option, producing a crispy finish without the extra oil.
These variations not only customize your Shanghai Smoked Fish but also ensure that every dining experience remains fresh and exciting. Enjoy experimenting and discovering your perfect version!
How to Store and Freeze Shanghai Smoked Fish
Refrigerator: Store leftovers submerged in sauce in an airtight container for up to 3 days. This method preserves the fish’s flavor and tenderness while keeping it ready for your next meal.
Freezer: For longer storage, freeze the fish without the sauce in a sealed freezer bag for up to 2 months. Thaw in the fridge overnight before reheating for optimal texture.
Reheating: To enjoy leftovers, reheat gently on the stovetop with a splash of water or a bit of the original sauce over low heat until warmed through. This helps retain the rich flavor of the Shanghai Smoked Fish.
Make Ahead: This dish can be prepared a day in advance, allowing it to absorb the flavors fully. Store as mentioned above for the best results!

Shanghai Smoked Fish Recipe FAQs
How do I select the best fish for Shanghai Smoked Fish?
Absolutely! While buffalo carp is traditional, you can choose fresh pomfret or king fish. Look for fish that has clear eyes, shiny skin, and a fresh ocean smell. Avoid any with dark spots or an overly fishy scent.
How should I store leftovers of Shanghai Smoked Fish?
To keep your Shanghai Smoked Fish delectable, store it submerged in the sauce within an airtight container in the refrigerator. It will stay fresh for up to 3 days, and the flavors will actually deepen over time!
Can I freeze Shanghai Smoked Fish?
Yes, you can freeze it! For best results, separate the fish from the sauce and place the fish in a sealed freezer bag for up to 2 months. When you’re ready to enjoy it, thaw overnight in the fridge. Reheat gently on the stovetop with some water or reserved sauce to keep it moist and flavorful.
What if my fish is not frying evenly?
Very! If your fish isn’t frying evenly, make sure your oil is hot enough—about 375°F (190°C). Fry in small batches to avoid overcrowding, which can cause the temperature to drop and lead to uneven cooking. Also, ensure the fish is cut into even ¾-inch portions for consistent results.
Are there any dietary considerations for Shanghai Smoked Fish?
Of course! If someone has allergies to shellfish or is vegetarian, simply use a different fish or a vegetarian-friendly substitute like tofu. For those keeping an eye on sodium intake, low-sodium soy sauce and reduced sugar can help adapt the dish without sacrificing too much flavor.
Can I make Shanghai Smoked Fish a day in advance?
Absolutely! In fact, making it a day ahead is often recommended. It gives the fish time to soak in the delicious sauce. After preparing, store it in the refrigerator as discussed, and it’ll be ready to impress at your gathering.

Elevate Your Meals with Savory Shanghai Smoked Fish Xun Yu
Ingredients
Equipment
Method
- Clean and dry the fish. Marinate with Shaoxing wine, ground white pepper, salt, and grated ginger for 4-6 hours, ideally overnight.
- In a pot, bring water to boil and add ginger slices, star anise, cinnamon stick, and bay leaves. Simmer, then remove the solids.
- Add brown rock sugar, Shaoxing wine, oyster sauce, both soy sauces, Chinese black vinegar, chopped scallions, and orange juice. Simmer for 20-30 minutes until reduced to about 2 cups.
- Heat oil in a pan to 375°F (190°C). Fry fish in batches until golden brown.
- Transfer fried fish into cooled sauce, ensuring each piece is well-coated. Soak overnight.
- Plate and serve cold, keeping any leftovers submerged in sauce in the fridge.








