This tender beef veggie stir fry features juicy beef strips and fresh vegetables tossed in a savory sauce. A quick 30-minute high-protein dinner perfect for busy weeknights and meal prep.
Ingredients
Instructions
Begin by preparing the beef. Place the flank steak in the freezer for about 15 minutes to firm up slightly—this makes slicing thin strips against the grain much easier. Once firm, slice the beef across the grain into 1/4-inch thick strips. The grain runs lengthwise along the steak; cutting against it shortens the muscle fibers, ensuring tender bites rather than chewy pieces. In a medium bowl, combine the sliced beef with 2 tablespoons of soy sauce, 1 tablespoon of cornstarch, and 1 tablespoon of sesame oil. Toss well to coat every strip. The cornstarch not only seasons the meat but also creates a light barrier that locks in moisture and helps the sauce cling later. Let the beef marinate at room temperature for 10 minutes while you prep the vegetables.

While the beef marinates, prepare the vegetables. Slice the bell peppers into thin strips, julienne the carrot (or slice diagonally for a prettier presentation), trim the snap peas, and cut the broccoli into small florets if using. Mince the garlic and grate the ginger. Having everything prepped in advance is crucial because stir-frying moves fast—you won’t have time to chop once the wok is hot. For the sauce, whisk together 1/4 cup soy sauce, oyster sauce, rice vinegar, brown sugar, 1 teaspoon sesame oil, red pepper flakes, and beef broth in a small bowl. In a separate small bowl, stir the cornstarch and water to make a slurry; set aside. The slurry will thicken the sauce at the end, giving it that glossy, restaurant-quality finish.

