Bags of Spices

Favorite Recipes

Wok/Stir-Fried

High-heat, fast-cooking dishes inspired by Asian techniques — crisp, saucy, and full of flavor.

  • Bahmi Goreng — Indonesian Fried Noodles

    Bahmi Goreng — Indonesian Fried Noodles

    When Jane and I returned home from our honeymoon, we talked about what to have for dinner that first Sunday back. I said Indonesian sounded great—she had no idea what I meant. That conversation started what has since become one of our favorite family food traditions. The first time I made bahmi goreng for her, the kitchen filled with the aroma of garlic, chilies, and ketjap caramelizing in a hot wok, and she was instantly hooked. Ever since, this dish has represented warmth, comfort, and the sense of adventure we shared from the very beginning. Stir-fried noodles tossed with tender chicken, pork, and shrimp, fragrant with galangal and brightened with lime, bring a taste of Indonesia to our table time and again.


    Ingredients

      Noodles

    • 12 oz (340 g) Chinese egg noodles or lo mein noodles
    • Proteins

    • 4 oz (115 g) small shrimp, peeled and halved lengthwise (optional)
    • 4 oz (115 g) chicken breast, thinly sliced
    • 4 oz (115 g) lean pork or thinly sliced beef
    • Optional Quick Marinades

    • For Shrimp: ½ tsp light soy sauce, ¼ tsp fish sauce, ¼ tsp cornstarch, pinch white pepper
    • For Pork: 1 tsp ketjap manis, ½ tsp light soy sauce, ¼ tsp cornstarch, ¼ tsp minced garlic
    • For Chicken: 1 tsp ketjap manis, ½ tsp light soy sauce, ¼ tsp cornstarch, ¼ tsp minced garlic, pinch white pepper
    • Vegetables

    • 2 cups shredded white cabbage or Chinese cabbage
    • 4 green onions, cut into 1-inch pieces
    • Bumbu (Spice Paste)

    • 3½ oz (100 g) shallots, roughly chopped
    • 4–5 cloves garlic
    • ½ oz (15 g) fresh galangal, sliced (or ½ tsp galangal powder)
    • 1–2 fresh red chilies, seeded if desired
    • 1 tbsp chopped cilantro stems
    • Seasoning Sauce

    • 2 tbsp ketjap manis (Indonesian sweet soy sauce)
    • 1 tbsp light soy sauce
    • ⅓ tsp MSG (optional but recommended)
    • ¼ tsp ground white pepper
    • ⅛ tsp turmeric
    • 1 tsp fish sauce (optional, for added umami)
    • Cooking Oil

    • 3 tbsp peanut oil, divided
    • Optional Flavor Boost

    • 1 tsp tomato paste
    • Finishing & Garnishes

    • Fresh lime juice, to taste
    • Fresh cilantro leaves
    • Fried shallots
    • Reserved chili slivers
    • Omelet shreds (optional)
    • Fried onion flakes (optional)
    • For Serving

    • Lime wedges
    • Sambal oelek or sambal badjak
    • Extra ketjap manis

    Directions

    Prepare the Noodles

    Cook the noodles according to package directions until just tender. Drain well and toss lightly with about 1 tsp of the peanut oil to prevent sticking.

    Spread the noodles out on a tray or colander and let them cool slightly while preparing the remaining ingredients.

    Optional: Marinate the Proteins

    If using the marinades, toss each protein with its respective marinade ingredients and let stand for 10–15 minutes while preparing the vegetables and bumbu.

    Prepare the Bumbu

    In a food processor or mortar and pestle, grind the shallots, garlic, galangal, chilies, and cilantro stems into a coarse aromatic paste.

    Prepare the Vegetables

    Shred the cabbage and cut the green onions into 1-inch lengths.

    Cook the Proteins

    Heat 1 tbsp peanut oil in a wok over high heat until shimmering.

    Add the chicken and pork (or beef) and spread them across the surface of the wok. Let them sear undisturbed for about 30 seconds before stir-frying.

    Continue stir-frying until just cooked through, about 2–3 minutes.

    Add the shrimp and cook briefly until pink. Transfer all proteins to a plate and set aside.

    Cook the Bumbu

    Add the remaining peanut oil to the wok.

    Add the bumbu paste and stir-fry for about 2 minutes until fragrant.

    If using the tomato paste, add it now and cook about 30 seconds until lightly caramelized.

    Build the Stir-Fry

    Add the cabbage and green onions and stir-fry for 1–2 minutes.

    Add the noodles and toss well with the aromatics.

    Return the proteins to the wok.

    Season and Finish

    Add the ketjap manis, soy sauce, MSG, white pepper, turmeric, and fish sauce if using.

    Toss everything over high heat until evenly coated and glossy. If the noodles absorb the sauce too quickly, add 1–2 tbsp hot water to loosen the sauce and help it coat the noodles.

    Finish with a squeeze of fresh lime juice.

    Serve

    Garnish with cilantro leaves, fried shallots, chili slivers, and optional omelet shreds or fried onion flakes. Serve with lime wedges, sambal, and extra ketjap manis.


    Notes

    Preparation

    • Chinese egg noodles or lo mein noodles work best for this dish.
    • If ketjap manis is unavailable, substitute 1 tbsp soy sauce mixed with 2 tsp brown sugar.
    • If using a less sweet ketjap manis, add ½ tsp brown sugar to balance the sauce.
    • A small amount of fish sauce adds savory depth similar to Indonesian shrimp paste.
    • The tomato paste adds deeper color and umami reminiscent of Dutch-Indo restaurant versions.

    Serving Suggestions

    • Serve with krupuk (Indonesian shrimp crackers).
    • A fried egg on top is a popular Indonesian presentation.
    • A side of acar timun adds refreshing contrast.

    Variations

    • Increase the chilies or add sambal badjak for a spicier Javanese-style version.
    • A light drizzle (about ½ tsp) sesame oil over the finished noodles adds subtle aroma.

    Make-Ahead & Storage

    • Best served fresh from the wok.
    • Leftovers keep up to 2 days refrigerated.
    • Reheat in a skillet with a splash of water or oil.
  • Cashew Chicken

    Cashew Chicken

    When Jane and I were dating, we often went to the Mandarin Restaurant in Bountiful. We always seemed to end up in the same small booth, sharing dishes like their Cashew Chicken—tender, glossy, and perfectly balanced between savory and sweet. The Mandarin has been a family favorite ever since, and whenever extended family visits from out of state, it’s the one place we all gather. This recipe brings a bit of that tradition home.


    Ingredients

      Chicken

    • 2 (8-oz / 225 g each) chicken breasts, cut into 1-inch pieces
    • Marinade

    • 2 tsp (11 g) cornstarch
    • 2 tsp (12 g) soy sauce
    • 1 tsp (5 g) shaoxing wine
    • 1 tsp (5 g) oil
    • pinch white pepper
    • Sauce

    • ½ cup (120 g) chicken broth (or water)
    • 1 tbsp (18 g) soy sauce
    • 1 tsp (6 g) mushroom soy sauce (or dark soy sauce)
    • 2 tsp (11 g) ketchup
    • 2 tsp (11 g) hoisin sauce
    • 2 tsp (11 g) shaoxing wine
    • 1 tsp (5 g) rice vinegar
    • ¼ tsp oyster sauce
    • 2 tsp (8 g) sugar (or to taste)
    • Vegetables

    • 2 cups mixed vegetables, such as water chestnuts, sugar snap peas, julienned carrots, sliced red bell pepper, or cubed asparagus
    • Wok Prep

    • 3 oz (85 g) vegetable oil, divided
    • 1 tbsp garlic, crushed
    • 1 tbsp fresh ginger, grated
    • 1 tsp sambal oelek
    • 2 tsp (11 g) cornstarch mixed with 2 tsp (10 g) cold water
    • Final Mix-Ins & Garnishes

    • ½ cup cashews (reserve some for serving)
    • Scallions and/or cilantro, sliced
    • Steamed jasmine rice

    Directions

    Velvet the Chicken

    Combine marinade ingredients; add chicken and mix thoroughly. Marinate 10–15 minutes.

    Bring 1½ cups water with 1 tbsp oil to 180–190°F. Add chicken and stir gently for 45–60 seconds until just opaque on the outside but not fully cooked.

    Drain and set aside.

    Prepare the Sauce

    Whisk sauce ingredients in a bowl until the sugar dissolves. Set aside.

    Prep the Vegetables

    If using firmer vegetables such as carrots or asparagus, blanch for 30–60 seconds, shock in cold water, and drain well.

    Stir-Fry the Chicken

    Heat wok over medium-high until very hot. Add 2 oz vegetable oil and swirl to coat. Add chicken and stir-fry until just cooked through.

    Remove chicken and discard excess oil, leaving a thin film in the wok.

    Sauté the Aromatics

    Add remaining 1 tbsp oil, then garlic, ginger, and sambal oelek. Stir-fry 15–20 seconds until fragrant, without browning.

    Add the Sauce & Vegetables

    Add the prepared sauce and bring to a gentle simmer. Return chicken to the wok along with the vegetables.

    Stir-fry 30–45 seconds until heated through but still crisp.

    Thicken and Finish

    Add cashews, reserving a handful for serving. While stirring continuously, drizzle in the cornstarch slurry.

    Let it bubble 10–15 seconds until the sauce thickens and coats the ingredients evenly. Serve over jasmine rice, topped with scallions or cilantro.


    Notes

    Preparation

    • Velveting improves tenderness; keep the water below a boil so the coating stays smooth.
    • Use high, dry heat: preheat your wok or skillet until just starting to smoke.
    • Avoid crowding: stir-fry in small batches if needed to maintain searing heat.
    • Reserve a few cashews to sprinkle at the end for contrast.

    Serving Suggestions

    • Serve over jasmine rice or coconut rice.
    • Add steamed broccoli or bok choy alongside for a fuller meal.

    Variations

    • Spicier version: increase sambal oelek up to 2 tsp.
    • Extra nutty: toast the cashews lightly before adding.
    • Vegetarian: substitute tofu and use vegetable broth.

    Make-Ahead & Storage

    • Prep vegetables and stir-fry aromatics ahead for faster cooking.
    • Leftovers keep 2–3 days refrigerated.
    • Reheat in a hot wok or skillet to restore texture; avoid microwaving cashews.
  • Ginger Caramel Chicken

    Ginger Caramel Chicken

    This Ginger Caramel Chicken leans into a Southeast Asian flavor logic that makes caramel chicken so addictive: sugar cooked down into a glossy glaze, fish sauce for deep savory backbone, rice vinegar for balance, and ginger + garlic for warmth and aroma. Palm sugar brings a rounded, toasty caramel note, while a final hit of fresh ginger, sesame oil, and lime keeps the finish bright and lively instead of heavy. It’s sweet-salty, sticky, and intensely flavorful—perfect over rice with plenty of cilantro and lime wedges on the side.


    Ingredients

      Chicken

    • 1½ lb boneless, skinless chicken thighs, trimmed (left whole)
    • 1½ lb boneless, skinless chicken breasts, cut into large pieces
    • 1–2 tbsp vegetable oil, as needed
    • ½ tsp table salt (lightly season the chicken)
    • Caramel Sauce

    • ½ cup brown sugar (preferably dark brown sugar)
    • ⅓ cup palm sugar, finely chopped or grated
    • ⅓ cup fish sauce
    • ⅓ cup rice vinegar
    • ½ cup chicken stock
    • 2 tbsp fresh ginger, finely grated
    • 5 cloves garlic, crushed
    • To Finish

    • 1–2 jalapeños, thinly sliced (to taste)
    • 1 bunch green onions, sliced
    • ½ cup roasted peanuts, coarsely chopped
    • 1 tbsp fresh ginger, finely grated (added at the end)
    • 1 tsp toasted sesame oil
    • Juice of ½ lime (plus more to taste)
    • Fresh cilantro leaves, for garnish
    • Lime wedges, for serving

    Directions

    Prepare the Sauce

    In a bowl, combine brown sugar, palm sugar, fish sauce, rice vinegar, chicken stock, 2 tbsp grated ginger, and garlic. Stir well (some palm sugar may not fully dissolve yet).

    Brown the Chicken

    Pat the chicken dry and season lightly with ½ tsp table salt. Heat a large, wide sauté pan or skillet over medium-high heat. Add 1 tbsp vegetable oil.

    Working in batches, brown the thighs first (good color on both sides), then transfer to a plate. Brown the chicken breast pieces briefly until lightly golden, then transfer to a separate plate. Do not overcrowd the pan.

    Build the Caramel

    Carefully pour the sauce into the hot pan. Bring to a boil, scraping up any browned bits. Boil over high heat until the sauce reduces to a glossy, syrupy consistency—similar to maple syrup and able to coat the back of a spoon.

    Glaze and Simmer

    Return the chicken thighs to the pan and turn to coat in the caramel. Cook 2–3 minutes.

    Add the chicken breasts, reduce heat to medium, and simmer gently 6–8 minutes, turning occasionally, until the chicken is cooked through and evenly glazed.

    Finish

    Add jalapeños (to taste), green onions, peanuts, and the remaining 1 tbsp fresh ginger. Cook 1–2 minutes, just until fragrant.

    Remove from heat and stir in sesame oil and lime juice. Taste and adjust lime or heat as desired.

    Serve

    Serve over steamed jasmine rice. Garnish generously with cilantro and serve with lime wedges on the side.


    Notes

    Preparation

    • Palm sugar substitution: If you don’t have palm sugar, use ½ cup dark brown sugar + an additional ⅓ cup dark brown sugar (for a total of ⅚ cup dark brown sugar).
    • Pan choice: A wide skillet helps the sauce reduce quickly and glaze the chicken instead of braising it.

    Serving Suggestions

    • This dish pairs especially well with a crisp green salad dressed in our homemade ginger dressing, which helps cut the sweetness of the caramel glaze and refresh the palate. For a simple vegetable side, lightly blanched green beans—kept clean and restrained with just a touch of garlic and sesame oil—add freshness and texture without competing with the main flavors. Served together over jasmine rice, the plate feels balanced, bright, and complete.
    • Jasmine rice is ideal, but it’s also great over sticky rice or alongside a simple cucumber salad.
    • Serve with extra lime wedges so everyone can brighten their bowl to taste.

    Variations

    • More heat: Add a spoonful of chili oil or sambal at the end (to taste) for extra kick without changing the glaze texture.
    • Heat control: For milder heat, remove jalapeño seeds and ribs before slicing.

    Make-Ahead & Storage

    • Refrigerate leftovers in an airtight container for up to 4 days.
    • Reheat gently on the stovetop with a small splash of water or stock to loosen the glaze.
  • Fried Rice with Shrimp & Char Siu

    Fried Rice with Shrimp & Char Siu

    Fried rice has always held a place of honor in our family meals—a dish that somehow feels both humble and celebratory at once. This version, with smoky char siu pork, tender shrimp, and crisp-tender vegetables, brings bold flavor and perfect balance to the table. The rice stays dry and lightly toasted, the shrimp are just sweet enough, and every bite carries the deep, savory notes that only come from a hot wok. It’s the kind of meal that fills the house with warmth and pulls everyone to the table—laughing, reaching for seconds, and sharing stories long after the plates are empty. Simple in spirit, but rich in tradition, it’s one of those dishes that reminds us why we love gathering together for a family meal.


    Ingredients

      Sauce / Seasoning Mix

    • 3 tbsp water
    • 2 tbsp light soy sauce
    • 1 tbsp dark or mushroom soy sauce
    • 1 tbsp oyster sauce
    • 1½ tbsp Shaoxing wine (or michiu)
    • 1 tsp sugar
    • ½ tsp chicken bouillon powder
    • ½ tsp white pepper
    • ½ tsp MSG (optional, for depth)
    • Slurry: 1 tsp cornstarch + 1 tsp water (optional, for thicker coating)
    • ½ tsp toasted sesame oil (add off heat, at the end)
    • Vegetables & Aromatics

    • 2–3 tbsp high-heat neutral oil (vegetable, peanut, or canola)
    • 1 medium onion, diced
    • 2 jalapeños, seeded and finely diced
    • 1 red bell pepper, diced small
    • ½ cup carrots, diced or julienned, blanched & patted dry
    • ½ cup celery, finely diced, blanched & patted dry
    • ½ cup green beans, cut into 1-inch pieces, blanched & patted dry
    • 2 cloves garlic, minced
    • 1 tbsp fresh ginger, grated or minced
    • ⅔ cup green onions (scallions), sliced — white parts for cooking, green parts for garnish
    • Proteins

    • 16 oz shrimp, cleaned, deveined, and thoroughly dried
    • 16 oz Char Siu, diced small
    • 3 large eggs, beaten
    • Rice

    • ~5 cups day-old jasmine rice (about 40 oz cooked), chilled and separated
    • Fresh Garnishes

    • Chopped cilantro
    • Reserved green onion tops
    • Lime wedges or a light squeeze of fresh lime juice
    • Optional: pinch of chili flakes or splash of fish sauce

    Directions

    Prepare the Sauce

    In a small saucepan, combine water, both soy sauces, oyster sauce, Shaoxing wine, sugar, chicken bouillon, white pepper, and MSG (if using). Bring to a gentle simmer and reduce slightly to concentrate flavor. Add slurry only if a thicker coating is desired. Remove from heat, stir in sesame oil, and set aside.

    Blanch & Dry the Vegetables

    Blanch carrots, celery, and green beans briefly (carrots & celery ~1 min; green beans ~2–3 min). Drain well, spread on paper towels, and pat dry completely before stir-frying.

    Cook Proteins Separately

    Heat wok over high heat. Add 1 tbsp oil and sear shrimp until just pink and cooked through; remove and set aside. Add char siu to the hot wok and fry until lightly caramelized on the edges; remove and set aside.

    Scramble the Eggs

    Add a drizzle of oil, then pour in beaten eggs. Let them set slightly before breaking into bite-sized curds. Remove and set aside.

    Stir-Fry Aromatics & Vegetables

    Wipe the wok clean if needed, then add 1 tbsp oil. Add onion and jalapeños; stir-fry until softened. Add garlic and ginger, cooking just until fragrant. Add bell pepper, carrots, celery, and green beans. Stir-fry until crisp-tender and slightly dry. Add white parts of the scallions and toss briefly.

    Fry the Rice

    Add more oil if needed. Increase heat to high. Add chilled rice, breaking up clumps with a spatula. Spread across the wok and let it rest for 20–30 seconds between stirs to allow slight browning and remove moisture. The rice should fry, not steam.

    Combine & Sauce

    Push rice aside to clear the center. Pour in sauce directly onto the hot metal to reduce briefly before folding into rice until evenly coated. Add shrimp, char siu, and scrambled eggs; toss rapidly to combine. Cook another 1–2 minutes over high heat.

    Finish & Garnish

    Turn off heat. Add a light squeeze of lime juice, toss once more, and taste for seasoning. Garnish with cilantro, scallion greens, and optional chili flakes. Serve hot.

    Notes

    Preparation

    • Well-dried, day-old rice is key. If using freshly cooked rice, spread it on a tray and refrigerate uncovered for at least 2 hours to dry out.
    • Use minimal oil and ensure vegetables are dry before stir-frying to prevent steaming.
    • Only add enough sauce to lightly coat the rice — start with about ¾ of the mix and add more as needed.
    • For better heat control at home, cook in two smaller batches to avoid steaming and maintain wok heat.
  • Beef & Asparagus / Beef & Green Beans

    Beef & Asparagus / Beef & Green Beans

    This family-favorite stir-fry pairs velvet-tender slices of beef with crisp-tender asparagus or green beans in a glossy, savory sauce layered with soy, mushroom soy, oyster sauce, and a hint of Shaoxing. Ginger, garlic, and scallions add restaurant-style aroma, while the velveting technique keeps the beef incredibly juicy—perfect over a bowl of hot white rice.


    Ingredients

      Beef:

    • 3 lbs sirloin, flank, or other tender steak, sliced thin against the grain
    • Velveting Marinade:

    • 2 cups water
    • 1 tsp baking soda
    • ⅔ cup soy sauce
    • 1 egg white
    • ½ tsp white pepper
    • 2 tbsp corn or potato starch
    • 2 tsp neutral oil (such as canola or vegetable oil), to coat the beef
    • Neutral oil, for frying the beef (enough for about 1–2 in / 2.5–5 cm depth in the wok or pan)
    • Sauce:

    • ¼ cup water
    • 3 tbsp sugar
    • ½ tsp chicken powder
    • ⅓ cup soy sauce
    • 1 tbsp mushroom soy sauce
    • 1 tbsp oyster sauce
    • 1 tbsp dark soy sauce
    • 3 tbsp michiu or Shaoxing cooking wine
    • 1–2 tsp cornstarch mixed with an equal amount of water (slurry)
    • ¼–½ tsp MSG (optional)
    • Vegetables & Aromatics:

    • 1–2 tbsp neutral oil, for stir-frying the vegetables
    • 1 medium onion, thinly sliced from root to tip
    • Vegetables (Use Either):

      • 1–1½ lbs asparagus, trimmed and cut into 2 in (5 cm) pieces
      • 1–1½ lbs fresh green beans, trimmed (see Directions for blanching)

      Stir-Fry & Finish:

    • 2–3 tbsp neutral oil, for stir-frying the sauce and aromatics
    • 2 tbsp minced garlic
    • 1–2 tsp minced fresh ginger
    • 2 scallions, white parts thinly sliced, green parts thinly sliced for garnish
    • 1–2 tsp toasted sesame oil, to finish
    • Cooked white rice, for serving

    Directions

    Velvet the Beef:

    In a large bowl, whisk together the water, baking soda, and soy sauce. Add the sliced beef, separating the pieces so they are fully coated in the mixture. Cover and refrigerate for at least 1 hour and up to 24 hours (2 hours is ideal for thinly sliced beef).

    Drain the beef well and pat it dry with paper towels. Return the beef to a clean bowl. Add the egg white, white pepper, and starch, and mix thoroughly with your hands until every piece is evenly coated. Add 2 tsp neutral oil and mix again to distribute. Cover and refrigerate for at least 30 minutes, or up to overnight.

    Heat enough neutral oil in a wok or deep, heavy skillet to a depth of about 1–2 in (2.5–5 cm) to 350ºF (175ºC). Fry the beef in batches for 30–60 seconds, just until the color changes and the pieces are opaque but not browned. Remove with a spider or slotted spoon and drain on a rack or paper towels. Repeat with remaining beef. Set aside.

    Make the Sauce:

    In a small saucepan, combine the ¼ cup water, sugar, and chicken powder. Bring just to a simmer over medium heat, stirring to dissolve the sugar and chicken powder.

    Remove from heat and stir in the soy sauce, mushroom soy sauce, oyster sauce, dark soy sauce, and cooking wine until well combined. If using MSG, stir it in now.

    Just before you are ready to add the sauce to the wok, stir the cornstarch slurry to recombine and whisk 1–2 tsp of it into the sauce. Set the sauce near the stove so it’s ready to use.

    Prepare the Vegetables:

    If using green beans, bring a large pot of salted water to a boil. Add the trimmed beans and blanch for 60–90 seconds, just until bright green and crisp-tender. Immediately transfer to a bowl of ice water to stop the cooking. Drain very well and pat dry before stir-frying.

    If using asparagus, trim and cut into 2 in (5 cm) pieces. Very thick stalks can be blanched for 30 seconds if desired, then shocked in ice water and dried well, but this is optional.

    Heat 1–2 tbsp neutral oil in a wok over high heat. Add the sliced onion and stir-fry until slightly softened and just starting to turn translucent, 1–2 minutes. Transfer the onion to a large bowl. Add the asparagus or blanched green beans to the wok and stir-fry until crisp-tender and lightly charred in spots, 2–3 minutes. Transfer to the bowl with the onion and set aside.

    Stir-Fry and Finish:

    Carefully wipe out the wok if needed. Add 2–3 tbsp neutral oil and heat over medium-high until shimmering. Add the minced garlic and ginger and stir-fry for 10–15 seconds, just until fragrant—do not let them brown. Add the scallion whites and stir-fry for about 10 seconds more.

    Give the sauce a quick stir, then pour it into the wok. Bring to a boil and cook for 30–45 seconds, stirring constantly, until slightly thickened and glossy.

    Add the velveted beef to the wok and toss to coat in the sauce. Stir-fry for about 1 minute, just until the beef is heated through. Return the onion and asparagus or green beans to the wok and toss everything together until hot and evenly coated with sauce, 1–2 minutes more.

    Remove the wok from the heat and drizzle in the toasted sesame oil. Toss once more, then garnish with the scallion greens. Serve immediately over hot white rice.


    Notes

    Preparation:

    • For best texture, slice the beef thinly against the grain; partially freezing the meat for 20–30 minutes makes it easier to slice evenly.
    • The velveting steps (marinating, coating, and frying) can be done several hours ahead; keep the fried beef covered in the refrigerator and bring to room temperature before the final stir-fry.
    • Use a neutral, high-smoke-point oil (such as canola, peanut, or vegetable oil) for both frying the beef and stir-frying.
    • Start with 1 tsp of the cornstarch slurry in the sauce and increase up to 2 tsp if you prefer a thicker, more clingy sauce.
    • Dark soy sauce adds color and a light molasses note; a little goes a long way, so keep to the recommended amount.
    • MSG is optional but gives the dish a distinct “restaurant” savoriness; if you prefer not to use it, simply omit it.

    Serving Suggestions:

    • Serve over steamed white rice, jasmine rice, or medium-grain rice to soak up the sauce.
    • Add a simple cucumber salad or lightly pickled vegetables on the side to balance the richness of the beef.
    • Garnish with additional scallion greens or a sprinkle of toasted sesame seeds for texture and color.
    • For a fuller meal, pair with stir-fried bok choy, Chinese broccoli (gai lan), or a quick egg-drop soup.

    Variations:

    • Spicier Version – Add a pinch of crushed red pepper flakes or 1–2 dried chilies to the oil when stir-frying the garlic and ginger.
    • Mushroom Add-In – Stir-fry sliced shiitake or cremini mushrooms after the onions, then combine them with the vegetables before adding back to the wok.
    • Extra Saucy – Increase the water in the sauce to ⅓–½ cup and adjust the cornstarch slurry to maintain a light, glossy consistency.
    • All-Green Bean or All-Asparagus – Use only one vegetable if preferred; keep the total weight around 1–1½ lbs for the best meat-to-vegetable balance.

    Make-Ahead & Storage:

    • The beef can be velveted and fried up to 1 day in advance; cool, cover, and refrigerate until ready to use.
    • The sauce can be mixed (without the cornstarch slurry) up to 2 days ahead and refrigerated; rewarm gently and whisk in the slurry just before cooking.
    • Leftover stir-fry keeps well in an airtight container in the refrigerator for up to 3 days; reheat gently in a skillet or wok with a splash of water to loosen the sauce.
    • This dish is best fresh, as the vegetables will lose some of their crisp-tender texture upon reheating.