Pearl River Steamed Fish Supper
A crisp, aromatic Cantonese-inspired dinner centered on a delicately steamed whole fish with hot-oil ginger and scallion sauce, balanced by a glossy garlic-soy braised eggplant, perfectly steamed jasmine rice, and a bright quick-pickle cucumber. Clean flavors, textural contrast and table-side optional heat make this a restrained, restaurant-style Chinese supper worth sitting down for.
1. FINAL MENU
- Name of the meal: Pearl River Steamed Fish Supper
- Cuisine type: Chinese
- Serve time: 5:00 PM
This meal centers on a classic Cantonese steamed whole fish finished at the table with hot oil poured over fresh ginger and scallion for an aromatic lift; it pairs with a savory soy-garlic braised eggplant that holds at warm temperature, simply steamed jasmine rice, and bright quick-pickled cucumber to cut the richness. The menu is balanced for texture and temperature and keeps the shared base mild — any extra chili heat is added at the table.
- Cantonese Steamed Whole Fish with Ginger-Scallion Soy
- Braised Garlic-Soy Eggplant
- Steamed Jasmine Rice
- Quick Pickled Cucumber (room-temperature side)
- Sparkling Lychee Cooler (kid-friendly drink)
- Dry Riesling, 1 bottle (adult beverage pairing)
2. FULLY EXECUTABLE RECIPES
Cantonese Steamed Whole Fish with Ginger-Scallion Soy
Equipment
- 12-inch wok or large deep pot with fitted lid (for steaming)
- Heatproof 9-10 inch shallow oval plate (fits inside wok/pot)
- Long shallow spatula or fish spatula
- Small heatproof bowl for sauce (about 8 oz)
- Small saucepan
- Kitchen thermometer not required
- Knife and cutting board
Ingredients
- Whole sea bass or whole snapper, cleaned and scaled — 1 fish, 1.25 lb total (for 2 servings)
- Substitution: 2 skin-on fish fillets (each 6–8 oz) if whole fish unavailable; steam on a flat heatproof plate.
- Kosher salt — 1/2 teaspoon
- Shaoxing wine (or dry sherry) — 1 tablespoon
- Fresh ginger — 2 tablespoons julienned (about a 1.5 oz knob)
- Scallions (green onions) — 3 total: 1 sliced lengthwise for fish bed, 2 thinly sliced (white and green separated) for sauce
- Light soy sauce — 3 tablespoons
- Granulated sugar — 1 teaspoon
- Toasted sesame oil — 1 teaspoon
- Neutral oil (vegetable or canola) — 2 tablespoons (for hot oil and light frying)
- Vegetable oil (for plate bed) — 1 tablespoon (optional thin smear)
- Freshly ground white or black pepper — 1/8 teaspoon
Practical substitutions
- If sea bass or snapper unavailable, use whole rainbow trout (1–1.25 lb) or 2 large fillets. If Shaoxing wine missing, use dry sherry.
Cooking / Baking
- Total cook time: 20 minutes active (includes prep through plating). Steam time: 10–12 minutes depending on thickness; plan 12 minutes for a 1.25 lb whole fish.
Instructions
- (Fish — 4:40 PM start on timeline) Pat the fish dry inside and out. Make three shallow diagonal cuts on each side with a sharp knife. Rub 1/2 teaspoon kosher salt evenly over the cavity and exterior; pour 1 tablespoon Shaoxing wine into the cavity and rub lightly. Place 1 sliced scallion and 2 slices of ginger into the cavity.
- (Fish) Prepare the steamer: add 2–3 inches of water to the wok or pot, bring to a strong simmer over high heat with the lid on. While water heats, arrange remaining julienned ginger and a thin smear of vegetable oil on the heatproof plate; place the fish on top, skin side up.
- (Fish) Once water is simmering and steaming strongly, place the plate with fish in the steamer basket/rack, cover, and steam over high for 12 minutes for a 1.25 lb whole fish. (If using two fillets, steam 8–9 minutes.)
- (Sauce) While fish steams, combine 3 tablespoons light soy sauce, 1 teaspoon sugar, 1 teaspoon toasted sesame oil, and the thinly sliced white parts of 2 scallions in a small heatproof bowl.
- (Finish) After 12 minutes, quickly test doneness by inserting a thin knife at the thickest part of the fish — flesh should flake and be opaque. Remove the plate from the steamer and carefully transfer the fish to a warmed serving platter if desired.
- (Hot oil) Heat 2 tablespoons neutral oil in a small saucepan until shimmering but not smoking (about 350–375°F if using thermometer). Pour the prepared soy-scallion sauce over the fish, then immediately pour the hot oil over the scallions and ginger in the sauce to release aromatics. Scatter the sliced green scallion tops over the fish and season with 1/8 teaspoon freshly ground pepper. Serve immediately.
- (Plating) Serve fish whole at the table; provide a fish spatula and small serving plates. If using fillets, plate each fillet individually.
Braised Garlic-Soy Eggplant
Not nut-free: peanut.
Equipment
- 12-inch nonstick or carbon steel skillet or wok
- Mixing bowl
- Measuring spoons
- Rubber spatula
Ingredients
- Asian (Chinese) eggplant — 1 lb total (about 2 medium)
- Neutral oil (vegetable or peanut) — 2 tablespoons
- Garlic — 4 cloves, minced
- Scallion — 1, white and green separated; whites thinly sliced, greens for garnish
- Light soy sauce — 2 tablespoons
- Dark soy sauce — 1 teaspoon
- Granulated sugar — 1 teaspoon
- Rice vinegar — 1 tablespoon
- Water — 3/4 cup
- Cornstarch — 1 teaspoon (to thicken)
- Toasted sesame oil — 1 teaspoon
- Ground white or black pepper — 1/8 teaspoon
Practical substitutions
- If Asian eggplant is unavailable, use 2 small globe (Italian) eggplants; peel and cube slightly larger, but cook time may increase.
Cooking / Baking
- Total cook time: 30 minutes active (sauté + simmer + thicken). This is a braise-style side that holds warm for short periods.
Instructions
- (4:20 PM start on timeline) Cut eggplant into 1-inch batons (lengthwise halves then into sticks). Salt lightly if you prefer to reduce bitterness (not required).
- Heat the 12-inch skillet or wok over medium-high heat. Add 2 tablespoons neutral oil. When oil shimmers, add the eggplant in a single layer as much as fits; brown for 3–4 minutes, stirring to get even color. You may do in two batches; do not crowd.
- Push eggplant to one side, add minced garlic and the white parts of 1 scallion; stir-fry 30 seconds until fragrant.
- Stir in 2 tablespoons light soy sauce, 1 teaspoon dark soy sauce, 1 teaspoon sugar, 1 tablespoon rice vinegar, and 3/4 cup water. Bring to a simmer, cover, and reduce heat to medium-low. Simmer gently for 12–15 minutes, stirring once midway, until eggplant is very tender and sauce has reduced.
- Mix 1 teaspoon cornstarch with 1 tablespoon cold water; stir into the pan, simmer 1 minute until sauce thickens and becomes glossy.
- Remove from heat; stir in 1 teaspoon toasted sesame oil and 1/8 teaspoon pepper. Garnish with sliced scallion greens. Keep warm covered; this holds at warm temperature for up to 15 minutes.
Steamed Jasmine Rice
Equipment
- 2-quart saucepan with tight-fitting lid
- Fine mesh sieve
- Rice paddle or fork
Ingredients
- Jasmine rice, uncooked — 1 cup
- Cold water — 1 1/4 cups
- Kosher salt — 1/4 teaspoon
- Neutral oil — 1 teaspoon
Practical substitutions
- If jasmine rice unavailable, use long-grain white rice with the same water ratio.
Cooking / Baking
- Total cook time: 30 minutes (2 minutes rinse + 18 minutes simmer + 10 minutes rest). Rice holds well for about 15 minutes after resting.
Instructions
- (4:15 PM start on timeline) Place 1 cup jasmine rice in a fine mesh sieve and rinse under cold running water until water runs mostly clear (about 30–60 seconds).
- Transfer rinsed rice to a 2-quart saucepan; add 1 1/4 cups cold water, 1/4 teaspoon salt, and 1 teaspoon neutral oil. Stir once.
- Bring to a boil uncovered over medium-high heat. Once it boils, reduce heat to low, cover tightly, and simmer for 18 minutes without lifting the lid.
- Turn off heat and let rice rest, still covered, for 10 minutes. Fluff with a fork or rice paddle and hold covered until service. Finish time targeted ~4:45 PM.
Quick Pickled Cucumber (room-temperature side)
Equipment
- Mixing bowl
- Microplane or small grater (optional)
- Knife and cutting board
Ingredients
- English cucumber — 1 large (about 8 oz)
- Rice vinegar — 2 tablespoons
- Granulated sugar — 1 teaspoon
- Kosher salt — 1/2 teaspoon
- Toasted sesame oil — 1 teaspoon
- Garlic — 1 clove, thinly sliced
- Toasted sesame seeds — 1 teaspoon
Practical substitutions
- Use a small regular cucumber if English cucumber unavailable; peel if thick-skinned.
Cooking / Baking
- Total cook time: 10 minutes active plus at least 10 minutes marinate; can be made up to 1 hour ahead and held at room temperature or chilled.
Instructions
- (4:35 PM start on timeline) Thinly slice the cucumber on a bias into 1/8-inch slices. Place in a mixing bowl.
- Add 2 tablespoons rice vinegar, 1 teaspoon sugar, 1/2 teaspoon kosher salt, 1 teaspoon toasted sesame oil, and 1 thinly sliced garlic clove. Toss to combine.
- Let sit at room temperature for at least 10 minutes before serving; sprinkle 1 teaspoon toasted sesame seeds before plating. Can be made earlier and held cool.
Sparkling Lychee Cooler (kid-friendly drink)
Equipment
- 12-16 oz tall glasses
- Measuring cup
Ingredients (total for 2 servings)
- Canned lychees in syrup — 1 (15 oz) can (use 4 lychees as garnish and 4 oz syrup for drinks) ⁰
- Chilled sparkling water — 12 oz total (6 oz per serving)
- Ice cubes — as needed
- Optional lime wedge for garnish — 2 wedges ⁰
Practical substitutions
- If canned lychees unavailable, substitute 4 oz chilled white grape juice and 2 fresh grapes per glass.
Cooking / Baking
- Total prep time: 5 minutes
Instructions
- Chill glassware if desired. Divide 4 oz of lychee syrup (reserved from the can) between two glasses (2 oz each).
- Add 1–2 ice cubes per glass, pour 6 oz chilled sparkling water into each glass, stir gently.
- Add 2 canned lychee fruits (solid) as garnish to each glass. Serve immediately.
Dry Riesling (adult beverage pairing)
Equipment
- Wine glasses
Ingredients
- Dry Riesling, 1 bottle (750 ml)
Instructions
- Chill bottle to 45–50°F. Serve 5–6 oz per person as desired. No cooking steps.
3. LINEAR TIMELINE (4:15 PM–5:00 PM)
- 4:15 PM: Steamed Jasmine Rice — Rinse 1 cup rice (30–60 sec), add 1 1/4 cups water, 1/4 tsp salt, 1 tsp oil; bring to boil then reduce to low and cover to simmer 18 minutes.
- 4:20 PM: Braised Garlic-Soy Eggplant — Heat 2 tbsp oil in wok/skillet; brown eggplant pieces for 3–4 minutes, add garlic and scallion whites and continue (begin simmer sequence).
- 4:25 PM: Braised Garlic-Soy Eggplant — Add soy sauces, sugar, rice vinegar, 3/4 cup water; cover and simmer on medium-low.
- 4:35 PM: Quick Pickled Cucumber — Slice cucumber; combine with rice vinegar, sugar, salt, sesame oil, garlic; toss and set to marinate at room temperature.
- 4:40 PM: Cantonese Steamed Whole Fish — Prep fish (score sides, salt, add Shaoxing wine to cavity, place sliced scallion and ginger), prepare steamer water to a strong simmer and place fish on heatproof plate with ginger/scallion bed; start steaming.
- 4:45 PM: Steamed Jasmine Rice — Rice simmer completes; remove from heat and rest covered for 10 minutes. Fluff and leave covered; transfer to warmed bowl to hold.
- 4:50 PM: Braised Garlic-Soy Eggplant — Add cornstarch slurry, thicken sauce, stir in sesame oil and scallion greens; remove from heat and keep covered and warm.
- 4:52 PM: Cantonese Steamed Whole Fish — Prepare soy-scallion sauce bowl (soy, sugar, sesame oil, scallion whites); heat 2 tbsp neutral oil until shimmering in small saucepan.
- 4:55 PM: Cantonese Steamed Whole Fish — Remove fish from steamer (after ~12 minutes steaming), transfer to serving platter, pour soy-scallion mixture over fish and immediately pour hot oil over scallions/ginger to sizzle and release aroma. Scatter scallion greens.
- 4:56 PM: Quick checks & plating — Plate rice into serving bowls; plate eggplant into serving bowl and place pickled cucumber in small side dish; set drinks on the table.
- 5:00 PM: Serving — Place steamed fish on table and serve family-style at exactly 5:00 PM.
4. CONSOLIDATED SHOPPING LIST
Produce
- Fresh ginger — 1 small knob (about 1.5 oz)
- Scallions (green onions) — 4 stalks ⁺
- Asian eggplant — 1 lb (about 2 medium)
- English cucumber — 1 large
- Garlic — 5 cloves ⁺
- Lime wedges (optional, for kid drink garnish) — 2 wedges ⁰
Meat / Seafood
- Whole sea bass or whole snapper, cleaned — 1 fish, 1.25 lb
Dry Goods / Pantry
- Jasmine rice, uncooked — 1 cup
- Light soy sauce — 5 tablespoons ⁺
- Dark soy sauce — 1 teaspoon
- Shaoxing wine (or dry sherry) — 1 tablespoon
- Rice vinegar — 3 tablespoons ⁺
- Neutral oil (vegetable or canola) — 5 tablespoons total (2 tbsp fish hot oil + 2 tbsp eggplant + 1 tsp rice) ⁺
- Toasted sesame oil — 3 teaspoons total ⁺
- Cornstarch — 1 teaspoon
- Granulated sugar — 3 teaspoons total ⁺
- Kosher salt — 1 1/4 teaspoons total ⁺
- Ground white or black pepper — small amount 1/4 teaspoon total
- Toasted sesame seeds — 1 teaspoon
Drinks
- Canned lychees in syrup — 1 (15 oz) can ⁰
- Sparkling water — 12 oz (bottle or cans)
- Dry Riesling — 1 bottle (750 ml)
5. NOTES & ASSUMPTIONS
- Optional table-side items: small dish of chili oil or sliced fresh chilies for adult optional heat at table.
- Global substitutions: Shaoxing wine may be substituted with dry sherry; if fresh sea bass/snapper unavailable, use trout or two large fillets.
- Child-safety notes: When pouring hot oil over the fish at service, do this away from children and serve immediately. Keep children back while you pour hot oil.
- Timeline risks:
- Tightest execution window: the last 20 minutes (4:40–5:00 PM) when steaming fish overlaps finishing steps for eggplant and plating. The risk is simultaneous finishing chores (removing fish from steamer, pouring hot oil, final thickening, and plating).
- Practical mitigation: keep mise en place complete before 4:40 PM — have soy-scallion sauce measured in a heatproof bowl, cornstarch slurry measured, rice resting cover ready, and serving dishes warmed. Bring steamer water to a strong simmer just before 4:40 PM so steaming begins immediately.
- Latest safe start time: You can start as late as 4:15 PM for a 5:00 PM serve.