Soups & Stews
This beef and tomato stir fry recipe delivers restaurant-quality umami in under 30 minutes, transforming simple ingredients into a dish that balances sweet, tangy, and smoky flavors. The secret lies in high-heat searing to develop deep caramelization on the beef while keeping tomatoes vibrant and bell peppers blistered—not mushy.
I've perfected this technique after years of testing, ensuring the sauce clings perfectly without overpowering the natural taste of the beef.
What sets this stir fry apart is the two-stage cooking method: first searing the beef in batches to render fat and create a flavorful crust, then finishing with aromatics and tomatoes in a single pan.
This approach eliminates the need for multiple dishes and delivers that coveted wok-hei effect—even if you're using a skillet. The sauce is built from scratch, balancing sweet tomatoes with a savory-sweet glaze that coats every bite without being cloying.
By the time you plate it, you'll have tender yet slightly charred beef strips, glossy tomatoes that burst with sweetness, and crisp-tender bell peppers adding textural contrast. The dish comes together in one pan, making it both efficient and impressive—ideal for weeknight dinners or meal prep.
Serve it over steamed jasmine rice or noodles to soak up every last drop of that flavorful sauce.
The beauty of this recipe is its adaptability: swap in different vegetables based on what's seasonal, adjust the heat level with chili flakes, or make it spicier with fresh red pepper.
For extra depth, finish with a sprinkle of sesame seeds and sliced green onions. Here's how to make it perfectly every time.
Ingredients for beef and tomato stir fry
Transform simple pantry staples into a restaurant-worthy stir fry with these carefully chosen ingredients.
| Ingredient | Amount | Notes |
|---|---|---|
| Flank Steak 🥩 | 1 ½ lb | Thinly sliced against grain |
| Yellow Onion 🧅 | 1 whole | Thinly sliced |
| Red Bell Pepper 🌶️ | 1 whole | Sliced into strips |
| Roma Tomatoes 🍅 | 6 whole | Quartered, seeds removed |
| Garlic Cloves 🧄 | 4 cloves | Minced |
| Fresh Ginger 🌿 | 1 ½ tbsp | Grated, finely |
| Soy Sauce 🥢 | 3 tbsp | Low-sodium preferred |
| Honey 🍯 | 1 tbsp | Pure, for balance |
| Rice Vinegar 🍶 | 1 tbsp | White or seasoned |
| Sesame Oil 🫒 | 1 tbsp | Toasted, for aroma |
| Vegetable Oil 🫒 | 2 tbsp | High smoke point |
| Salt 🧂 | 1 tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Green Onions 🌱 | 2 whole | Sliced, for garnish |
| Toasted Sesame Seeds 🌾 | 1 tbsp | For finishing |
The beef is everything here. Flank steak delivers that perfect balance of tenderness and chew—ribeye or sirloin work too, but stay away from lean cuts like tenderloin. Slice it thinly against the grain for maximum tenderness. For the best quality, grab it from Whole Foods or your local butcher—look for bright red color and good marbling. If you're short on time, pre-sliced stir-fry strips from the frozen section at Trader Joe's work in a pinch, but pat them dry first to avoid excess moisture in the pan.
No fresh ginger? Ground ginger at half the amount gets you close, though fresh is ideal. The Roma tomatoes should be firm and vibrant—vine-ripened from the grocery store or a farmers market are best. For extra sweetness, swap in cherry tomatoes. The soy sauce matters here: low-sodium versions let you control the saltiness better. If you're avoiding sugar, use maple syrup instead of honey—it adds depth without the same sweetness. The bell pepper can be any color, but red stays vibrant longer when charred. Skip the pre-cut stir-fry veggie mixes—they're usually soggy and bland.
This dish reheats beautifully—just add a splash of water or soy sauce to the pan and warm through. Keeps for 3-4 days in the fridge, though it's best within 2 days for peak texture. For meal prep, portion into containers with rice and store separately—reheat the stir fry first, then add the rice to avoid mushiness. The sesame oil and seeds should be stored in a cool, dark place—once opened, they last about 6 months. Freeze the cooked stir fry for up to 3 months if you're prepping ahead.
Why You'll Love This Recipe
- No-Fuss Protein Power: I swear by flank steak for stir-fries—it slices thin and fast, no tenderizing needed. Toss it in while you chop veggies, and by the time onions caramelize, you’re done. That’s 20 minutes saved from my old "overcomplicate-it" days.
- Sweet-Savory Magic: The Roma tomatoes burst with juice when seared, while the red bell pepper adds just enough crunch. Honestly, the garlic and soy sauce combo makes this taste like a restaurant dish—except I’m the one who made it.
- Lunchbox Hero: Between us, this is my go-to for packed lunches. The beef stays tender for days, and the tomatoes hold up better than sliced cucumbers. Add rice, and it’s a full meal that doesn’t get soggy by noon.
- Budget Stretch: Flank steak is affordable, and the other ingredients? Pantry staples. I’ve fed four people for under $15, and there’s always leftovers for tacos the next night. (Yes, even on a Tuesday night.)
Step-by-step instructions for beef and tomato stir fry
Master this wok technique for perfectly seared beef and vibrant vegetables every time.
Prep All Ingredients for Even Cooking
Start by slicing the 1.5 lb flank steak thinly against the grain into ¼-inch strips. This ensures tender bites that cook quickly. Pat the slices dry with paper towels—moisture prevents proper searing. In a separate bowl, combine the 6 whole Roma tomatoes (quartered and seeded), 1 whole yellow onion (thinly sliced), and 1 whole red bell pepper (cut into strips). Keep these separate from the beef for now.
Finely grate the 1.5 tbsp fresh ginger and mince the 4 cloves garlic. These aromatics will form the flavor base, so take your time to get them as even as possible. The 2 whole green onions can be sliced and set aside for garnish—they add freshness at the end. Having everything prepped ensures a smooth cooking process without constant chopping during the stir-fry.
Sear the Beef in Batches for Maximum Flavor
Heat 1 tbsp vegetable oil in a large wok or skillet over high heat until shimmering. Add half of the beef strips in a single layer—don't overcrowd the pan. Let them sear undisturbed for 1-2 minutes until deeply browned on one side. This creates the Maillard reaction, which builds rich umami flavor. Flip and sear the other side for another 1-2 minutes until cooked through but still tender.
Transfer the seared beef to a plate and repeat with the remaining beef and 1 tbsp vegetable oil. The beef should be caramelized and slightly charred—this is your signal it's ready. Keep the cooked beef warm while you prepare the vegetables. If the beef releases easily from the pan, it's done; if it sticks, it needs more time.
Stir-Fry Vegetables Until Tender-Crisp
Return the wok to high heat and add the remaining 1 tbsp vegetable oil. Toss in the prepared yellow onion, red bell pepper, and Roma tomatoes. Stir-fry for 3-4 minutes until the vegetables soften but still retain a slight crunch. The tomatoes should break down slightly but not turn mushy—this balance is key for texture. Add the minced garlic and grated ginger after 1 minute of cooking to preserve their fresh aroma.
Season the vegetables with 1 tsp salt and 0.5 tsp black pepper, tossing to coat evenly. The vegetables should be bright and vibrant, not wilted. If they start to stick, add a splash of water and scrape up any browned bits from the bottom of the pan—these add depth of flavor. This is where the stir-fry gets its name; constant movement ensures even cooking and prevents burning.
Combine Beef and Vegetables with Sauce
Return the seared beef to the wok and pour in the 3 tbsp soy sauce, 1 tbsp honey, and 1 tbsp rice vinegar. Stir everything together vigorously for 1-2 minutes until the sauce coats the beef and vegetables evenly. The mixture should look glossy and well-combined. Taste and adjust seasoning if needed—you can add a bit more soy sauce for saltiness or honey for sweetness.
Drizzle in the 1 tbsp sesame oil and toss once more. The oil adds a nutty aroma and helps distribute the sauce evenly. The stir-fry should now have a deep caramel color with a glossy sheen. Remove from heat and let it rest for 1-2 minutes—this allows the flavors to meld and the sauce to thicken slightly. The beef should be tender but still firm, and the vegetables should be bright and slightly charred in spots.
Finish and Serve Immediately
Garnish the stir-fry with the sliced green onions and sprinkle with 1 tbsp toasted sesame seeds for texture and aroma. Serve immediately over steamed rice or noodles while everything is hot. The contrast of the warm rice with the bold, slightly charred stir-fry creates the perfect balance. Each bite should deliver tender beef, sweet tomatoes, crisp bell pepper, and a savory-sweet sauce all in one forkful.
This dish is best enjoyed fresh, so don't let it sit too long before serving. If you have leftovers, store them in an airtight container in the refrigerator for up to 2 days, but reheat gently to preserve the texture. The flavors only deepen as they sit, making it even more delicious the next day.
Pro Tips For Making Beef And Tomato Stir Fry
- Slice Steak Thin: Flank steak fights back when you cut against the grain—don’t let it win. Angle the knife at 45 degrees and slice perpendicular to the muscle fibers, or you’ll end up with chewy, sad strips instead of tender, restaurant-quality bites.
- Char the Onions First: Skip the soft onions—this stir-fry needs depth. Sear the sliced yellow onion in oil until the edges blacken slightly (about 3-4 minutes), then add everything else. That caramelized bit? It’s the foundation of flavor, not just decoration.
- Blanch the Tomatoes: Roma tomatoes turn to mush if tossed in raw. Give them a quick 30-second blanch in boiling water, then shock in ice water—this firms them up so they hold shape and release juices in the pan, not as a sad, watery pile.
- Finish with Garlic Oil: After everything’s cooked, drain the beef and veggies, then toss them back into the pan with a splash of oil and minced garlic. Let it sizzle for 20 seconds—this step adds aroma without burning the garlic (yes, even if you’re impatient like me).
Health benefits of these flavors
Lean Protein Boost
This stir fry delivers high-quality protein from the beef, with 1.5 lbs of flank steak providing about 60 grams of protein—that's 30 grams per serving! Flank steak is leaner than ribeye but still packed with iron and zinc, essential for energy and immune function.
The tomatoes add vitamin C and lycopene, an antioxidant that supports heart health. 💪
Low-Calorie, High-Fiber
The combination of beef, tomatoes, and bell peppers creates a nutrient-dense, lower-calorie meal compared to heavy sauces or fried dishes. The 6 Roma tomatoes contribute 2 grams of fiber per serving, aiding digestion, while the bell peppers add vitamin A for vision and skin health.
This dish keeps calories in check while maximizing flavor. 🌱
Balanced Carbs with Rice
When served over steamed jasmine rice, this stir fry becomes a complete protein meal, combining the beef's protein with the rice's complex carbohydrates for sustained energy.
The 1 tbsp honey in the sauce provides natural sweetness without refined sugar, while the soy sauce adds aminos that enhance flavor without excess sodium if you use low-sodium versions. 🍚
Antioxidant-Rich Sauce
The sauce isn't just flavor—it's packed with antioxidants from the garlic, ginger, and sesame oil. Garlic contains allicin, which supports heart health, while ginger aids digestion. The sesame seeds add calcium and magnesium, and their toasted aroma boosts the dish's nutritional profile.
Even the rice vinegar contributes acetic acid, which may help regulate blood sugar. ✨
Meal Prep Friendly
This stir fry is perfect for meal prep because it reheats well while retaining nutrients. The high-heat searing preserves the beef's natural juices and flavor, and the vegetables stay vibrant when reheated gently.
Storing leftovers in an airtight container keeps them fresh for 3-4 days, making it an easy, healthy option for busy weeks. 📅
Customizable for Dietary Needs
For a lower-carb option, swap rice for cauliflower rice or shirataki noodles. To reduce sodium, use coconut aminos instead of soy sauce.
The dish is naturally gluten-free (if using tamari for soy sauce) and can be made spicier with chili flakes or fresh red pepper for a metabolism-boosting kick. 🌶️
Nutrition facts
Frequently asked questions
Can I use a different cut of beef instead of flank steak?
Sirloin, ribeye, or even pre-sliced stir-fry strips work well. For best results, choose a cut with some fat marbling. Thinly slice against the grain for tenderness. If using pre-sliced beef, pat it dry thoroughly to prevent excess moisture in the pan.
How do I make this stir fry less sweet?
Reduce the honey to ½ tbsp or omit it entirely. For extra umami, add 1 tsp fish sauce or ½ tsp oyster sauce to deepen the savory notes. The tomatoes' natural sweetness will still shine without the honey.
What if I don't have a wok?
Use a large skillet or deep frying pan with high sides. The key is maintaining high heat and stirring constantly. A cast-iron skillet works beautifully for that wok-hei effect. Just ensure your pan is heavy enough to retain heat well.
Can I make this stir fry ahead of time?
Yes, but cook the beef and vegetables separately, then combine just before serving. Store components in airtight containers in the fridge for up to 2 days. Reheat the beef and veggies separately, then toss with fresh sauce to maintain texture. The sauce can be pre-made and stored separately.
What vegetables can I substitute for bell peppers?
Try zucchini, snap peas, mushrooms, or broccoli florets. Each adds different textures: zucchini stays tender, mushrooms add meaty depth, and broccoli brings a slight crunch. Just adjust cooking times—mushrooms take longer while zucchini cooks faster than bell peppers.
