Homemade beef chow fun in a pan

Beef chow fun (干炒牛河) is a classic Cantonese dish that comes from southern China and is firmly rooted in authentic Chinese cuisine rather than Western Chinese takeout. It combines wide rice noodles (ho fun) stir fried over high heat with beef, aromatics, and a light brown sauce, a technique that highlights wok cooking and ingredient balance.

I created this recipe because it is one of the noodle dishes I cook most often at home and one I grew up seeing in Cantonese kitchens and restaurants. I make it in about 30 minutes by marinating sliced beef, searing it quickly, then stir frying rice noodles with ginger, garlic, bean sprouts, and sauce before combining everything together.

What surprises most people is how easy it is to cook at home, and it is a perfect example of the recipes you will find in my Authentic Chinese noodle recipes collection once you have the right ingredients. I hope you give this recipe a try at home and skip takeout, since everything tastes better when it is made from scratch.

Ingredients

I divide all the ingredients I use into three groupings, including the marinade, the sauce, and the stir fry components. I also explain the different types of noodles you can use to make this beef chow fun recipe. Since cooking beef chow fun moves quickly, I recommend preparing everything in advance before starting the stir fry.

Ingredients for making beef chow fun

For the marinade

I keep it simple and practical with beef flank steak, light soy sauce, Shaoxing wine, and cornstarch.

To make the sauce

I use a very simple sauce for my beef chow fun, even though many versions include oyster sauce. A Cantonese chef friend once shared that traditional kitchens often stick to soy sauce for a cleaner, more refreshing taste, so my sauce only includes chicken broth, light soy sauce for umami, dark soy sauce for color and mild sweetness, and a touch of sugar.

Extra ingredients

For the stir fry, I use fresh thick rice noodles, along with peanut oil for cooking. I add ginger, garlic, white onion, and bean sprouts for freshness and texture, then finish with green onions and a small amount of sesame oil right at the end.

Types of rice noodles to use

The type of rice noodles you use makes the biggest impact on beef chow fun. 

Fresh rice noodles 

I prefer using fresh rice noodles because this is what we commonly use in China and they offer the best texture. These thick, chewy noodles are made from rice flour and water and are often sold as large sheets or pre cut noodles at Chinatown, Chinese, or Thai markets. They are usually packaged in plastic and sold with other fresh items rather than refrigerated. This is why I use them in this recipe whenever they are available.

Fresh rice noodles on cutting board

Dried Chinese ho fun

Sha he fen (沙河粉), also known as ho fun or sha hor fun, are wide, flat rice noodles that come from Shahe in Guangzhou and are a staple in Cantonese cooking. They have a smooth texture with a light chew that works well in stir fried noodles. When I use dried ho fun, my favorite brand comes from The Mala Market because the noodles cook up thin and smooth and absorb sauce very well.

Dried Chinese rice noodles in package

Dried Thai or Vietnamese rice noodles

The other rice noodles I see most often are the Thai and Vietnamese types, with brands like Taste of Thai and Three Ladies offering wide noodles that work well for beef chow fun. These noodles are thicker and chewier than Chinese sha ho fun, which some people may prefer.

Dried Vietnamese rice noodles in package

How to make

Prepare the rice noodles

Fresh

When I use fresh noodles like I did in this recipe, I cut the rice noodle sheets into wide strips and separate them by hand. I avoid rinsing them with water because that makes the noodles soggy and more likely to break during the stir fry. I also do not store fresh noodles in the fridge, since cold temperatures make them stiff and difficult to separate later.

Dried

When I use dried rice noodles, I soak or cook them before stir frying and always follow the package instructions. I stop a little early so the noodles stay al dente, which helps them hold up in the hot pan. This keeps the texture chewy and prevents the noodles from breaking apart during the stir fry.

Slice fresh rice noodles

Put it together

1. Marinate the beef: Slice the beef against the grain into thin pieces and transfer them to a small bowl. Add the light soy sauce and Shaoxing wine and mix by hand until absorbed, then add the cornstarch and mix again. Let the beef marinate for 15 minutes while preparing the remaining ingredients.

