The whole trick of this dish is a paradox: you cook the lettuce until it is barely cooked at all. Ten seconds in water that has just come off the boil, a pour of glossy garlic-oyster sauce on top, and a head of romaine becomes a warm vegetable side that eats nothing like salad. If you have ever ordered this at a Cantonese restaurant and tried to copy it at home, you probably ended up with either a waterlogged pile of leaves or a sauce that slid off the plate and pooled underneath. Both failures are easy to fix, and they come down to two things: how you blanch, and how much water you leave behind.
Blanch the leaves for 10 to 20 seconds in water off the heat, drain them until they stop dripping, and finish with a cornstarch-thickened sauce. The make-or-break detail is the drain: wet leaves make a watery sauce, and a watery sauce is the only thing that can actually ruin this dish.
What this dish is, and where it comes from
Lettuce with oyster sauce (háo yóu shēng cài, 蚝油生菜) is a Cantonese home and restaurant staple, the kind of vegetable side that shows up at the end of a meal to round things out. The technique, blanch a green and then crown it with a savory sauce, is the same one behind gai lan with oyster sauce, and you will see it applied to bok choy, broccoli, and asparagus across Cantonese kitchens. What makes the lettuce version distinctive is how thin the margin is. Gai lan can take a minute in the water and forgive you; lettuce cannot.
There is also a bit of wordplay that explains why this humble green keeps appearing at festive tables. The Mandarin for lettuce, shēng cài (生菜), sounds close to shēng cái (生财), "to generate wealth," so the dish turns up on Chinese New Year menus as an edible good-luck wish. You do not need a holiday as an excuse, though. It is a five-minute side that rescues a weeknight dinner from being just protein and rice.
Choosing the right lettuce
This is the one place I will not say "any lettuce works," because it does not. You want a lettuce whose leaves hold a rigid frame and have a high water content locked in cells that stay intact through a quick dunk. That means tight-headed varieties: little gem (my first choice for its crisp core and slightly bitter edge), romaine, or iceberg.
Loose-leaf and butter lettuces (Boston, Bibb, red leaf, oak leaf) fail here. Their cell walls are already soft, and the moment they hit hot water they collapse into something closer to cooked spinach than a crisp vegetable. Save those for salad. If you are shopping at an Asian market, the long, loose "A-choy" or celtuce-leaf lettuce also works surprisingly well because of its firm ribs; tear out the very soft top leaves and use the rib-heavy lower ones.
Ingredients
Ingredients at a glance

The quantities below serve four as a side. Oyster sauce is the soul of the dish, so this is not the place for the bargain bottle. See the notes on brands and the vegetarian swap below the table.
| Ingredient | Amount | Notes / substitute |
|---|---|---|
| Little gem or romaine lettuce | 450 g (1 lb), about 2 small heads | Iceberg works; loose-leaf and butter lettuce do not |
| Oyster sauce | 1½ tbsp (25 g) | Premium oyster sauce (Lee Kum Kee "Panda" or the brown-label premium) preferred; vegetarian mushroom oyster sauce for a vegan version |
| Dark soy sauce | ½ tsp | Adds color and a molasses edge; see light vs. dark soy sauce. If you only have light soy, use 1 tsp and accept a paler sauce |
| Sugar | ½ tsp | Balances the salt of the oyster sauce; do not omit |
| Cornstarch | ½ tsp | Thickens so the sauce clings; potato starch works but makes a slightly cloudy sauce |
| Water | 3 tbsp (45 ml) | Hot tap or kettle water, so the sauce base is not cold when it hits the pan |
| Neutral cooking oil | ½ tbsp (7 ml) | Canola, grapeseed, or peanut; not olive oil |
| Garlic | 4 cloves, sliced thin | Minced if you want a sharper bite; sliced if you want golden, fragrant chips |
On oyster sauce (and a vegan swap that actually works)
Oyster sauce is one of the ten condiments I keep in a Chinese kitchen, and it is not interchangeable with soy sauce. It is made by slowly caramelizing oyster extracts with sugar, salt, and starch until it turns into a thick, glossy, mahogany-brown sauce that tastes briny, sweet, and deeply savory all at once. That last quality, the savoriness, is what carries the whole dish, which is why I would rather skip the recipe than use a thin, watery oyster sauce.
For a vegan version, use vegetarian oyster-flavored sauce, which is built on shiitake mushroom extract and mimics the original surprisingly well. If you want to lean into that direction, the same pour-over-sauce technique is lovely on braised shiitake mushrooms or a plate of simply cooked greens.
The method, with the why built in
- Prep the lettuce and the sauce first. Separate the leaves, wash them, and tear any large leaves into pieces you can eat in one or two bites. In a small bowl, stir together the oyster sauce, dark soy sauce, sugar, cornstarch, and water until the cornstarch is fully dissolved, with no lumps at the bottom. Do both before you turn on any heat. This dish moves in seconds, and there is no time to measure once the pan is hot.
- Bring a full pot of water to a rolling boil, then kill the heat. Use more water than you think you need, at least 2 liters, so the temperature does not crash when the leaves go in. Turning the burner off before adding the lettuce is the single most important move. Boiling water on full heat will overcook the leaves in five seconds; water that has just come off the boil gives you a 10- to 20-second window where the leaves wilt slightly, brighten in color, and stay crisp. That color change is chlorophyll reacting to the heat; you are watching for it to intensify, not fade.

