Crispy Garlic-Soy Beef & Broccoli Stir-Fry
A high-protein, low-carb stir-fry with tender flank steak and crisp broccoli, coated in a savory garlic-soy glaze that cooks in under 20 minutes. This asian-inspired beef (keto, high protein) ready in about 30 minutes pairs flank steak, broccoli, garlic for a weeknight-friendly dinner that comes together with one pan and minimal cleanup. Each serving lands at about 450 calories and feeds 4, so it slots cleanly into a weekly meal plan and pairs well with a quick salad or grain on the side. Tap "Plan a meal with the AI" below to drop this recipe into your week and send the ingredients straight to Instacart. Nutrition values are approximate, calculated from USDA FoodData Central (fdc.nal.usda.gov) — verify against ingredient labels for any health-driven dietary plan.
Ingredients
- 12 oz flank steak
- 2 cups broccoli
- 3 cloves garlic
- 3 tbsp soy sauce
- 1 tbsp sesame oil
- 2 tbsp olive oil
- 1/2 cup onion
- 1 tsp ginger
- 1 tsp cornstarch
- 2 tbsp water
- 1/4 tsp black pepper
- 1/8 tsp red pepper flakes
Instructions
- Step 1: Place 12 oz thinly sliced flank steak in a bowl, then add 1 tsp cornstarch, 1/4 tsp black pepper, and 1/8 tsp red pepper flakes; toss to coat evenly and set aside for 5 minutes.
- Step 2: Heat 1 tbsp olive oil in a large skillet over medium-high heat until shimmering. Add the marinated beef in a single layer and sear for 2-3 minutes per side until browned, then transfer to a plate.
- Step 3: Add the remaining 1 tbsp olive oil to the skillet over medium heat, then add 1/2 cup thinly sliced onion and 1 tsp minced ginger; cook for 2 minutes until softened and fragrant.
- Step 4: Add 2 cups broccoli florets to the skillet and stir-fry for 3-4 minutes until bright green and crisp-tender, then add 3 minced garlic cloves and cook for 30 seconds until fragrant and golden.
- Step 5: Return the seared beef to the skillet, then whisk together 3 tbsp soy sauce, 1 tbsp sesame oil, and 2 tbsp water in a small bowl. Pour the sauce over the beef and broccoli, stirring to coat evenly; cook for 2-3 minutes until the sauce thickens and coats the back of a spoon.
- Step 6: Remove from heat immediately and serve hot, garnished with extra broccoli florets if desired.
Equipment for this recipe
Top-rated tools to make this recipe successfully.
Frequently asked questions
How long does Crispy Garlic-Soy Beef & Broccoli Stir-Fry take to make?
Total time is about 30 minutes (15 min prep + 15 min cook). Most home cooks find this fits comfortably into a weeknight; double the batch on Sunday for two dinners.
How do I store leftover Crispy Garlic-Soy Beef & Broccoli Stir-Fry?
Cool to room temperature within 2 hours, then store in an airtight container in the fridge for up to 4 days. Reheat covered in a 350°F oven for 10-12 minutes, or microwave at 70% power in 60-second bursts to keep flank steak from drying out.
Can I substitute ingredients in Crispy Garlic-Soy Beef & Broccoli Stir-Fry?
Yes — most ingredients in this recipe have flexible swaps. For oil, use any neutral high-smoke-point oil (avocado, grapeseed, refined coconut). For aromatics, dried herbs at ⅓ the volume of fresh work in a pinch. The full ingredient list is shoppable on Instacart so you can see substitutes in real time.
How do I scale Crispy Garlic-Soy Beef & Broccoli Stir-Fry for a different number of people?
The recipe is written for 4 servings. Multiply each ingredient by (your serving target / 4). Cook time stays roughly the same up to 2x; for 3-4x batches, switch from a skillet to a sheet pan or stockpot so the food isn't crowded — overcrowding steams instead of browns.
Is Crispy Garlic-Soy Beef & Broccoli Stir-Fry keto?
Yes — this recipe is tagged keto, high protein based on its ingredient list. Always cross-check labels for packaged ingredients (sauces, broths, condiments) since formulations vary by brand.
What others are saying
- ★★★★★
Used half the salt and it was still plenty flavorful.
- ★★★★★
Made this for my family and everyone asked for the recipe.
- ★★★★☆
Nice recipe! Presentation was beautiful. Flavor was good, not great.