Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (450 g) ground pork
- 8 oz (225 g) green beans, trimmed & cut
- 6 cloves garlic, minced
- 2 shallots, thinly sliced
- 3–5 Thai bird’s eye chilies, sliced
- 2 tbsp neutral oil
- 3 tbsp fish sauce
- 1 tbsp soy sauce
- 1 tbsp oyster sauce
- 1 1/2 tsp sugar
- 2 tbsp water
- 1 1/2 cups Thai basil leaves
- Juice of 1/2 lime
- Cooked jasmine rice, fried eggs (optional) for serving
Do This
- 1. Stir together fish sauce, soy, oyster sauce, sugar, and water; set aside.
- 2. Prep garlic, shallots, chilies, green beans, and pick Thai basil leaves.
- 3. Stir-fry green beans in hot oil until bright green and slightly blistered; remove.
- 4. In the same pan, sauté garlic, shallots, and chilies until fragrant.
- 5. Add ground pork; cook, breaking it up, until browned and cooked through.
- 6. Return green beans, pour in sauce, and stir-fry on high until glossy and reduced.
- 7. Turn off heat, toss in Thai basil and lime juice, and serve over hot jasmine rice (with a fried egg if you like).
Why You’ll Love This Recipe
- Fast, weeknight-friendly dinner that tastes like your favorite Thai takeout.
- Big, bold flavors: spicy chilies, garlicky pork, savory fish sauce, and fragrant basil.
- Uses simple, easy-to-find ingredients with flexible options for spice and protein.
- Pairs perfectly with hot jasmine rice and a crispy-edged fried egg for a complete meal.
Grocery List
- Produce: Garlic, shallots (or red onion), green beans, Thai bird’s eye chilies, red Fresno or jalapeño chili (optional), lime, fresh Thai basil, green onions (optional garnish).
- Dairy: None required (eggs are optional for serving).
- Pantry: Ground pork, neutral cooking oil, fish sauce, soy sauce, oyster sauce, sugar, jasmine rice, salt, black pepper (optional).
Full Ingredients
Pork & Vegetables
- 1 lb (450 g) ground pork
- 8 oz (225 g) green beans, trimmed and cut into 1 1/2 inch (4 cm) pieces
- 6 cloves garlic, finely minced
- 2 medium shallots (about 2 oz / 60 g), thinly sliced (or 1 small red onion)
- 3–5 Thai bird’s eye chilies, finely sliced (adjust to your heat level)
- 1 medium red Fresno or jalapeño chili, thinly sliced into rings (optional, for color and milder heat)
- 2 tbsp neutral oil (canola, vegetable, or peanut oil)
Savory Stir-Fry Sauce
- 3 tbsp fish sauce
- 1 tbsp soy sauce (light or all-purpose)
- 1 tbsp oyster sauce
- 1 tsp dark soy sauce (optional, for color and extra depth)
- 1 1/2 tsp granulated sugar or palm sugar, packed
- 2 tbsp water
Herbs & Finish
- 1 1/2 cups lightly packed fresh Thai basil leaves (about 1 oz / 30 g), torn if large
- Juice of 1/2 lime (about 1 tbsp), plus extra wedges for serving
To Serve
- 4 cups cooked jasmine rice, hot and fluffy
- 4 fried eggs, sunny-side up or over-easy (optional but highly recommended)
- Sliced green onions or extra basil leaves, for garnish (optional)

