Aromatic bases & spice pastes

XO sauce

XO酱 · A premium Cantonese condiment of the 1980s Hong Kong banquet era, built on reconstituted dried scallops and dried shrimp folded into a fragrant oil base with cured ham, alliums, and chilies. The name invokes French cognac XO — a signal of expense and prestige, referencing the precious dried seafood that once appeared only on imperial banquet tables. XO sauce is not cooked to serve immediately; it is fried at low temperature until the ingredients are just set and fragrant, then steeped in the oil to meld flavors over hours. It functions as a high-umami finishing sauce and flavor base.

XO sauce
Family · Aromatic bases & spice pastesDifficulty · ModerateMake-ahead · YesYield · 100 g dried scallops yields ~350 g sauce, ~14 × 25 g portions

The formula

1 : 0.5 : 0.5 : 0.4 : 0.4 : 2 scallops : shrimp : ham : garlic : shallots : oil

Scale by dried scallop weight as the anchor. Example batch: 100 g dried scallops → 50 g dried shrimp → 50 g Jinhua or Smithfield ham (rindless, minced) → 40 g garlic (minced) → 40 g shallots (sliced) → 200 g neutral oil. Yields ~350–400 g finished sauce. Adjust chilies to taste (20–50 g dried Thai bird or Chao Zhou chili flake).

Identity

  • Dried yellow sea scallops (瑶柱) rehydrated and pulled into silk threads — the non-negotiable umami anchor
  • Dried shrimp (虾皮/虾米) for brine, color, and textural pop
  • Cured pork — Jinhua or Smithfield ham — for savory depth and subtle sweetness
  • Low-and-slow frying: aromatics bloomed in oil, proteins toasted separately, then married and steeped — never boiled or burned
  • Thick oil layer on top when stored — acts as seal and flavor medium; must cover all solids

Ingredients

BaseDried yellow sea scallops (瑶柱 / conpoy)The defining ingredient. Soak 2–3 h in cold water until pliable, then pull apart into silk threads. Soaking liquid strained and added — pure umami.
BaseDried shrimp (虾皮 or 虾米)Smaller dried shrimp for color and brine flavor; optionally soak 20 min, drain, and roughly chop.
BinderJinhua ham or Smithfield ham (rindless)Minced to small dice. Provides cured pork umami and subtle sweetness. Do not substitute with prosciutto — salt level and flavor profile differ.
AromaticsGarlic, mincedBlooms in the oil to golden and fragrant. Size of mince affects surface area and browning rate.
AromaticsShallots, slicedAdds sweetness and floral note. Slice uniformly for even cooking.
SeasoningDried Thai bird chilies or Chao Zhou chili flakeDried Thai bird for heat; Chao Zhou chili for color and deeper, earthier spice. Use 20–50 g depending on desired intensity.
FatNeutral oil (peanut, vegetable or canola)Frying medium and final sauce base. Must be enough to coat all solids; typically 1.5–2× weight of total dry ingredients.
SeasoningSugar, oyster sauce, Shaoxing wine, white pepperSeasoning balance only. Optional: a few drops of sesame oil at the very end for aroma.

Method

  1. 1Rehydrate the dried scallops in cold water (2–3 hours or overnight refrigerated). Reserve the soaking liquid. Pull the softened scallops into silk threads by hand or with two forks. Briefly soak and drain the dried shrimp, then roughly chop.Rehydration ensures the scallops cook evenly and become tender rather than chalky. The soaking liquid is liquid umami — add it to the pot. Pulling into threads maximizes surface area for flavor release.
  2. 2Heat the oil to 120–130°C (250–265°F). Add the sliced shallots. Fry gently, stirring occasionally, until pale gold and fragrant, 8–12 minutes. Do not rush or raise heat — the goal is bloom, not browning.Gentle frying extracts shallot sugars and sulfur compounds into the oil, building the aromatic foundation. High heat would burn the shallots and make the sauce bitter.
  3. 3Add the minced garlic and dried chilies. Lower heat slightly. Fry 3–5 minutes until the garlic is pale gold and the chilies have released their red oil into the medium.Garlic's allicin develops at this temperature. Chilies need time in fat to bleed their color and capsaicin into the oil — this is the visual signature of XO sauce (deep red-orange oil).
  4. 4Increase heat to 160–170°C (320–340°F). Add the chopped dried shrimp first (higher moisture), fry 2–3 minutes until toasted and fragrant. Add the ham and fry another 2 minutes. Finally add the scallop threads and 2–3 tbsp of the reserved scallop soaking liquid. Fry 3–5 minutes, stirring, until the liquid evaporates and the proteins are lightly toasted but not browned or crispy.Each protein toasts separately at higher heat to develop Maillard compounds. Adding them staged by moisture content prevents steaming vs. frying inconsistency. The liquid creates a brief steaming burst that drives flavor into the scallop fibers.
  5. 5Remove from heat. Season with oyster sauce, a pinch of sugar, white pepper, and Shaoxing wine. Stir to combine. Cool completely. Transfer to a clean, dry jar. Spoon a thin layer of the frying oil over the top to seal the surface. Refrigerate.Seasoning is balanced at the end when all flavors are present. The oil seal excludes air, preventing mold and oxidation. Refrigeration sets the flavors — XO sauce is always better the next day.

