Soups & Stews
This beef and tomato stir-fry recipe delivers restaurant-quality umami depth with a perfect sweet-tangy balance in just 25 minutes. The secret lies in high-heat wok searing—transforming thinly sliced beef into tender, caramelized strips while preserving the tomatoes' natural sweetness.
I developed this recipe after years of refining stir-fry techniques, and it never fails to impress even skeptical meat lovers.
What sets this dish apart is the layered flavor profile: savory beef meets bright tomatoes, enhanced by a simple yet impactful sauce of soy, garlic, and a touch of brown sugar.
The key technique is cooking the beef first—removing it from the wok before adding vegetables ensures it stays tender while the onions and tomatoes develop their natural sweetness. This method creates a dish that's both quick and deeply flavorful.
By the time you're done, you'll have perfectly seared beef with a glossy, caramelized crust, vibrant red tomatoes that hold their shape, and a sauce that clings to every bite.
The aroma alone—garlicky, slightly smoky, with underlying sweetness—will have everyone asking for seconds. Serve over steamed rice for the full experience.
This stir-fry scales beautifully for weeknight dinners or meal prep, and the sauce can be adjusted to suit your spice preferences. The technique is straightforward but yields restaurant-quality results—ideal for home cooks who want flavor without fuss. Let's get started on creating this umami-packed masterpiece.
Ingredients for beef and tomato stir fry
Restaurant-quality stir-fry ingredients that transform simple beef and tomatoes into umami-packed perfection.
| Ingredient | Amount | Notes |
|---|---|---|
| Flank Steak 🥩 | 1 lb | Thinly sliced against grain |
| Yellow Onion 🧅 | 1 whole | Thinly sliced, outer layers removed |
| Roma Tomatoes 🍅 | 4 whole | Quartered, seeds removed |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Low-Sodium Soy Sauce 💧 | ⅓ cup | For umami depth |
| Brown Sugar 🍯 | 1 tbsp | Light or dark variety |
| Sesame Oil 🫒 | 1 tbsp | Toasted, for aroma |
| Cornstarch 🌾 | 1 tbsp | For tenderizing beef |
| Vegetable Oil 🫒 | ½ cup | High smoke point |
| Fresh Ginger 🌿 | 1 tbsp | Finely grated |
| Red Pepper Flakes 🌶️ | ½ tsp | Adjust to taste |
| Kosher Salt 🧂 | 1 tsp | Diamond Crystal preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Steamed Jasmine Rice 🍚 | 2 cups | Cooked, for serving |
The flank steak is non-negotiable for this recipe—its lean yet tender texture holds up perfectly to the high-heat sear. Look for center-cut slices at your local butcher or pre-sliced Asian market packages. Costco often carries pre-sliced flank steak in the frozen section, which saves time. If using fresh, slice against the grain for maximum tenderness. The Roma tomatoes should be firm and vibrant—avoid those with soft spots or cracks. Trader Joe's consistently carries high-quality Roma tomatoes year-round. For the garlic, freshly minced makes all the difference—pre-minced garlic in jars loses potency quickly.
No flank steak? Sirloin or ribeye work in a pinch, though they're slightly more tender and may overcook if not handled carefully. Substituting canned tomatoes for fresh? Crush them by hand to mimic the texture of quartered Roma. The low-sodium soy sauce is crucial—regular soy sauce will make the dish too salty. Kikkoman or Lee Kum Kee brands are reliable choices. For the brown sugar, light brown adds subtle molasses notes, while dark brown gives more caramel depth. Short on sesame oil? Toasted peanut oil** works surprisingly well. The cornstarch slurry is essential for tenderizing—don't skip it, even if your steak is pre-sliced thin.
Store prepped onions and garlic in airtight containers with a damp paper towel to maintain freshness for up to 5 days. The steak can be marinated in the sauce for up to 4 hours before cooking—this enhances flavor but isn't required. Leftover stir-fry reheats beautifully—just add a splash of water to the pan and stir-fry for 2-3 minutes over medium heat. For meal prep, portion into glass containers with a tight seal—keeps for 4 days in the fridge or 3 months frozen. The rice reheats best with a spritz of water and covered microwave steam.
Why You'll Love This Recipe
- No Fuss, Big Payoff: I swear by this one—just slice the flank steak thin against the grain, toss in chopped onions and tomatoes (no fancy prep needed), and let the garlic and soy sauce do the magic. Five minutes of active work, and you’ve got a dish that feels like you slaved over it.
- Umami Bomb: That low-sodium soy sauce? It’s the secret weapon here, cutting through the richness of the beef while the Roma tomatoes add a sweet, juicy pop. Honestly, the first time I tasted it, I thought, “Why haven’t I been doing this all along?”
- Weeknight to Weekend: Make it for a lazy Tuesday with rice, or double the batch and freeze half for when you’re too tired to cook. Between us, it’s also the only beef dish I bring to potlucks—no one questions the simple ingredients, but they’ll ask for the recipe.
- Budget Meal, Restaurant Feel: Flank steak stretches far, and the onions/tomatoes bulk it up without breaking the bank. I’ll be real: my grocery bill stays sane, but my family thinks we’re eating at a bistro. (They don’t know about the leftovers I sneak into lunches.)
Step-by-step instructions for beef and tomato stir fry
Master this wok technique for perfectly seared beef and vibrant vegetables.
Prep the Flank Steak for Maximum Tenderness
Place the 1 lb flank steak between two sheets of plastic wrap. Using a meat mallet, pound it to an even ¼-inch thickness while keeping it intact. This ensures even cooking and prevents chewy bites. Cut against the grain into ¼-inch thick slices—this is critical for tender results.
Transfer the sliced steak to a bowl and toss with 1 tablespoon cornstarch and 1 teaspoon kosher salt. Let it marinate for 15 minutes while you prepare the remaining ingredients. The cornstarch creates a delicate crust that locks in juices during the high-heat sear. Don't skip this step—it's what transforms tough flank steak into silky, fork-tender slices.
Build Flavor Layers in the Wok
Heat a wok or large skillet over high heat until it's smoking hot. Add ½ cup vegetable oil and swirl to coat the entire surface. Working in batches to avoid crowding, add the prepped flank steak slices and sear for 1-2 minutes per side until they develop a deep golden crust. Remove the beef and set aside on a plate.
In the same wok, add ½ cup vegetable oil remaining and swirl to coat. Add 1 whole yellow onion sliced thinly and 4 whole roma tomatoes quartered with seeds removed. Stir-fry for 3-4 minutes until the onions soften and tomatoes begin to blister. Add 4 cloves garlic cloves minced and 1 tablespoon fresh ginger finely grated, cooking for 30 seconds until fragrant. This layering of aromatics builds the foundation for your stir-fry's complex flavor profile.
Create the Signature Sauce
In a small bowl, whisk together ⅓ cup low-sodium soy sauce, 1 tablespoon brown sugar, 1 tablespoon sesame oil, and ½ teaspoon red pepper flakes. Pour this mixture into the wok with the vegetables and stir to combine. Let it simmer for 2-3 minutes until the sauce thickens slightly and coats the vegetables. The sugar caramelizes here, adding depth to the umami from the soy sauce.
Return the seared beef to the wok and toss everything together for 1-2 minutes until the beef is heated through and evenly coated with the sauce. The high heat ensures the beef stays tender rather than toughening. Taste and adjust seasoning—you may need to add a splash of water if the sauce becomes too thick, but it should maintain a glossy sheen.
Finish and Serve with Jasmine Rice
Remove the stir-fry from heat and let it rest for 2 minutes. This brief resting period allows the flavors to meld and the beef to reabsorb any juices that might have pooled during cooking. The dish should have a perfect balance of sweet, tangy, and umami flavors with vibrant red and golden hues.
Serve immediately over 2 cups steamed jasmine rice, spooning the beef and vegetables evenly over the rice. The aromatic rice acts as a neutral canvas that lets the bold stir-fry flavors shine. Garnish with an additional drizzle of sesame oil and extra red pepper flakes if desired. Each bite should deliver perfectly seared beef with tender vegetables and a glossy, flavorful sauce that clings to every strand of rice.
Pro Tips For Making Beef And Tomato Stir Fry
- Slice Against the Grain: Cut your flank steak thin (about ¼-inch thick) and slice it against the grain—this is the thing that matters most for tender bites. I used to rush this step and ended up with chewy slices; patience here pays off.
- Char the Onions First: Sear your sliced yellow onion in the pan for 2-3 minutes before adding anything else—this builds flavor and softens them just enough. After burning three batches, I finally figured out that low and slow isn’t the way; high heat for a quick char works better.
- Salt the Tomatoes: Toss your chopped Roma tomatoes with a pinch of salt and let them sit for 5 minutes before cooking. This draws out moisture, preventing a soggy stir-fry—yes, even if you’re impatient like me, trust the process.
- Use Half the Soy Sauce Early: Add only about half of your low-sodium soy sauce at the start, then finish with the rest at the end. This keeps the beef from turning mushy while still giving you that deep umami flavor. I skip this when I’m lazy, but the dish is noticeably better when I don’t.
Pro cooking tips for perfect results
High-Heat Wok Mastery
The key to this stir-fry is achieving a smoking-hot wok before adding any oil. I use a carbon steel wok (like Made In woks) because it heats up faster and retains heat better than stainless steel.
Let it preheat for 3-5 minutes over high heat until it's visibly smoking—this ensures your beef develops that perfect caramelized crust. If you don’t have a wok, a heavy-bottomed cast iron skillet (like Lodge) works just as well. 🔥
Batch Cooking Beef
Never overcrowd the wok—cook the beef in small batches of 2-3 slices at a time. This ensures each piece gets a proper sear rather than steaming. I like to work in two batches for the full pound of steak.
After searing, remove the beef immediately and set it aside on a plate. This prevents the beef from continuing to cook when the vegetables go in, keeping it tender. 🥩
Tomato Texture Secrets
For the tomatoes to stay vibrant and not turn mushy, quarter them lengthwise and remove the seeds before adding to the wok. This reduces moisture content and prevents them from breaking down too quickly.
Roma tomatoes work best because they’re meatier and hold their shape better than vine-ripened varieties. Add them after the onions so they get just enough time to soften without losing their structure. 🍅
Sauce Timing Matters
The sauce should coat the vegetables but not be overly thick—aim for a glossy sheen rather than a sticky glaze. If it starts to thicken too quickly, add 1-2 tablespoons of water to loosen it.
I like to taste the sauce before adding the beef back in to ensure it’s balanced. The brown sugar caramelizes during this step, adding depth, so don’t skip letting it simmer for those 2-3 minutes. 💛
Resting for Flavor
That 2-minute rest after cooking is crucial—it lets the beef reabsorb any juices that might have pooled during the stir-fry. This step also allows the flavors to meld together, giving you a more cohesive bite.
Serve immediately over rice, but if you need to hold it, keep it warm in a 200°F oven for up to 20 minutes. The rice should be hot but not mushy—steam it fresh or reheat with a splash of water. 🍚
Nutrition facts
Frequently asked questions
Can I use ground beef instead of flank steak?
Ground beef works in a pinch, but it won't give the same texture or flavor. For best results, stick with thinly sliced flank steak—it stays tender and develops that perfect caramelized crust. If you must use ground beef, brown it first in small batches to remove excess moisture before adding to the stir-fry.
How do I prevent the tomatoes from turning mushy?
Quarter Roma tomatoes lengthwise and remove the seeds before cooking to reduce moisture. Add them after the onions have softened (3-4 minutes in the wok) to maintain their shape. Stir-fry them for just 1-2 minutes total—they should stay vibrant and slightly firm, not collapsed.
What if I don't have a wok? No problem! A heavy-bottomed cast iron skillet or even a large nonstick pan works perfectly. The key is getting your pan smoking hot before adding oil—this creates the same high-heat sear. Just
Can I make this stir-fry ahead of time?
Yes, but with a few adjustments. Cook the beef and vegetables separately, then store in airtight containers. Reheat the beef in a dry pan for 2-3 minutes and the veggies with a splash of water. For best flavor, assemble fresh and serve immediately over hot rice. The sauce reheats well but may thicken—add water as needed.
How spicy should this be?
The recipe includes just ½ teaspoon red pepper flakes for a mild heat. For more spice, add ¼ teaspoon extra or swap in chili flakes. If you prefer no heat, simply omit it entirely—the dish still delivers bold umami and sweet-tangy flavors. Adjust to taste!