2. Mix the sauce: Combine all the sauce ingredients in a small bowl. Stir until fully mixed and set aside.

3. Sear the beef: Heat one tablespoon of oil in a large skillet over high heat until hot. Add the beef in a single layer and cook until the bottom side browns, then flip briefly and cook until lightly browned. Transfer the beef to a plate right away.

4. Cook the aromatics: Add the remaining oil to the same skillet and lower the heat to medium. Add the ginger, garlic, white onion, and the white part of the green onions, then stir and cook.

5. Add the noodles: Toss the noodles once more to separate them, then add them to the skillet. Use tongs to mix the noodles with the aromatics and coat them with oil.

6. Combine beef and sauce: Return the beef to the skillet and pour in the prepared sauce. Use tongs or chopsticks to toss everything together until well mixed.

7. Add sprouts: Add the bean sprouts and continue tossing until they begin to soften.

8. Add the green onions: Add the green parts of the green onions and toss a few times to combine.

9. Final toss: I give everything a final toss until the noodles are well coated and heated through.

Expert Tips

Secret to juicy tender beef

When preparing the beef, I always slice it against the grain, either into thin slices or slightly thicker strips depending on preference. I also marinate the beef with cornstarch, which adds flavor, keeps the meat tender, and protects it from overcooking, a technique I use across many cuisines. With these two steps, many cuts work well, though I usually choose flank or skirt steak because they are affordable and well marbled.

Use a generous amount of oil

I never skimp on the oil because rice noodles need enough fat to cook properly. Restaurants often use a generous amount, and while I use less at home, there still has to be enough to keep the noodles from sticking or breaking apart. The oil also carries the flavor of the aromatics throughout the dish. If I am not using a nonstick pan, I add a bit more oil since rice noodles tend to stick to the pan. 

Less is more

Just like pizza toppings, I use fewer ingredients for better results, because overcrowding the pan traps moisture and turns the noodles into a stew instead of a stir fry.

Gan Chao Niu He 干炒牛河 close up

Serving suggestions

I typically serve Beef chow fun as a main dish, either on its own or with a simple veggie dish like Chinese broccoli with oyster sauce. In Cantonese cooking, it often appears as part of a shared meal, where it is placed in the center of the table alongside lighter stir fry vegetable dishes or simple authentic Chinese soups.

Beef chow fun served in a plate

Frequently asked questions

What are the essential cookware items I need to make this recipe?

For beef chow fun, I recommend using a heavy nonstick skillet rather than a wok if you’re just starting out with Chinese cooking, or do not have a wok burner at home. Because you will be dealing with a lot of starchy ingredients, wok cooking can be tricky and things will stick if you can’t maintain a very hot pan or not familiar with the cooking techniques. A large pan provides enough surface area, especially with electric or induction stove, so the temperature stays stable when the sauce is added. I also consider a pair of tongs or cooking chopsticks essential for tossing the noodles cleanly without making a mess.

Why do my rice noodles break during cooking?

Rice noodles usually break when they are too soft before hitting the pan or when there is not enough oil. I stop cooking the noodles early and coat the pan well so the noodles can move freely during the stir fry.

What makes this beef chow fun taste like restaurant versions?

Restaurant style chow fun depends on high heat and smart timing. From my experience cooking Chinese food at home and professionally, I have learned that simple seasoning and solid technique matter most, so I focus on searing the beef, keeping the noodles moving, and avoiding an overcrowded pan so everything stays crisp, chewy, and well seasoned.

Chinese Cooking Made Easy

Are you new to this website? This free email series is a great place to start. I’ll walk you through a few of my most popular recipes and show you how and why they work. You’ll quickly start to cook better Chinese food in your own kitchen.

Homemade beef chow fun features thick, chewy noodles, tender juicy steak, and crisp veggies brought together with a fragrant brown sauce. Cook these restaurant-style fried noodles in your home kitchen with ease using my recipe! {Gluten-Free Adaptable}

Beef Chow Fun (干炒牛河)

