Bags of Spices

Favorite Recipes

Stir-Fried

  • 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.
  • 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.