Techniques that matter

Low-temperature aromatic bloom

Shallots and garlic are fried gently (120–130°C) to extract and dissolve their sulfur compounds, sugars, and volatiles into the oil without burning. This is an aromatic extraction, not a browning technique.

Staged high-heat protein toast

Dried shrimp, ham, and scallops are fried at higher temperature (160–170°C) separately by moisture content. This develops Maillard reaction compounds — the savory, nutty, roasted depth characteristic of XO sauce — without creating a uniform, overcooked texture.

Steeping

XO sauce is not served immediately after cooking. It cools and steeps in its oil, allowing the fat-soluble flavor compounds from the chilies, ham, and seafood to equilibrate throughout the medium. This is why day-old XO sauce is noticeably better.

Oil sealing

A layer of frying oil poured over the surface of the finished sauce excludes oxygen and moisture, creating an anaerobic seal. This extends refrigerator shelf life by 2–3 weeks vs. unsealed storage and prevents surface mold.

Variations & derivatives

Seafood-heavy XOGuangdong / Hong Kong

Increased dried scallop and shrimp ratio (1.5–2× standard). Some versions add dried squid or cuttlefish strips. Higher protein content, less ham.

Spicy XOSichuan-influenced kitchens

Doubles or triples the chili content. Uses doubanjiang or Tien Tsin chilies for a deeper, fermented heat. Less sweet ham.

Hainanese XOHainan Island

Adds Hainanese chicken oil (鸡油) as part of the frying medium. Uses local dried seafood more prominently. Slightly lighter color.

Vegetarian XOBuddhist vegetarian kitchens

Replaces dried seafood with rehydrated shiitake mushrooms (cooked in their liquid), kelp, and sweet rice wine. Still called 'XO sauce' but not traditional.

Used in these dishes

XO scallops · Finishing sauce — spooned over seared scallops or tossed through just before serviceXO fried rice · Stirred into the rice at the very end of frying; provides umami, color, and textural contrastSteamed fish · Drizzled over steamed white fish (e.g., sea bass, grouper) as a finishing sauce; the oil floats and glistensCongee · A tablespoon stirred into plain congee for savory depth; replaces soy sauce as the seasoning vehicleLo mein / pan-fried noodles · Tossed through hot noodles as the primary seasoning and sauceDim sum dipping · Served alongside steamed dumplings (har gow, siu mai) as an alternative to traditional soy-ginger dipsHot pot dipping · Mixed with a little sesame oil and serves as a rich dipping sauce for hot pot slicesBitter melon with XO · Stir-fried bitter melon finished with XO sauce — the sauce's sweetness counters the melon and provides umami contrast

Substitutions

  • Jinhua hamSmithfield ham or canned ham, minced fineAcceptable Western substitute; reduces authenticity but maintains cured pork flavor. Do not use prosciutto — too lean and salty.
  • Dried scallopsDried geoduck truncus or premium dried mushroomsDried scallops are the defining ingredient. Substitutes yield a different, acceptable condiment — not XO sauce. Use extra dried shrimp and shiitake to compensate.changes result
  • Dried Thai bird chiliesUrfa biber, Española chili flake, or KashmiriThese provide color and moderate heat without bitterness. Urfa has a smoky-raisin quality; Kashmiri gives deep red color with mild heat.

Troubleshooting

Bitter, acrid taste

Oil temperature too high when frying garlic and shallots; aromatics burned. Or dried chilies cooked too long at high heat, releasing burnt capsaicin.Start aromatics at 120–130°C. If the oil smokes, remove from heat, cool, and restart. Garlic should be pale gold, not brown.

Soft, soggy scallop texture

Scallops not toasted at high enough heat after addition; or excess soaking liquid added back without full evaporation. Steaming rather than frying.Ensure oil is at 160–170°C when scallops go in. Let all added liquid fully evaporate before removing from heat. The scallop threads should feel slightly firm and dry, not wet.

Weak, flat flavor

Insufficient frying time for the protein stage; dried seafood not properly toasted; or using low-quality dried seafood without enough glutamates.Toast proteins longer at higher heat until deeply fragrant. The aroma should be concentrated and almost nutty. Use premium dried scallops — the glutamate content is directly tied to quality and price.

Sauce separates or goes rancid quickly

Insufficient oil in the finished sauce; surface not sealed with a protective oil layer; or moisture in the jar before storage.The sauce must be fully submerged in oil. Ensure all ingredients and the jar are completely dry before filling. Replenish the oil layer if it is absorbed over time.

Storage

Keeps 3–4 weeks refrigerated, sealed under oilCool completely. Spoon a thin layer of the frying oil over the top to fully cover all solids (min. 5 mm). Seal with a tight lid. Store in the refrigerator. Do not use wet spoons — contamination will cause rapid spoilage. Reheat: Serve cold or at room temperature. To warm: place in a dry nonstick pan over very low heat, stirring gently, just until fluid. Do not boil — this degrades the delicate seafood flavors and risks burning.

The science behind it

Maillard reactionUmami / glutamatesFat-soluble flavor extractionHydrolytic rancidityCollagen shrinkage / protein coagulation