Heat a large wok or heavy-bottomed skillet over high heat until it begins to smoke lightly. Add 1 tablespoon of vegetable oil and swirl to coat. The high heat is essential for searing the beef quickly without steaming. Add the beef strips in a single layer—do not overcrowd the pan; work in batches if necessary. Let the beef sear undisturbed for about 1 minute, then stir-fry for another 1–2 minutes until browned but still slightly pink in the center. Overcooking at this stage will make the beef tough. Using a slotted spoon, transfer the beef to a clean plate and set aside.
Reduce the heat to medium-high and add the remaining 1 tablespoon of oil. Add the garlic and ginger, stirring constantly for about 15 seconds until fragrant—be careful not to burn them. Add the carrots and broccoli (if using) first, as they take longer to cook. Stir-fry for 1 minute, then add the bell peppers and snap peas. Continue stir-frying for another 2–3 minutes until the vegetables are crisp-tender: they should be bright in color and still have a slight crunch. The key is to cook them quickly so they retain their nutrients and texture.
Return the cooked beef to the wok along with any accumulated juices. Pour the prepared sauce over everything and toss to combine. Let the sauce come to a simmer, then stir the cornstarch slurry again (it settles quickly) and pour it into the wok. Stir-fry vigorously for about 30 seconds until the sauce thickens and coats the beef and vegetables evenly. You’ll see the sauce go from watery to glossy and clingy. Taste and adjust seasoning if needed—add a splash more soy sauce for saltiness or a pinch of sugar for sweetness.
Remove the wok from heat immediately to prevent overcooking. Transfer the stir fry to a serving platter or divide among four bowls. Garnish with sliced green onions and a generous sprinkle of toasted sesame seeds. Serve hot over steamed jasmine rice, brown rice, or cauliflower rice for a low-carb option. The dish also pairs well with noodles or quinoa. For a complete meal, add a side of steamed edamame or a simple cucumber salad.
For best results
- For the most tender beef, choose flank steak, sirloin, or ribeye. Freezing the meat for 15–20 minutes before slicing firms it up, allowing you to cut ultra-thin strips against the grain. This technique shortens the muscle fibers, preventing chewiness. Also, avoid overcrowding the pan when searing—if you add too much meat at once, it will steam rather than brown. Cook in batches if necessary, and let the beef develop a nice crust before stirring.
- Marinating the beef with cornstarch and soy sauce is a classic Chinese velveting technique. The cornstarch creates a protective coating that seals in moisture and gives the meat a silky texture. You can also add a teaspoon of baking soda to the marinade for even more tenderness, but be sure to rinse it off if you do. For an extra flavor boost, add a splash of Shaoxing wine or dry sherry to the marinade.
- Prep all your ingredients before you start cooking—stir-frying happens quickly, and you won't have time to chop or measure once the wok is hot. This practice, known as mis en place, ensures a smooth cooking process. Arrange your ingredients in the order they will be added to the wok. Also, have your sauce and slurry mixed and within easy reach.
- Achieve the perfect wok hei (breath of the wok) by cooking over the highest heat possible. A well-seasoned carbon steel wok is ideal, but a large stainless steel or cast iron skillet works too. Let the pan get smoking hot before adding oil, and don't be afraid of a little char—those browned bits add deep flavor. If you have a gas stove, use a wok ring to stabilize the wok; if using electric, a flat-bottomed wok or skillet is best.
- Vegetables should be cut into uniform sizes for even cooking. Start with the denser vegetables like carrots and broccoli, then add quicker-cooking ones like bell peppers and snap peas. You want the vegetables to remain crisp-tender—overcooked stir fry vegetables become limp and lose their vibrant color. If you prefer softer vegetables, blanch them briefly in boiling water before stir-frying.
- The sauce can be customized to your taste. For a thicker, sweeter sauce, add more brown sugar or honey. For a spicier kick, increase the red pepper flakes or add a drizzle of sriracha. If you're watching sodium, use low-sodium soy sauce and reduce the oyster sauce, or substitute with coconut aminos. You can also add a tablespoon of hoisin sauce for extra depth.
- Leftovers can be stored in an airtight container in the refrigerator for up to 3 days. Reheat in a hot wok or skillet over high heat for 1–2 minutes to revive the texture—avoid microwaving, as it can make the beef rubbery. The stir fry also freezes well for up to 2 months; thaw overnight in the fridge and reheat in a hot pan.
Variations
- Chicken Stir Fry: Substitute the beef with boneless, skinless chicken thighs or breasts. Slice the chicken thinly and marinate similarly. Cooking time may be slightly longer; ensure chicken reaches an internal temperature of 165°F (74°C). This variation is lower in saturated fat and equally high in protein.
- Shrimp Stir Fry: Use large peeled and deveined shrimp instead of beef. Shrimp cooks very quickly—just 2–3 minutes total—so add them after the vegetables are almost done. The marinade can be omitted; simply season with salt and pepper. This version is perfect for pescatarians and cooks in under 15 minutes.
- Vegetarian Tofu Stir Fry: Replace beef with extra-firm tofu, pressed and cubed. Toss the tofu in cornstarch and pan-fry until golden and crispy before adding vegetables. Use hoisin sauce instead of oyster sauce to keep it vegan. Add mushrooms like shiitake or oyster for umami depth.
- Spicy Szechuan Stir Fry: Add 1 tablespoon of Szechuan peppercorns and 2 dried red chilies to the oil before stir-frying. Use chili bean paste (doubanjiang) in the sauce for a fiery, numbing flavor. Garnish with fresh cilantro and chopped peanuts for an authentic Szechuan twist.
- Low-Carb/Keto Stir Fry: Serve over cauliflower rice or zucchini noodles. Replace brown sugar with a keto-friendly sweetener like erythritol or omit it entirely. Use tamari or coconut aminos instead of soy sauce to reduce carbs. Increase the healthy fats by adding avocado oil and extra sesame seeds.
- Thai Basil Stir Fry (Pad Krapow): Use Thai holy basil (or regular basil) and add a generous handful at the end. Replace the oyster sauce with fish sauce and add a tablespoon of Thai chili paste. Serve with a fried egg on top for a classic Thai street food experience.
Nutrition
- Calories425 kcal
- Total Fat18g
- Saturated Fat5g
- Cholesterol75mg
- Sodium980mg
- Total Carbohydrates22g
- Dietary Fiber4g
- Sugars10g
- Protein38g