Bring at least 2 litres of water to a rolling boil, switch off the heat, then submerge the leaves for only 10 to 20 seconds
- Submerge the leaves for 10 to 20 seconds. Press them gently under the surface with a spider or slotted spoon so they blanch evenly. Romaine and iceberg ribs need the full 20 seconds; tender little gem leaves are often done at 10. The moment the green deepens and the leaves just start to relax, pull them out. They will keep cooking from residual heat, so pull them when they still look slightly underdone to you.
- Drain aggressively. This is where most home versions fail. Transfer the leaves to a colander and let them sit for a few seconds, then give the colander a few firm shakes. I tip the leaves onto the serving plate, tilt the plate over the sink, and pour off any water that pools, then re-arrange. Wet leaves will thin your sauce into dishwater. A little moisture is fine and even desirable; a puddle is not.

Shake and turn the lettuce until it no longer drips continuously; any trapped water will dilute the sauce and pool on the plate
- Fry the garlic in oil over medium heat. Use a small skillet or your wok. You are not trying to brown the garlic deeply; you are drawing out its aroma and toasting it just to a pale gold. Once the slices take on the faintest color at the edges, turn off the heat. Garlic left on a hot burner goes from golden to bitter in the time it takes to reach for the sauce bowl.

Mix the oyster sauce, dark soy, sugar, cornstarch, and water before blanching, and stir until completely lump-free
- Pour in the sauce and stir off the heat. The residual heat of the pan and oil is enough to thicken the cornstarch. Keep stirring; within 10 to 15 seconds the sauce will turn glossy and coat the back of a spoon. If it stays thin, the pan was too cool: return it to very low heat for a few seconds and stir. If it seizes into a paste, the pan was too hot, so stir in a teaspoon of water to loosen it.

Fry the garlic only to pale gold, switch off the heat, then stir in the sauce for 10 to 15 seconds until glossy
- Pour the sauce over the lettuce and serve immediately. Spoon the garlic and sauce evenly across the leaves. The dish does not hold; within a couple of minutes the heat of the sauce will keep softening the lettuce, so this is the rare Chinese side you want on the table the moment it is dressed.

Spoon the clinging sauce evenly over the drained lettuce and serve immediately while the ribs are still crisp
When it goes wrong, and how to fix it
I have made every mistake below at least once, and most of them in front of guests. Here is what tends to happen and what to do about it.
- The leaves are dark olive and limp. You either left the burner on while blanching or stayed in the water past 20 seconds. There is no rescue for overcooked lettuce; start over and trust the off-the-heat method. Next time, err on the short side.
- The sauce is thin and runs across the plate. Two likely causes: the leaves were not drained well, or the pan was too cool to gel the cornstarch. Drain harder next time, and remember the sauce should look glossy and slow-moving, not watery, before it leaves the pan.
- The sauce is a tight, sticky paste. The pan was too hot or you cooked it too long. Stir in hot water a teaspoon at a time until it loosens to a pourable consistency.
- The garlic tastes harsh or raw. It did not get enough time in the oil. Let it fry a few seconds longer next time, until you smell the sweetness, but pull it before it browns past pale gold.
- The garlic is bitter and dark. It overcooked. The fix is prevention: have the sauce bowl right next to the stove so you can pour the moment the garlic colors.
- The lettuce looks great but the dish tastes flat. You probably used a thin oyster sauce or skipped the sugar. The sugar is not there to make the dish sweet; it rounds the salt and lets the oyster flavor read as deep instead of just salty.
Variations, pairings, and make-ahead
Once the technique is in your hands, the same blueprint works on almost any quick-cooking green. Water spinach, snow peas, asparagus, and broccoli florets all take the pour-over-sauce treatment, with the blanching time adjusted upward for denser vegetables. Broccoli wants a full 2 to 3 minutes in boiling water. For a heartier vegetarian plate, broccoli with garlic sauce follows the same logic and is one of the most reliable sides in the rotation.
This is a side built to sit next to a saucy main. It pairs naturally with oyster-sauce-braised chicken, pepper steak, or beef with Chinese broccoli, with a bowl of steamed jasmine rice to soak up the sauce. I would not pile two oyster-sauce dishes onto the same plate; the flavors blur, so if the main is already oyster-forward, swap this for something brighter, like scallion-oil chicken with a contrasting green on the side.
For make-ahead, you can wash and tear the lettuce and mix the sauce hours in advance, but do not blanch until you are about to eat. Reheated cooked lettuce is a sad thing; the texture collapses and never comes back. If you end up with leftovers, fold the cold leaves into a bowl of congee the next morning rather than trying to revive them.
A quick note on garlic form
Sliced garlic and minced garlic give you two different dishes. Slices fry up into golden, fragrant chips that sit on the leaves and add little bursts of toasted garlic; this is the restaurant style and the one I default to. Minced garlic disperses into the oil and gives you a sharper, more aggressive bite that runs through every leaf. There is no wrong answer, only a choice. But pick one and commit, because minced garlic burns much faster than sliced and will punish you for walking away from the pan.
Frequently asked questions
Can I use a different lettuce? Only tight-headed types hold up: little gem, romaine, or iceberg. Loose-leaf and butter lettuces collapse into mush the moment they hit hot water.
Why turn the heat off before blanching? Water off the boil gives a forgiving 10- to 20-second window. A rolling boil on full heat turns lettuce to slime in five seconds.
Is there a vegetarian oyster sauce? Yes. Mushroom-based vegetarian oyster sauce, built from shiitake extract, mimics the original closely and works as a one-to-one swap.
Can I make it ahead? Prep the leaves and mix the sauce earlier in the day, but blanch and dress only right before serving. Reheated cooked lettuce loses its texture for good.
Why is my sauce runny? Almost always wet leaves. Drain them hard and tilt the serving plate to pour off pooled water before the sauce goes on.



