Bags of Spices

Favorite Recipes

Stir-Fried

  • Beef Bahmi Goreng

    Beef Bahmi Goreng

    Beef Bahmi Goreng is a savory, wok-fried noodle dish built around tender velveted beef, springy homemade bahmi noodles, crisp green cabbage, bean sprouts, shallot, garlic, ginger, and a restrained ketjap-soy glaze. This version keeps the sweetness in check so the noodles stay smoky, aromatic, and savory, while fried shallots, green onion, cilantro, and lime bring brightness and crunch at the table.


    Ingredients

    Beef

    • 1½ lb (680 g) flank steak, sirloin flap, flat iron steak, or tender steak, sliced thin against the grain

    Velveting Marinade

    • 1 cup (240 ml) water
    • ½ tsp baking soda
    • 3 tbsp (45 ml) soy sauce
    • 1 egg white
    • ¼ tsp white pepper
    • 1 tbsp (8 g) cornstarch
    • 1 tsp neutral oil

    Noodles

    Sauce

    • 2 tbsp (30 ml) ketjap manis
    • 2 tbsp (30 ml) soy sauce
    • 1 tbsp (15 ml) mushroom soy sauce
    • 1 tbsp (15 ml) oyster sauce
    • 1 tbsp (15 ml) Shaoxing wine or michiu
    • ½ tsp white pepper
    • ¼ tsp MSG, optional

    Vegetables & Aromatics

    • 3–4 tbsp (45–60 ml) neutral oil, divided
    • 4–5 cups (about 280–350 g) shredded green cabbage
    • 1 medium carrot, julienned
    • 2 shallots, thinly sliced
    • 4 green onions, whites thinly sliced and greens reserved for garnish
    • 2 tbsp (about 18 g) minced garlic
    • 1 tsp minced fresh ginger
    • 2 cups (about 200 g) bean sprouts

    Garnishes

    • Fried shallots
    • Reserved green onion greens
    • Fresh cilantro leaves
    • Lime wedges
    • Chopped dry roasted peanuts, optional
    • Sambal oelek or sambal badjak, optional

    Directions

    Velvet the Beef

    In a large bowl, whisk together the water, baking soda, and soy sauce. Add the sliced beef, separate the pieces, and toss until evenly coated. Cover and refrigerate for 30–90 minutes.

    Drain the beef very well and pat dry with paper towels. Return to a clean bowl and add the egg white, white pepper, cornstarch, and neutral oil. Mix thoroughly until the beef is evenly coated. Let rest for 15–30 minutes while preparing the remaining ingredients.

    Prepare the Noodles

    Cook the homemade bahmi noodles until just shy of fully tender. They should still have a firm bite since they will finish cooking in the wok.

    Drain very well, toss lightly with 1 tsp neutral oil, and spread on a tray or wide bowl so excess steam can escape before stir-frying.

    Mix the Sauce

    In a small bowl, stir together the ketjap manis, soy sauce, mushroom soy sauce, oyster sauce, Shaoxing wine, white pepper, and MSG, if using. Set near the stove.

    Cook the Beef

    Heat a wok over high heat until very hot. Add 1–2 tbsp (15–30 ml) neutral oil and cook the beef in batches, spreading it out so it sears instead of steaming.

    Stir-fry just until the beef is lightly browned at the edges and nearly cooked through. Transfer to a plate and set aside.

    Char the Cabbage and Carrot

    Return the wok to high heat. Add 1 tbsp (15 ml) neutral oil, then add the cabbage and carrot. Stir-fry until the cabbage picks up light browning and blistered edges while still retaining some crispness. Transfer to a plate and set aside.

    Stir-Fry the Aromatics

    Add another 1 tbsp (15 ml) neutral oil to the wok if needed. Add the shallots and green onion whites and stir-fry briefly until fragrant and beginning to soften. Add the garlic and ginger and cook for 10–15 seconds more, being careful not to brown the garlic.

    Fry the Noodles

    Add the noodles to the wok and toss over high heat until they begin to pick up light wok color in spots.

    Pour the sauce around the edges of the wok and toss rapidly until the noodles are evenly coated. The noodles should be lightly glazed, not swimming in sauce.

    Finish

    Return the beef, cabbage, and carrot to the wok and toss until everything is hot and evenly combined.

    Add the bean sprouts and toss for 15–30 seconds, just until barely softened but still fresh and crisp. Remove from heat.

    Serve

    Transfer to a serving platter and top with green onion greens, fried shallots, cilantro, and lime wedges. Add chopped dry roasted peanuts and sambal, if desired.

    Yield: 6 servings.


    Notes

    Preparation

    • For the best texture, slice the beef thinly against the grain. Partially freezing the meat for 20–30 minutes makes slicing easier.
    • Cook the cabbage separately over very high heat so it can brown slightly without softening too much.
    • Do not overcook the bean sprouts. They should stay fresh and lightly crisp.
    • This recipe is designed as a relatively dry wok-fried noodle dish. Avoid adding extra liquid unless the noodles are sticking badly.
    • The homemade bahmi noodles should be slightly undercooked before stir-frying so they keep their springy texture in the finished dish.

    Variations

    • Dutch-Chinese-Indonesian Restaurant Style: Increase the ketjap manis to 3–4 tbsp (45–60 ml), add 1–2 tsp sugar or palm sugar, use a slightly heavier hand with dark soy or mushroom soy, cook the vegetables a little softer, and use a touch more oil for a glossier takeaway-style finish.
    • Peanut Garnish: Chopped dry roasted peanuts work well when serving the noodles with saté ayam, pindasaus, or other peanut-based sides. For a cleaner noodle-forward version, omit them.
    • Spicier Version: Add sambal oelek, sambal badjak, or sliced fresh chilies to the side rather than cooking them into the noodles.
    • Chicken or Pork Version: Replace the beef with thinly sliced chicken thigh, chicken breast, pork shoulder, or pork loin and use the same velveting method.

    Serving Suggestions

    • Serve with acar ketimun for a bright, pickled contrast.
    • Pair with saté ayam and pindasaus for a fuller Indonesian-inspired meal.
    • Lime wedges are best served on the side so each person can brighten their own portion.
    • Serve with sambal on the side for heat without changing the base flavor of the noodles.

    Make-Ahead & Storage

    • The beef can be velveted several hours ahead and refrigerated until ready to cook.
    • The sauce can be mixed up to 2 days ahead and refrigerated.
    • The vegetables can be sliced earlier in the day and refrigerated separately.
    • Leftovers keep in an airtight container in the refrigerator for up to 3 days. Reheat gently in a wok or skillet with a small splash of water if needed.
    • This dish is best served fresh, while the noodles still have wok-fried texture and the vegetables retain some crispness.
  • 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

    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 (about 140 g) shredded white cabbage or Chinese cabbage
    • 4 green onions, cut into 1-inch (2.5 cm) 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 (30 ml) ketjap manis (Indonesian sweet soy sauce)
    • 1 tbsp (15 ml) light soy sauce
    • ⅓ tsp MSG (optional but recommended)
    • ¼ tsp ground white pepper
    • ⅛ tsp turmeric
    • 1 tsp fish sauce (optional, for added umami)
    • 1–2 tbsp (15–30 ml) hot water, as needed

    Cooking Oil

    • 3 tbsp (45 ml) 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 (2.5 cm) lengths.

    Cook the Proteins

    Heat 1 tbsp (15 ml) 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 the pork is cooked through and the thickest pieces of chicken register 165°F (74°C), 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 (15–30 ml) 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.

    Yield: 4 servings.


    Notes

    Preparation

    • Chinese egg noodles or lo mein noodles work best for this dish.
    • If ketjap manis is unavailable, substitute 1 tbsp (15 ml) 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.

    Variations

    • Additional Vegetables: Bahmi goreng is highly adaptable—add vegetables like bean sprouts, julienned carrots, green beans, snap peas, or bell peppers depending on what you have on hand. Keep the total amount of added vegetables moderate so the noodles remain the focus. Cook additional vegetables quickly over high heat to avoid excess moisture and steaming.
    • Extra Heat: Increase the chilies or add sambal badjak for a spicier Javanese-style version.
    • Sesame Aroma: A light drizzle (about ½ tsp) sesame oil over the finished noodles adds subtle aroma.

    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.

    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 (2.5 cm) pieces

    Marinade

    • 2 tsp (5 g) cornstarch
    • 2 tsp (10 ml) soy sauce
    • 1 tsp (5 ml) Shaoxing wine
    • 1 tsp (5 ml) vegetable oil
    • pinch white pepper

    Sauce

    • ½ cup (120 ml) chicken broth or water
    • 1 tbsp (15 ml) soy sauce
    • 1 tsp (5 ml) mushroom soy sauce or dark soy sauce
    • 2 tsp (10 ml) ketchup
    • 2 tsp (10 ml) hoisin sauce
    • 2 tsp (10 ml) Shaoxing wine
    • 1 tsp (5 ml) 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 (9 g) garlic, crushed
    • 1 tbsp (6 g) fresh ginger, grated
    • 1 tsp sambal oelek
    • 2 tsp (5 g) cornstarch mixed with 2 tsp (10 ml) cold water

    Final Mix-Ins & Garnishes

    • ½ cup (70 g) cashews (reserve some for serving)
    • scallions and/or cilantro, sliced
    • steamed jasmine rice

    Directions

    Velvet the Chicken

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

    Bring 1½ cups (355 ml) water with 1 tbsp (15 ml) of the measured wok-prep oil to 180–190°F (82–88°C). Add the 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 the 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 a wok over medium-high heat until very hot. Add 2 oz (57 g) of the measured wok-prep oil and swirl to coat. Add the chicken and stir-fry until just cooked through and the thickest pieces register 165°F (74°C).

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

    Sauté the Aromatics

    Add the remaining 1 tbsp (14 g) wok-prep oil, then the garlic, ginger, and sambal oelek. Stir-fry for 15–20 seconds, until fragrant without browning.

    Add the Sauce & Vegetables

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

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

    Thicken and Finish

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

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

    Yield: 4 servings.


    Notes

    Preparation

    • Velveting improves tenderness; keep the water below a boil so the coating stays smooth.
    • Use high, dry heat: preheat the 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.

    Variations

    • Spicier: Increase the sambal oelek to 2 tsp.
    • Extra Nutty: Lightly toast the cashews before adding them.
    • Vegetarian: Substitute tofu for the chicken and use vegetable broth.

    Serving Suggestions

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

    Make-Ahead & Storage

    • Prep the vegetables and stir-fry aromatics ahead for faster cooking.
    • Refrigerate leftovers for 2–3 days.
    • Reheat in a hot wok or skillet to restore the texture; avoid microwaving the 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 lb (1.36 kg) sirloin, flank, or other tender steak, sliced thin against the grain

    Velveting Marinade

    • 2 cups (480 ml) water
    • 1 tsp baking soda
    • ⅔ cup (160 ml) soy sauce
    • 1 egg white
    • ½ tsp white pepper
    • 2 tbsp (about 16 g) cornstarch or potato starch
    • 2 tsp neutral 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 (60 ml) water
    • 3 tbsp (38 g) sugar
    • ½ tsp chicken powder
    • ⅓ cup (80 ml) soy sauce
    • 1 tbsp (15 ml) mushroom soy sauce
    • 1 tbsp (15 ml) oyster sauce
    • 1 tbsp (15 ml) dark soy sauce
    • 3 tbsp (45 ml) michiu or Shaoxing cooking wine
    • 1–2 tsp cornstarch mixed with an equal amount of water, for a slurry
    • ¼–½ tsp MSG (optional)

    Vegetables

    • 1–2 tbsp (15–30 ml) neutral oil, for stir-frying the vegetables
    • 1 medium onion, thinly sliced from root to tip
    • 1–1½ lb (454–680 g) asparagus, trimmed and cut into 2-inch (5-cm) pieces, or 1–1½ lb (454–680 g) fresh green beans, trimmed

    Stir-Fry & Finish

    • 2–3 tbsp (30–45 ml) neutral oil, for stir-frying the sauce and aromatics
    • 2 tbsp (30 ml) minced garlic
    • 1–2 tsp minced fresh ginger
    • 2 scallions, white parts thinly sliced and 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 2 cups (480 ml) water, baking soda, and ⅔ cup (160 ml) soy sauce. Add the sliced beef, separating the pieces so they are fully coated. 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. Return it to a clean bowl, add the egg white, white pepper, and starch, and mix until every piece is evenly coated. Add 2 tsp neutral oil and mix again. 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 inches (2.5–5 cm) to 350°F (177°C). Fry the beef in batches for 30–60 seconds, just until opaque but not browned. Remove with a spider or slotted spoon and drain. Repeat with the remaining beef.

    Make the Sauce

    In a small saucepan, combine the ¼ cup (60 ml) 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 ⅓ cup (80 ml) soy sauce, mushroom soy sauce, oyster sauce, dark soy sauce, and cooking wine. Stir in the MSG, if using. Just before adding the sauce to the wok, stir the cornstarch slurry to recombine and whisk 1–2 tsp of it into the sauce.

    Prepare the Vegetables

    If using green beans, bring a large pot of salted water to a boil. Add the beans and blanch for 60–90 seconds, until bright green and crisp-tender. Transfer immediately to ice water, then drain and pat dry. If using asparagus, trim and cut it into 2-inch (5-cm) pieces; very thick stalks may be blanched for 30 seconds, shocked in ice water, and dried. Heat 1–2 tbsp (15–30 ml) neutral oil in a wok over high heat. Stir-fry the onion until slightly softened, 1–2 minutes, then transfer it to a large bowl. Stir-fry the asparagus or blanched green beans until crisp-tender and lightly charred in spots, 2–3 minutes, then transfer to the bowl with the onion.

    Stir-Fry and Finish

    Carefully wipe out the wok if needed. Add 2–3 tbsp (30–45 ml) neutral oil and heat over medium-high until shimmering. Add the 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. Stir the sauce, pour it into the wok, and boil for 30–45 seconds, stirring constantly, until slightly thickened and glossy. Add the velveted beef and toss to coat; stir-fry for about 1 minute, just until heated through. Return the onion and asparagus or green beans and toss until hot and evenly coated, 1–2 minutes. Remove from the heat, drizzle in the sesame oil, toss, and garnish with the scallion greens. Serve immediately over hot white rice.

    Yield: 6–8 servings.


    Notes

    Preparation

    • For the best texture, slice the beef thinly against the grain; partially freezing it for 20–30 minutes makes even slicing easier.
    • The velveting steps can be done several hours ahead; keep the fried beef covered in the refrigerator.
    • Use a neutral, high-smoke-point oil such as canola, peanut, or vegetable oil.
    • Start with 1 tsp cornstarch slurry and increase to 2 tsp for a thicker sauce.
    • MSG is optional and may be omitted.

    Variations

    • Spicier Version: Add a pinch of crushed red pepper flakes or 1–2 dried chiles to the oil with the garlic and ginger.
    • Mushroom Add-In: Stir-fry sliced shiitake or cremini mushrooms after the onions, then combine them with the vegetables.
    • Extra Saucy: Increase the sauce water to ⅓–½ cup (80–120 ml) and adjust the cornstarch slurry to maintain a light, glossy consistency.
    • Single Vegetable: Use only asparagus or only green beans, keeping the total at 1–1½ lb (454–680 g).

    Serving Suggestions

    • Serve over steamed white, jasmine, or medium-grain rice.
    • Add cucumber salad or lightly pickled vegetables on the side.
    • Garnish with additional scallion greens or toasted sesame seeds.
    • For a fuller meal, pair with stir-fried bok choy, Chinese broccoli, or egg-drop soup.

    Make-Ahead & Storage

    • The beef can be velveted and fried up to 1 day in advance; cool, cover, and refrigerate.
    • The sauce can be mixed without the slurry up to 2 days ahead and refrigerated; rewarm gently and whisk in the slurry just before cooking.
    • Refrigerate leftovers in an airtight container for up to 3 days and reheat gently with a splash of water.