Bags of Spices

Favorite Recipes

Sweet-Savory

  • 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.
  • Babi Panggang — Indonesian Roasted Pork

    Babi Panggang — Indonesian Roasted Pork

    Working in the office in the city of Bussum in The Netherlands, we’d often order take-out from our favorite Chinese-Indonesian restaurant, Tong Fong, in the neighboring city of Hilversum. One stand-out item was their delicious Babi Panggang, which was always a part of our order. I later learned that Babi Panggang is the most ordered main dish at Indonesian restaurants throughout the Netherlands. This is my attempt to recreate the vibrant flavors and textures of this delicious dish.


    Ingredients

    • 2 lb pork shoulder or belly
    • Marinade

    • ¼ cup ketjap manis
    • 2 tbsp hoisin sauce
    • 2 tbsp rice cooking wine
    • 1 tbsp brown sugar
    • 1 tbsp fresh ginger, grated
    • 1 tbsp fish sauce
    • ½ tbsp sambal oelek
    • ½ tbsp sambal badjak
    • ½ tsp toasted sesame oil (optional)
    • ¼ tsp Chinese five spice (optional)
    • 2 cloves garlic, minced
    • Juice and zest of 1 lime
    • Sweet & Sour Red Sauce

    • 1 tbsp vegetable oil
    • 1 small onion, finely chopped
    • 2–3 cloves garlic, minced
    • 2 tsp grated ginger
    • ½ tsp sambal oelek
    • 3 tbsp tomato paste
    • ¼ tsp chicken powder
    • ¼ cup sweet chili sauce
    • 3 tbsp ketchup
    • 2 tbsp lime juice
    • 2 tbsp seasoned rice vinegar
    • 1 tbsp Tamarind Paste
    • 1 tbsp ketjap manis
    • 1 tsp fish sauce
    • ¾ cup chicken stock or water
    • ¼ cup brown sugar (adjust to taste)
    • 1 tbsp cornstarch mixed with 1 tbsp water

    Directions

    Marinate the Pork

    Combine all marinade ingredients, stirring until the sugar has completely dissolved. Pour into a resealable container or vacuum-seal bag. Add the pork, coating thoroughly. Seal and marinate in the refrigerator for 4–12 hours.

    Sweet & Sour Red Sauce

    Heat oil in a saucepan over medium heat. Sauté onion until lightly browned; add garlic, ginger, and sambal, and cook until fragrant. Add tomato paste and chicken powder; cook 1 minute to develop sweetness.

    Stir in sweet chili sauce, ketchup, lime juice, vinegar, tamarind, ketjap manis, fish sauce, stock or water, and brown sugar. Simmer 10 minutes to allow flavors to meld. Add the cornstarch slurry and simmer until glossy and thickened. Blend with an immersion blender and adjust thickness with additional stock, if needed.

    Preparation #1: Sous Vide

    Preheat sous vide bath to 170°F / 77°C for pork shoulder (130°F / 55°C for pork loin or tenderloin; 150°F / 65°C for pork belly). Submerge vacuum-sealed pork and marinade in the water bath and heat for 12–24 hours (2–8 hours for pork loin or tenderloin).

    Remove from the bag and pat dry. Brush with oil and finish under a broiler set to high for 4–5 minutes to crisp the top. Brush with red sauce during broiling and allow it to develop a few bits of char.

    Slice and serve over rice with a generous amount of sauce. Serve with acar ketimun (pickled vegetables), cucumber salad, fried cabbage, and/or blanched green beans tossed with garlic and sesame oil.

    Preparation #2: Oven

    Preheat oven to 350°F / 177°C. Place pork on a rack in a baking tray. Reserve marinade and boil in a saucepan for 5 minutes. Roast pork for 30–40 minutes per pound, or until internal temperature reaches 190°F / 88°C, basting with the boiled marinade halfway through.

    Rest pork for 20 minutes. Pat dry, brush with oil, and finish under a broiler set to high for 4–5 minutes to crisp the top. Optionally, baste with the red sauce while broiling and allow it to develop slight char.

    Slice and serve over rice with a generous amount of sauce. Serve with acar ketimun, cucumber salad, fried cabbage, and/or blanched green beans tossed with garlic and sesame oil.

    Preparation #3: Pellet Grill

    Preheat pellet grill to 250°F / 120°C. Smoke until internal temperature reaches 187°F / 86°C, basting halfway through. Rest pork for 30 minutes.

    Pat dry, brush with oil, and finish under a broiler set to high for 4–5 minutes to crisp the top. Optionally, baste with the red sauce while broiling and allow it to develop light char.

    Slice and serve over rice with a generous amount of sauce. Serve with acar ketimun, cucumber salad, fried cabbage, and/or blanched green beans tossed with garlic and sesame oil.


    Notes

    Preparation

    • Fattier cuts such as pork shoulder or belly are preferred, but pork loin or tenderloin (especially when using the sous vide method, with times and temperatures adjusted accordingly) can also be used. Take care not to overcook leaner cuts.
    • Preparation #1, Sous Vide, is the preferred method for the most tender and flavorful result.

    Serving Suggestions

    • Serve sliced Babi Panggang over rice with plenty of red sauce spooned on top.
    • Pair with acar ketimun, fried cabbage, cucumber salad, or blanched green beans with garlic and sesame oil.