Slice the steak: Freeze the steak for 15–20 minutes to firm it up. Slice thinly against the grain into bite-size strips.
Pat dry with paper towels.
Toss with cornstarch: In a bowl, season steak with a pinch of salt and pepper. Add 1–2 teaspoons cornstarch and toss to lightly coat. This helps brown the meat and keeps it tender.
Mix the sauce: In a small bowl, whisk 1/4 cup soy sauce, 1 tablespoon rice vinegar, 1 tablespoon brown sugar, 1–2 teaspoons oyster sauce (if using), 2 teaspoons cornstarch, and 1 tablespoon water.
Stir in the minced garlic and grated ginger. Adjust sweetness, salt, and heat to taste.
Prep the broccoli: Cut florets into similar sizes. If using thick stems, peel and slice them so nothing goes to waste.
Par-cook the broccoli: Steam or microwave with a splash of water for 1–2 minutes until bright green and crisp-tender.
Drain well. This keeps stir-fry time short and broccoli snappy.
Heat the pan: Use a large skillet or wok over medium-high to high heat. Add 1–2 tablespoons neutral oil and get it shimmering.
Sear the steak in batches: Add a single layer of steak.
Don’t crowd the pan. Sear 60–90 seconds per side until browned but not fully cooked through. Remove to a plate and repeat with remaining steak, adding oil as needed.
Sauté aromatics: If the pan is dry, add a touch of oil.
Briefly cook a little extra garlic or ginger if you like, 15–30 seconds, until fragrant.
Add broccoli: Toss in the broccoli and stir-fry for 1–2 minutes to pick up color and heat through.
Pour in the sauce: Stir the sauce, then add to the pan. It will thicken quickly. If too thick, splash in 2–3 tablespoons water.
Return steak to pan: Add the seared steak and any juices.
Toss to coat and warm through, 1–2 minutes. Finish with 1 teaspoon sesame oil and red pepper flakes if desired.
Serve: Spoon over warm rice or your chosen base. Garnish with green onions and sesame seeds.
Taste and adjust with a squeeze of lime or a splash of soy if needed.