A good stir-fry is one of the most useful dinners a home cook can know. This beef stir-fry with rice is fast, flexible, and genuinely satisfying — tender strips of beef, vegetables that stay crisp, and a savory sauce that pulls everything together, all spooned over fluffy rice. It comes together in about twenty-five minutes, which makes it a weeknight hero, but it tastes like something you would order from your favorite takeout spot.
I learned to make stir-fry the way most people do: by making a few soggy, gray batches first. The turning point was learning that a stir-fry is not about a long list of ingredients — it is about heat, timing, and giving each ingredient its moment in the pan. Once I started searing the beef properly, cooking the vegetables in batches, and making the sauce ahead of time, everything changed. Now this is the dinner I make when I want something fast that still feels like real cooking.
The other thing I love about this recipe is how well it uses up what is already in the fridge. The beef is the anchor, but the vegetables are flexible. Broccoli, bell peppers, snap peas, carrots, mushrooms — whatever you have will work. The sauce is a simple pantry mixture that you can adjust to your taste, and the rice underneath catches every drop. It is a forgiving, practical dinner, and those are the ones that get made again and again.
Why You’ll Love This Recipe
First, it is fast — genuinely fast, not just fast for a homemade dinner. The rice can cook while you prep, the beef sears in minutes, and the whole stir-fry comes together in one hot pan. From start to finish, you are looking at about twenty-five minutes, and most of that is chopping. On nights when everyone is hungry now, that speed matters.
Second, the texture is what makes it special. A great stir-fry is a contrast: tender beef, crisp-tender vegetables, and a sauce that is glossy rather than gloopy. The trick is a very hot pan and not crowding it, so the beef sears instead of steaming and the vegetables keep their bite. When you get that contrast right, the whole dish feels alive in a way that a slow-cooked stew simply does not.
Third, it is endlessly customizable. Like it spicy? Add chili flakes or a spoonful of chili garlic sauce. Prefer it sweeter? A little extra honey balances the soy. Feeding picky eaters? Let everyone pick their vegetables. The sauce is a starting point, not a rule, and once you have made it a few times you will start adjusting it without even thinking.
And finally, it is a complete meal in one bowl. The rice makes it filling, the beef makes it hearty, and the vegetables make it feel fresh and balanced. You do not need side dishes, appetizers, or anything else. One bowl, one pan, dinner done.
Ingredients
- 1 pound flank steak, sliced very thinly against the grain
- 3 cups cooked jasmine rice, for serving
- 2 tablespoons vegetable oil, divided
- 1 large head broccoli, cut into small florets
- 1 red bell pepper, thinly sliced
- 1 cup snap peas, strings removed
- 2 carrots, peeled and cut into thin matchsticks
- 3 garlic cloves, minced
- 1 tablespoon fresh ginger, grated
- 3 green onions, sliced, for serving
- 1 tablespoon sesame seeds, for serving
For the sauce:
- 1/3 cup low-sodium soy sauce
- 2 tablespoons oyster sauce
- 1 tablespoon honey
- 1 tablespoon rice vinegar
- 1 tablespoon cornstarch
- 1/2 cup low-sodium beef broth or water
- 1 teaspoon sesame oil
- 1/4 teaspoon red pepper flakes (optional)
Method
- Start the rice first, if you are not using leftovers. Cook it according to the package directions and keep it warm. Day-old rice from the refrigerator is actually ideal here, since it holds its shape better under the saucy stir-fry, but freshly cooked rice works just fine.
- Slice the beef as thinly as you can — about 1/8 inch thick — cutting against the grain. If the steak is partially frozen for 30 minutes first, it slices much more easily. Toss the slices with 1 tablespoon of the soy sauce and the cornstarch from the sauce ingredients, and let them sit while you prep the vegetables. This light coating helps the beef sear and gives the sauce something to cling to.
- Whisk together all the sauce ingredients in a small bowl: the remaining soy sauce, oyster sauce, honey, rice vinegar, cornstarch, beef broth, sesame oil, and red pepper flakes if you are using them. Set the bowl right next to the stove. Stir-frying moves fast, and you do not want to be measuring sauce while the beef is burning.
- Prep all your vegetables before you turn on the heat. Cut the broccoli into small florets, slice the pepper, string the snap peas, and matchstick the carrots. Mince the garlic and grate the ginger. A stir-fry waits for no one, and having everything ready — what cooks call mise en place — is the difference between a calm dinner and a chaotic one.
- Heat 1 tablespoon of oil in a large skillet or wok over high heat until it just starts to smoke. Add half the beef in a single layer and do not touch it for 1 to 2 minutes, until it is deeply browned on one side. Flip and sear briefly, then transfer to a plate. Repeat with the remaining beef. Searing in batches is the single most important step — a crowded pan steams the meat and you lose all that caramelized flavor.
- Add the remaining tablespoon of oil to the same pan. Add the broccoli, carrots, and bell pepper, and stir-fry for 3 to 4 minutes, tossing constantly, until the vegetables are bright and crisp-tender. They should still have bite. Add the snap peas, garlic, and ginger, and cook for 1 minute more, just until fragrant.
- Return the beef and any juices from the plate to the pan. Give the sauce a quick re-whisk — the cornstarch settles fast — and pour it over everything. Toss for 1 to 2 minutes, until the sauce thickens into a glossy coating that clings to the beef and vegetables. If the sauce gets too thick, add a splash of water. If it seems thin, give it another 30 seconds.
- Serve immediately over warm rice, spooning extra sauce over the top. Finish with sliced green onions and a sprinkle of sesame seeds. Have everyone at the table before you start the final toss, because this dish is at its best the moment it leaves the pan.
Tips and Variations
Slice the beef thin and against the grain. This matters more than the cut you choose. Flank steak is my favorite because it has great beefy flavor and slices beautifully, but sirloin, skirt steak, or even ribeye all work. Look for the long lines running through the meat and cut across them, not with them. Short fibers mean tender bites; long fibers mean chewy ones.
Keep the pan screaming hot. A stir-fry needs high heat to sear rather than steam. Let your skillet or wok heat until the oil shimmers and just begins to smoke before the beef goes in. If your stove runs cool, cook in smaller batches and let the pan recover its heat between them. A cast iron skillet is excellent for this because it holds heat so well.
Do not drown the vegetables. The goal is crisp-tender, not soft. Cook the denser vegetables like broccoli and carrots first, then add the quick-cooking ones like snap peas and peppers near the end. If you are unsure, pull a piece out and taste it — it should still have a little snap. You can always cook a vegetable more, but you can never uncook it.
Make it your own. Swap in mushrooms, zucchini, baby corn, or bok choy. Add a fried egg on top for a richer bowl. Stir in a spoonful of peanut butter for a nutty, satay-style twist. Use chicken, shrimp, or tofu instead of beef — the sauce and method stay exactly the same, just adjust the cooking time. And if you love heat, a drizzle of sriracha or chili crisp at the table lets everyone set their own level.
Frequently Asked Questions
What cut of beef is best for stir-fry?
Flank steak is the classic choice: flavorful, affordable, and easy to slice thin. Skirt steak and sirloin are excellent too. Whatever you choose, slice it thinly against the grain, and if the meat is partially frozen it will slice much more cleanly. Avoid stewing cuts like chuck, which need long, slow cooking to become tender and will stay tough in a quick stir-fry.
Why is my stir-fry watery?
Usually the pan was not hot enough, or it was too crowded. When too much food hits a lukewarm pan, the ingredients release water faster than it can evaporate, and everything steams. Fix it by using high heat, cooking in batches, and making sure vegetables are dry before they go in. A sauce thickened with cornstarch also helps, since it binds the liquid into a glossy coating instead of a puddle.
Can I use frozen vegetables?
You can, but the texture will be softer than fresh. If you use frozen stir-fry vegetables, thaw and drain them well first, and add them straight to the hot pan so they cook quickly rather than steaming. Fresh broccoli, peppers, and snap peas give the best crunch, so I reach for those when I can, but a bag of frozen vegetables on a busy night is still far better than skipping dinner.
How do I store leftovers?
Leftovers keep in an airtight container in the refrigerator for up to 3 days. Store the rice separately if you can, so it does not soak up all the sauce and turn mushy. Reheat in a hot skillet for the best texture — a couple of minutes over high heat with a splash of water brings it back to life much better than the microwave, which tends to make the beef tough.
That is the whole playbook: hot pan, thin beef, crisp vegetables, and a sauce you can whisk together in two minutes. Once you have made this a few times, it stops feeling like a recipe and starts feeling like a skill — one you will use on busy nights, for fridge clean-outs, and whenever someone asks what is for dinner and you want a genuinely good answer. Serve it hot over rice, pass the chili sauce, and enjoy.