4.90 from 28 votes
Prep Time: 15 minutes
Cook Time: 15 minutes
Total Time: 30 minutes
Servings: 2 servings
This homemade Beef Chow Fun 干炒牛河 features thick, chewy rice noodles, tender steak, and crisp vegetables coated in a savory brown sauce. I cook these restaurant style fried noodles in just 30 minutes, making it a satisfying main dish to serve my family.

Ingredients 

Marinade

Sauce

Stir fry

  • 7 oz dried rice noodles (or 12 oz / 360 g fresh thick rice noodles)
  • 3 tablespoons peanut oil (or vegetable oil)
  • 1 thumb ginger , julienned
  • 3 cloves garlic , sliced
  • 1/4 white onion , sliced
  • 4 loosely packed cups bean sprouts
  • 4 green onions , sliced to 2” (5 cm) pieces, white halved, white and green separated
  • 2 teaspoons toasted sesame oil

Instructions

  • Slice beef against the grain into 1/8” (3mm) thick and 2” (5 cm) long pieces, and transfer the pieces to a small bowl. Add the light soy sauce, Shaoxing wine. Use your hand to gently mix the beef until the sauce is fully absorbed. Add the cornstarch and mix again until evenly distributed. Let marinate for 15 minutes while preparing the rest of the ingredients.
  • Combine all the sauce ingredients. Mix well and set aside.
  • If using dried noodles: Cook (or soak) the rice noodles according to the instructions minus 1 minute, until cooked through, but still a bit chewy inside. Rinse rice noodles with cold water and drain. To avoid sticky rice noodles during stir fry, add 1 teaspoon sesame oil to the drained noodles. Gently toss noodles by hand to separate and evenly coat them with a thin layer of oil.
  • If using fresh noodles: slice the rice noodle sheet into noodles, then separate the noodles with your hands. Do not soak the noodles in water.
  • Heat 1 tablespoon of oil in a large nonstick skillet over high heat until hot. Spread the beef slices in the skillet in a single layer. Cook until the bottom side of the beef turns golden brown, 1 to 2 minutes. Flip the beef and cook the other side until browned, but the inside is still a bit pink, 30 seconds to 1 minute. Transfer beef to a plate immediately.
  • In the same skillet, add the remaining 2 tablespoons of oil and turn to medium heat. Add the ginger, garlic, white onion, and the white part of the green onion. Stir and cook until the aromatics turn light golden on the edges, 1 minute or so.
  • Toss the cooked noodles again to separate gently, and add them into the skillet. Use a pair of tongs to toss the noodles with the rest of the ingredients to coat well with the oil.
  • Add the beef back into the skillet. Pour in the mixed sauce. Immediately use a pair of tongs or chopsticks to toss and mix everything.
  • Add the bean sprouts. Keep tossing gently (to avoid breaking apart the noodles) until the bean sprouts just start to soften, 1 to 2 minutes. Then add the green onion. Toss a few more times, until the sauce is absorbed by the noodles, and the veggies are softened but still crunchy. Turn off heat and transfer everything to serving plates immediately. Serve hot as a main dish.

Ingredient Substitution Guide

Nutrition

Serving: 1serving, Calories: 706kcal, Carbohydrates: 100g, Protein: 13.6g, Fat: 27.2g, Saturated Fat: 4.8g, Cholesterol: 22mg, Sodium: 1555mg, Potassium: 299mg, Fiber: 4.9g, Sugar: 5.9g, Calcium: 52mg, Iron: 6mg

Did you make this recipe?

I’d love to hear how it turned out for you! Please take a moment to leave a 5-star rating ⭐️ and share your thoughts in the comments further down the page. It really helps others discover the recipe too.

Recipe update notes

This recipe was published back in 2017 and I updated it in 2024. I’ve made it countless times over the years, trying to perfect the recipe. In the latest version, I eliminated the broccolini and increased the amount of bean sprouts, to give the dish a more authentic presentation. For the sauce, chicken broth is used in place of Shaoxing wine for a more balanced taste. The ratio of light and dark soy sauce was slightly adjusted for the perfect dark brown color (Total is still 3 tablespoons. Depending on the dark soy brand you use, you might still want to use 2 tablespoons light and 1 tablespoon dark.)