Step-by-Step Instructions
Step 1: Mix the Savory Stir-Fry Sauce
In a small bowl, combine the fish sauce, soy sauce, oyster sauce, dark soy sauce (if using), sugar, and water. Stir until the sugar is mostly dissolved. Taste a tiny drop (it will be strong and salty now but will balance out in the pan). Adjust sweetness with a pinch more sugar if you prefer a slightly rounder flavor. Set the sauce near the stove; once you start stir-frying, things move quickly.
Step 2: Prep All the Aromatics and Vegetables
Finely mince the garlic and thinly slice the shallots. Slice the Thai bird’s eye chilies very thinly (you can remove seeds for less heat, but they carry a lot of flavor). If using, slice the Fresno or jalapeño chili into thin rings for a milder, colorful heat. Trim the ends off the green beans and cut them into 1 1/2 inch (4 cm) pieces.
Pick the Thai basil leaves from the stems and lightly tear any very large leaves. Keep them in a bowl ready to toss in at the end. Once everything is prepped, place all ingredients close to the stove so you can add them quickly.
Step 3: Blister the Green Beans
Heat a large skillet or wok over medium-high to high heat until hot. Add 1 tbsp of the neutral oil. When the oil shimmers, add the green beans in a single layer if possible. Let them sit undisturbed for 1–2 minutes to develop a few charred spots, then stir-fry for another 2–3 minutes until they turn bright green and just tender-crisp with a light blistering.
Transfer the beans to a plate and set aside. They will finish cooking when they go back into the pan with the sauce, so do not cook them until soft at this stage.
Step 4: Sauté the Aromatics
In the same pan, add the remaining 1 tbsp oil. Reduce the heat slightly to medium. Add the garlic and shallots and cook, stirring constantly, for about 30–60 seconds until fragrant and just starting to soften but not browned.
Add the Thai bird’s eye chilies and the sliced Fresno or jalapeño (if using). Stir-fry for another 30 seconds. You should smell a strong chili-garlic aroma. Keep the ingredients moving to prevent burning; if they start to brown too quickly, reduce the heat slightly.
Step 5: Brown the Pork
Add the ground pork to the pan. Use a spatula or wooden spoon to break it up into small crumbles. Increase the heat back to medium-high. Cook, stirring and pressing the pork against the pan, for about 5–7 minutes until it is fully cooked through and starting to brown in spots.
If the pork releases a lot of fat, you can spoon off a tablespoon or two, but leave enough to keep everything glossy and flavorful. Taste a small piece and season lightly with a pinch of salt or black pepper only if needed (remember the sauce is salty).
Step 6: Add the Green Beans and Sauce
Return the blistered green beans to the pan with the pork and aromatics. Stir to combine. Give the prepared stir-fry sauce a quick stir and pour it evenly over the pork and beans.
Stir-fry over high heat for 2–3 minutes, tossing constantly, until everything is coated and the sauce has thickened slightly and become glossy. You want the liquid mostly clinging to the pork and beans, not pooling heavily in the bottom of the pan. If it looks dry, you can splash in 1–2 tbsp of water. If it is too wet, cook another minute to reduce.
Step 7: Finish with Thai Basil and Lime
Turn off the heat. Immediately add the Thai basil leaves to the hot pan and toss gently until the leaves are just wilted and perfumed, about 20–30 seconds. Squeeze in the lime juice and toss again. Taste and adjust: add a few more drops of fish sauce for more salt, a pinch of sugar if it seems too sharp, or more lime for extra brightness.
Serve the spicy Thai basil pork and green beans right away over hot jasmine rice. Top each serving with a fried egg (sunny-side up or over-easy) if you like, so the runny yolk mingles with the savory, spicy pork. Garnish with extra basil or sliced green onions if desired.
Pro Tips
- Prep before you cook: This recipe cooks quickly once you start stir-frying. Have all ingredients chopped, measured, and ready near the stove.
- Use high heat for best flavor: A hot pan helps brown the pork and lightly blister the green beans, giving you that restaurant-style smoky edge.
- Add basil off the heat: Thai basil is delicate. Turn off the heat before adding it so it wilts and perfumes the dish without turning black or bitter.
- Adjust the spice level: Use 1–2 Thai chilies for mild, 3–4 for medium, and 5 or more for quite spicy. You can also substitute part of the bird’s eye chilies with a milder chili like jalapeño.
- Ground meat options: Ground chicken, turkey, or finely chopped pork shoulder all work well if you do not have ground pork.
Variations
- Chicken or turkey version: Substitute ground pork with ground chicken or turkey. Because they are leaner, you may want to add 1 extra teaspoon of oil and 1 additional tablespoon of water in the sauce to keep it moist.
- Extra veggies: Add thinly sliced red bell pepper, baby corn, or mushrooms when you add the green beans. Stir-fry until crisp-tender and coated in sauce.
- Vegan-ish twist: Use crumbled firm tofu or a plant-based ground “meat,” replace fish sauce with soy sauce or a vegan fish sauce alternative, and add an extra teaspoon of soy plus a pinch more sugar to balance flavors.
Storage & Make-Ahead
Let the cooked pork and green bean stir-fry cool to room temperature, then transfer to an airtight container. Refrigerate for up to 3–4 days. Reheat gently in a skillet over medium heat with a splash of water until hot, or microwave in short bursts, stirring in between. The basil will darken slightly after storage, but the flavor remains delicious. For best texture, cook the rice fresh when serving, or reheat leftover jasmine rice in the microwave with a damp paper towel over the bowl.
You can also freeze the cooked pork and green bean mixture (without basil if possible) for up to 2 months. Reheat from frozen in a covered pan over low heat, then toss in a handful of fresh basil and a squeeze of lime right before serving.
Nutrition (per serving)
Approximate values per serving (1/4 of the stir-fry plus about 1 cup cooked jasmine rice, without fried egg): about 610 calories, 29 g protein, 25 g fat, 64 g carbohydrates, 3 g fiber, and 1,500–1,700 mg sodium. Adding a fried egg will contribute roughly an additional 90 calories and 6 g of protein. Exact values will vary based on brands and portion sizes.

Leave a Reply