
Beef Fried Rice
牛肉炒饭 · niú ròu chǎo fàn
The Hong Kong cha chaan teng answer to a full meal in one plate. Beef fried rice lives or dies on two things: the beef must be marinated long enough to hold water, and it must be seared hard and fast in a screaming pan and then removed. Anything longer than ninety seconds in the wok and you are eating beef jerky in rice.
Recipe author: HǎoWèi Test Kitchen
Home-cooking research team
Reviewed by HǎoWèi editorial team · Last updated 2026-08-29
Ingredients
- cooked jasmine rice, cold and day-old茉莉香米饭,隔夜冷饭🛒 local450 g
- beef sirloin or flank, sliced thin against the grain牛里脊或牛腩片,逆纹切薄片🛒 local200 g
- cornstarch玉米淀粉🛒 local8 g
- oyster sauce蚝油🏮 asian15 ml
- dark soy sauce老抽🏮 asian5 ml
- onion, small dice洋葱,切小丁🛒 local80 g
- carrot, small dice胡萝卜,切小丁🛒 local60 g
- large egg, beaten鸡蛋,打散🛒 local50 g
- scallion, thinly sliced小葱,切葱花🛒 local25 g
- white pepper白胡椒粉🛒 local1 g
cooked jasmine rice, cold and day-old: Cold and dry is the whole secret
beef sirloin or flank, sliced thin against the grain: Freeze 20 minutes first — it makes thin slicing much easier
cornstarch: Half goes into the marinade, half into a slurry
dark soy sauce: This is for colour, not saltiness
🌶️ Adjust to your taste
Pick a level and we'll show exactly how much to change — no more "适量".
Spice level
Saltiness
Oiliness
Make it vegetarian
Instructions
1Toss the beef with half the cornstarch, 1 tsp light soy sauce, the white pepper and 1 tbsp water. Work it in by hand for 30 seconds, then rest 15 minutes.
牛肉上浆腌制
🔍 Look for Low heat 15 分钟 · 15 minutesVisual: 肉把水分全部吸收,呈哑光而非水亮;每片肉挂着一层薄浆The meat has drunk all the liquid and looks matte rather than wet; a thin starchy film clings to each slice
You know it's right when: 倾斜碗底没有积液No liquid pools at the bottom of the bowl when you tilt it
Add the water a tablespoon at a time and keep kneading. This is what keeps the beef juicy later.
2Heat 1 tbsp oil in a wok over high until shimmering. Add the beef in one layer, leave it 30 seconds, then toss 45 seconds more. Remove.
大火爆牛肉
🔍 Look for High heat 75 秒 · 75 secondsVisual: 边缘焦褐微脆,中心仍带一点粉红;锅底几乎不出水Edges are browned and slightly crisp while the centres still show a little pink; the wok stays almost dry
You know it's right when: 锅铲轻压肉片会回弹,而不是发硬A slice pressed with the spatula springs back instead of feeling hard
3Add the beaten egg and scramble 20 seconds until barely set. Push to the side, add the onion and carrot, and stir-fry 90 seconds.
炒蛋炒蔬菜
🔍 Look for High heat 2 分钟 · 2 minutesVisual: 洋葱丁边缘半透明,胡萝卜略深;蛋液凝固成浅色小块Onion dice are translucent at the edges and the carrot has darkened slightly; the egg is set into small pale curds
You know it's right when: 洋葱生辣味消失,锅里是甜味而非冲味The raw onion bite is gone and the pan smells sweet rather than sharp
4Add the cold rice and press-and-fold for 2–3 minutes until every grain is separate and lightly toasted.
炒散米饭
🔍 Look for High heat 3 分钟 · 3 minutesVisual: 米粒干爽哑光、粒粒分明;锅底几粒转成浅金Grains look dry, matte and separate; a few at the bottom have turned pale gold
You know it's right when: 飘出淡淡爆米花香,锅铲推饭时毫无阻力A faint popcorn smell appears and the rice moves freely under the spatula
5Return the beef with any resting juices. Add oyster sauce and dark soy sauce around the wok edge and toss 45 seconds until the colour is even.
回锅调味上色
🔍 Look for High heat 1 分钟 · 1 minuteVisual: 每粒米都裹上均匀油亮的褐色,牛肉块颜色明显比饭深Every grain carries an even glossy brown coat; beef pieces are visibly darker than the rice
You know it's right when: 不再有白色生饭斑,酱料气味是醇鲜而非生味No pale white patches of rice remain, and the sauce smell is savoury rather than raw
6Turn off the heat, stir in the remaining cornstarch mixed with 1 tbsp water if you want a glossier coat, then scatter the scallion and toss twice.
勾薄芡撒葱花
🔍 Look for Low heat 1 分钟 · 1 minuteVisual: 米饭油亮褐色,点缀葱绿,深褐色牛肉块均匀分布Rice is glossy brown with green scallion flecks and dark beef pieces distributed throughout
You know it's right when: 锅铲刮过锅底是干净的The wok bottom is clean when you scrape it with the spatula
Tips
- · Slice against the grain, and freeze the beef for 20 minutes first — a firm block gives you paper-thin slices.
- · Sear the beef and take it out. It finishes cooking when you fold it back in at the end.
- · Dark soy sauce is for colour only. Use light soy sauce if you need more salt.
Sources & references
Quantities, technique notes, and substitution ratios are cross-checked against established Chinese cookery references and standard food-science sources.
- Read our editorial policy
- Fuchsia Dunlop, Land of Plenty: A Treasury of Authentic Sichuan Cooking
- USDA FoodData Central — ingredient nutrition and portion data
- Traditional Chinese family-kitchen practice and regional taste records
Common questions
Is there a vegan substitute for oyster sauce?
Yes — 'mushroom oyster sauce' (often labeled vegetarian/vegan) is sold in most Asian grocers and increasingly in mainstream supermarkets. It behaves 1:1 and adds the same glossy umami. Watch labels if you're also gluten-free; most brands are GF, some aren't.
Source: HǎoWèi substitution engine
What is velveting and why do it?
Velveting = coating meat in cornstarch (sometimes egg white + a splash of wine/soy) before cooking. The starch forms a protective layer that seals in juices and prevents the meat from drying out at high heat. This is the secret to restaurant-smooth beef in dishes like beef & broccoli. At home: 1 tbsp cornstarch + 1 tbsp water (or soy/wine) per 250 g meat, rest 10 min, then stir-fry.
Source: HǎoWèi technique guide
What's the difference between light and dark soy sauce?
Light soy (生抽) is the everyday salty seasoning — thin and salty, used in most recipes. Dark soy (老抽) is thicker, darker, slightly sweet, and used mostly for color (braises, fried rice). If you only buy one, get light soy. For dark soy's color: 1 tbsp light soy + a pinch of sugar + a few drops of molasses.
Source: HǎoWèi pantry guide
🥢 Ask HǎoWèi
Questions about technique, ingredients, substitutions, and flavor — answered from our verified cooking knowledge base.
What to serve with it
A complete Chinese dinner in one plan — pick one from each role.
What cooks say
Made this? Leave a note.
- No comments yet — be the first!
