Bags of Spices

Favorite Recipes

Indonesian

Satay, sambals, rice dishes, Dutch-Indo influences, and the layered flavors of Java and Sumatra.

  • Saté Ajam — Indonesian Chicken Satay

    Saté Ajam — Indonesian Chicken Satay

    When I was living in the Netherlands, I had the good fortune of learning a few Indonesian dishes from a kind little Indonesian grandmother in the beautiful city of Delft. Zuster Volder was from Java, and in her small kitchen she showed me how simple ingredients—ketjap manis, shallots, garlic, and warm spices—could transform humble skewers of meat into something unforgettable. This saté ajam, the Indonesian dish most people know as chicken satay or sate ayam, draws inspiration from those lessons: chicken marinated in sweet soy, coconut milk, and fragrant spices, then grilled over hot coals until caramelized and served with rich Dutch-Indonesian peanut sauce (Pindasaus).


    Ingredients

    Chicken

    • 2 lb boneless skinless chicken thighs
    • Bamboo skewers, soaked in water for at least 30 minutes

    Marinade

    • ¼ cup ketjap manis
    • 1 tbsp vegetable oil
    • 1½ tbsp shallot, finely grated
    • ½ tsp fresh ginger, finely grated
    • ½ tsp fresh galangal, finely grated
    • 1 tbsp brown sugar
    • ¼ tsp ground coriander
    • ¼ tsp ground turmeric
    • ¼ tsp ground cumin
    • 1 clove garlic, minced, or ¼ tsp garlic powder
    • 1 tsp lime juice
    • 2 tbsp coconut milk
    • ⅛ tsp white pepper
    • ¼ tsp baking soda

    Pre-Grill Seasoning

    • 1 tsp ketjap manis
    • 1 tsp vegetable oil
    • Pinch of table salt

    Coconut Milk Baste

    • 2 tbsp coconut milk
    • Pinch of table salt

    For Serving

    • Warm Dutch-Indonesian peanut sauce (Pindasaus)
    • Lime wedges
    • Cucumber slices or Acar Ketimun
    • Fried shallots (optional)
    • Steamed rice or lontong

    Directions

    Prepare the Chicken

    Trim any large excess pieces of fat from the chicken thighs. Cut the meat into long strips about ½–¾ inch thick rather than cubes. This traditional shape lets the chicken fold onto the skewers and gives you more caramelized surface area over the coals.

    Thread the chicken onto the soaked skewers, weaving and folding the strips back and forth so the meat lies fairly flat.

    Make the Marinade

    In a medium bowl, combine the ketjap manis, vegetable oil, grated shallot, ginger, galangal, brown sugar, coriander, turmeric, cumin, garlic, lime juice, coconut milk, white pepper, and baking soda. Stir until the sugar is dissolved and the marinade is well blended.

    Marinate the Chicken

    Add the chicken to the marinade and toss well to coat evenly. Cover and refrigerate for 4–5 hours, or up to 8 hours. This timing gives the flavors time to penetrate while the small amount of baking soda helps the chicken stay especially tender over high charcoal heat.

    Prepare the Grill

    Light a charcoal grill and let the coals burn down until they are very hot and covered with a light layer of ash. You want strong direct heat for fast caramelization, but not roaring flames.

    In a small bowl, stir together the coconut milk and a pinch of salt for the baste. In a second small bowl, combine the ketjap manis, oil, and pinch of salt for the pre-grill seasoning.

    Season and Grill the Satay

    Remove the skewers from the refrigerator. Lightly brush or toss the skewered chicken with the pre-grill seasoning. Leave a light coating of marinade on the meat rather than wiping it clean; that helps create the classic lacquered satay crust.

    Place the skewers over direct heat and grill for about 2–3 minutes per side, turning frequently so the sugars caramelize without scorching. During the last minute or two of cooking, brush lightly with the coconut milk baste.

    Cook until the chicken is lightly charred in spots and reaches 165°F.

    Serve

    Arrange the saté ajam on a platter and serve immediately with warm Pindasaus, lime wedges, cucumber or Acar Ketimun, and steamed rice or lontong. A squeeze of lime over the top just before eating brightens the sweet ketjap glaze and balances the peanut sauce beautifully.


    Notes

    Preparation

    • Chicken thighs are preferred here because they stay juicy and tender over high direct heat and hold up better than breast meat in a sweet ketjap marinade.
    • Cutting the chicken into long folded strips instead of cubes gives more surface area for browning and produces a more traditional satay texture.
    • The small amount of baking soda helps the chicken retain moisture and stay tender during quick charcoal grilling. Do not increase the amount, or the flavor can become slightly alkaline.
    • Fresh galangal adds a more traditionally Indonesian, Javanese-leaning aroma to the marinade. If galangal is not available, using 1 tsp finely grated ginger in place of the ginger and galangal combination is still very good.
    • If using larger bamboo skewers, you can double-skewer the chicken to make turning easier over the grill.

    Serving Suggestions

    • Serve with your family’s Pindasaus, lime wedges, and a crisp cucumber pickle such as Acar Ketimun.
    • This pairs especially well with steamed rice, lontong, or as part of a larger rijsttafel-style meal.
    • Fried shallots scattered over the platter add a wonderful savory finish.

    Variations

    • For a more classic yellow Javanese profile, increase the turmeric slightly to ⅜ tsp.
    • If you prefer a cleaner, more straightforward satay flavor, omit the cumin; with it included, the marinade leans a bit more Javanese.
    • Chicken breast can be used, but watch the cook closely and pull as soon as it reaches 150°F, then hold at that temperature for 2.8 minutes for pasteurization, or cook to 165°F for a more conventional approach.

    Make-Ahead & Storage

    • The chicken can be marinated earlier in the day and held refrigerated for up to 8 hours before grilling.
    • Leftover cooked satay can be refrigerated in an airtight container for up to 3 days.
    • Reheat gently in a covered skillet, low oven, or microwave until just warmed through. Serve with freshly warmed Dutch-Indonesian peanut sauce (Pindasaus) for the best texture.
  • 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.
  • Acar Ketimun — Indonesian Pickled Cucumber

    Acar Ketimun — Indonesian Pickled Cucumber

    Bright, crisp, and refreshingly tangy, acar ketimun is a classic Indonesian quick pickle made with cucumbers, carrots, shallots, and chilies in a lightly sweet-sour vinegar brine. A pinch of turmeric gives the vegetables their traditional golden hue, while the quick pickle balances rich dishes like satay, nasi goreng, and bahmi goreng with fresh acidity and crunch.


    Ingredients

    • 2 medium cucumbers, halved lengthwise, seeded, and sliced into thin half-moons
    • 1 small carrot, julienned (optional but traditional)
    • 1 small shallot, thinly sliced
    • 1–2 small red chilies, thinly sliced (optional)
    • ½ cup rice vinegar (or white vinegar)
    • 3 tbsp sugar
    • ½ tsp table salt
    • ¼ cup water
    • ¼ tsp ground turmeric

    Directions

    Prepare the Pickling Brine

    In a small saucepan, combine the vinegar, sugar, salt, water, and turmeric.

    Warm gently over low heat just until the sugar dissolves. Do not boil. Remove from heat and allow the mixture to cool to room temperature.

    Prepare the Vegetables

    Place the sliced cucumber, carrot, shallot, and chilies in a bowl.

    Pickle

    Pour the cooled pickling liquid over the vegetables and toss to combine.

    Cover and refrigerate for at least 30 minutes before serving. The flavor improves after 2–3 hours.


    Notes

    Preparation

    • Seeding the cucumbers helps keep the pickle crisp and prevents excess water from diluting the brine.
    • Thin slicing allows the vegetables to absorb the brine quickly, giving good flavor even with short chilling times.
    • Turmeric adds the traditional golden color seen in many Indonesian acar served with rijsttafel.

    Serving Suggestions

    • Serve alongside Bahmi Goreng, nasi goreng, or Indonesian satay.
    • The bright acidity cuts through rich, savory dishes flavored with ketjap manis.
    • Also excellent with grilled chicken, pork skewers, or fried rice dishes.

    Variations

    • Bahmi Goreng Version: For a sharper pickle that pairs especially well with fried noodles, reduce the sugar to 2 tbsp and increase the vinegar to ⅔ cup.
    • No-Chili Version: Omit the chilies for a completely mild pickle.
    • Extra Crunch: Add thinly sliced cabbage or lightly blanched green beans.

    Make-Ahead & Storage

    • Best flavor develops after 2–3 hours of chilling.
    • Keeps well refrigerated for up to 3 days.
    • The vegetables will soften slightly over time but remain flavorful.
  • Pindasaus — Dutch-Indonesian Peanut Sauce

    Pindasaus — Dutch-Indonesian Peanut Sauce

    I learned to love peanut sauce (pindasaus) while living in the Netherlands. An Indonesian meal just isn’t right without it. This delicious sauce is a favorite of every member of our family. We use it most often to smother skewers of chicken (Saté Ajam) or beef (Saté Sapi), over vegetables for gado gado, or with mayonnaise and diced onions to top Frites for patatje oorlog. There are two kinds of people in the world: those who love peanut sauce, and those who haven’t eaten it often enough to crave it… yet.


    Ingredients

    Sauce

    • 2 tbsp peanut or vegetable oil
    • 2 cloves garlic, minced
    • ½ tsp hot red curry powder
    • ½ tsp ground coriander
    • 1 cup smooth peanut butter
    • ¼ cup ketjap manis
    • 2 tbsp lime juice
    • 2 tbsp brown sugar
    • 1–2 tsp sambal oelek, to taste
    • 2 tsp tamarind paste (store-bought; or use our homemade Tamarind Paste from Whole Pods)
    • 1 can (14.5 oz/400 ml) coconut milk
    • ¼ tsp aji-no-moto, or to taste
    • Warm water, as needed to thin

    Optional

    • 1 tsp dark soy sauce, for a deeper Dutch-Indonesian satay-house flavor

    Directions

    Bloom the Aromatics

    Heat the oil in a saucepan over medium-low heat. Add the garlic and cook just until fragrant, stirring constantly so it does not brown.

    Add the curry powder and ground coriander and cook for about 30 seconds, stirring, until aromatic.

    Build the Sauce

    Stir in the peanut butter, ketjap manis, lime juice, brown sugar, sambal oelek, and tamarind paste. Mix until smooth and evenly combined.

    Add the Coconut Milk

    Gradually whisk in the coconut milk until the sauce is creamy and smooth. If using the optional dark soy sauce, stir it in now.

    Reduce the heat to low and warm gently for 2–3 minutes, stirring often. Do not let the sauce boil hard.

    Finish and Adjust

    Stir in the aji-no-moto. Thin with warm water as needed until the sauce reaches your preferred consistency.

    Taste and adjust with additional tamarind for tang, sambal for heat, brown sugar for sweetness, or a little more MSG for deeper savory flavor. Keep warm for serving, or cool and refrigerate for later use.

    Serve

    Serve warm over satay, spoon over blanched vegetables for gado gado, or drizzle over Frites with mayonnaise and diced onions for patatje oorlog.


    Notes

    Preparation

    • Blooming the curry powder and coriander briefly in the oil deepens their flavor and helps them blend more fully into the sauce.
    • Tamarind gives the sauce a brighter, more balanced finish and keeps it from tasting too sweet or heavy.
    • MSG is optional, but even a small amount gives the sauce a fuller, more savory satay-stall character.
    • Use warm water for thinning so the sauce stays smooth and emulsified.

    Serving Suggestions

    • This sauce is especially good with Saté Ajam.
    • It also pairs beautifully with saté babi, grilled Saté Sapi, gado gado, or spooned over Frites with mayonnaise and diced onions for patatje oorlog.
    • For a satay platter, serve with lime wedges, Acar Ketimun, fried shallots, and steamed rice or lontong.

    Variations

    • Add the optional dark soy sauce for a slightly deeper, more savory Dutch-Indonesian satay-house flavor.
    • For a milder sauce, start with 1 tsp sambal oelek and increase to taste.
    • For a tangier sauce, add an extra 1–2 tsp tamarind paste or a little more lime juice.
    • For a looser sauce for gado gado or fries, thin with a bit more warm water until spoonable and pourable.

    Make-Ahead & Storage

    • The sauce can be made up to 3 days ahead and refrigerated in an airtight container.
    • It will thicken considerably when chilled. Rewarm gently over low heat and thin with warm water as needed before serving.
    • Leftovers are excellent repurposed as a dip for grilled chicken, a sauce for noodles, or a dressing for blanched vegetables.
  • Spring Roll Peanut Dipping Sauce

    Spring Roll Peanut Dipping Sauce

    This spring roll peanut dipping sauce is unapologetically peanut-forward — creamy, savory, and deeply satisfying, with the Dutch-Indonesian flavor logic I fell in love with in The Netherlands. Ketjap manis and hoisin bring a mellow sweetness and depth, coconut milk keeps it silky, and a small spoonful of tamarind adds the subtle tang that makes the peanuts pop instead of tasting heavy. It’s the kind of sauce you’ll want to keep in the fridge so fresh spring rolls (and plenty of other things) always have a rich, nutty sidekick.


    Ingredients

    • ½ cup creamy peanut butter
    • ½ tsp (about 1 clove) garlic, minced
    • 1 tbsp lime juice
    • 2 tbsp ketjap manis
    • 2 tbsp hoisin sauce
    • 1 tsp tamarind paste
    • 1 can (14 oz) coconut milk
    • 1 tsp ginger, minced
    • ½ tsp red curry powder
    • ½ tsp sambal oelek
    • 1½ tsp fish sauce
    • 2 tbsp peanuts, crushed (for topping)

    Directions

    Make the Sauce:

    In a saucepan over medium heat, combine peanut butter and minced garlic. Stir continuously for 1–2 minutes, until the mixture is smooth and fragrant.

    Add lime juice, ketjap manis, hoisin sauce, and tamarind paste, stirring to combine.

    Gradually whisk in coconut milk, followed by ginger, red curry powder, sambal oelek, and fish sauce.

    Continue to cook, stirring occasionally, until the sauce is heated through and just begins to simmer. Remove from heat and transfer to a serving bowl. Sprinkle with crushed peanuts just before serving.


    Notes

    Preparation

    • Consistency: This sauce thickens as it cools. If it gets too thick, whisk in warm water 1 tbsp at a time until dip-able.
    • Balance check: Tamarind and lime should read as a gentle tang in the background — not sour. If it tastes too sharp, add 1–2 tbsp coconut milk to soften it.
    • Heat level: As written it’s moderately spicy. For a milder family-friendly version, cut sambal oelek to ¼ tsp (or to taste).

    Serving Suggestions

    • Fresh spring rolls (gỏi cuốn) and summer rolls.
    • As a satay-style dip for grilled chicken, shrimp, or tofu.
    • Drizzled over rice bowls, noodle bowls, or steamed vegetables.

    Variations

    • Extra spicy: Increase sambal oelek to 1 tsp, or add ¼ tsp cayenne.
    • More peanut texture: Stir in an additional 1–2 tbsp crushed peanuts off heat, then top as usual.
    • More savory: Add an extra ½ tsp fish sauce and a squeeze of lime to keep it balanced.

    Make-Ahead & Storage

    • Make ahead: Best made in advance — the flavors settle and improve after a few hours (or overnight) in the fridge.
    • Refrigerate: Cool completely, then store in a sealed container for up to 5 days.
    • Reheat: Warm gently over low heat (or microwave in short bursts), whisking often. Add a splash of water as needed; avoid boiling.
  • Rendang

    Rendang

    Often mistaken for curry, this traditional Sumatran dish is celebrated throughout Indonesia for its incredible depth of flavor. Slowly simmered in coconut milk and fragrant spices, it’s served on very special occasions. In a 2011 CNN poll, rendang was voted the world’s most delicious dish.


    Ingredients

    • 1 whole chicken, cut into small to medium-size pieces (or 2 lb boneless chicken thighs or breast chunks)

    Beef or Pork Variation

    • 2 lb beef chuck or pork shoulder, cut into 1½-inch cubes
    • (Increase coconut milk to 1½ cans and simmer longer—about 90 minutes or until dark and caramelized.)

    Sauce

    • 1 can (13.5 oz) good-quality full-fat coconut milk
    • ½ cup water or unsalted chicken stock
    • 2 tbsp fresh lemongrass, finely chopped (tender inner portion only)
    • 1 onion, peeled and quartered
    • 4 cloves garlic
    • 1 thumb-size piece galangal (or ginger)
    • 1–2 red chillies or 1 tbsp sambal oelek
    • ¾ tbsp tamarind paste
    • 1 tbsp brown sugar
    • 2 tsp dark soy sauce
    • 2 tbsp fish sauce (use 3 tbsp for beef or pork)
    • ½ tsp turmeric
    • 1 heaping tbsp ground coriander
    • 1 tbsp ground cumin
    • 1 small cinnamon stick (or 1½ tsp ground cinnamon)
    • ¼ tsp ground nutmeg
    • ¼ tsp ground cloves
    • 2 whole star anise
    • 2–3 kaffir lime leaves (optional but recommended)

    Garnish (Optional)

    • Fresh cilantro leaves
    • Dry shredded coconut or toasted coconut (kerisik)

    Directions

    Make the Spice Paste

    Place all sauce ingredients except the star anise and kaffir lime leaves in a food processor (or crush with a mortar and pestle) and blend into a thick, smooth paste.

    Taste the blended paste before cooking. It should be slightly under-seasoned—saltiness will intensify as the sauce reduces. Add a touch of sugar if too sour, or more chili if you prefer extra heat. If using sambal oelek, reduce fish sauce slightly and adjust at the end.

    Bloom the Paste

    Transfer the paste to a wok or large, deep-sided pan and cook over medium heat for 3–5 minutes, stirring constantly, until fragrant and slightly darker in color.

    Simmer and Reduce

    Add the chicken (or beef/pork), the star anise, and kaffir lime leaves. Stir to coat the meat evenly.

    Bring to a gentle boil over medium-high heat, then reduce to a low simmer. Do not cover—the sauce should reduce gradually. Stir occasionally to prevent sticking.

    For chicken: simmer 45–60 minutes until the sauce thickens and the meat is tender. For beef or pork: simmer about 90 minutes, stirring occasionally, until the sauce darkens and the oil separates (you’ll see pools of oil bubbling at the surface), and the meat is deeply caramelized.

    Finish and Serve

    If the sauce reduces too quickly or becomes overly thick, add a splash of water or coconut milk as needed. Adjust salt near the end of cooking if necessary.

    Serve hot, garnished with shredded or toasted coconut and fresh cilantro. Pairs beautifully with jasmine or glutinous rice.


    Notes

    Preparation

    • Using full-fat coconut milk helps prevent curdling and creates the signature silky texture.
    • The added water or stock allows longer reduction time without oversalting.
    • If using sambal oelek instead of fresh chilies, reduce fish sauce slightly and adjust at the end.
    • For a drier, traditional beef rendang, continue simmering until nearly all liquid has evaporated and the sauce clings darkly to the meat.
    • For extra depth, optionally stir in 1–2 tbsp toasted coconut (kerisik) near the end of cooking.
    • Taste and adjust seasoning only at the end—salt intensifies as the sauce reduces.

    Serving Suggestions

    • Serve with jasmine rice or glutinous rice to soak up the rich sauce.
    • Finish with fresh cilantro and a sprinkle of shredded or toasted coconut (kerisik), if desired.

    Variations

    • Beef or Pork: Use 2 lb beef chuck or pork shoulder (1½-inch cubes). Increase coconut milk to 1½ cans and simmer about 90 minutes or until dark and caramelized.

    Make-Ahead & Storage

    • Rendang improves in flavor overnight; refrigerate up to 3 days.
    • Reheat gently with a splash of water or coconut milk to loosen the sauce.
    • Freeze up to 2 months; thaw in the refrigerator before reheating.
  • Garlic-Sesame Green Beans

    Garlic-Sesame Green Beans

    These Simple Garlic–Sesame Green Beans are designed to be a quiet, versatile side—clean, fresh, and adaptable to a wide range of Southeast Asian and Indonesian-inspired dishes. Blanched until just tender-crisp, then lightly warmed with garlic and finished with a restrained touch of sesame oil, they provide contrast and balance without competing with bold mains like babi panggang, caramelized meats, or richly sauced stir-fries.


    Ingredients

    • 1 lb green beans, trimmed
    • 1 tsp kosher salt (for blanching water)
    • 1 tsp neutral oil
    • 1 small clove garlic, finely minced (optional)
    • ¼–½ tsp toasted sesame oil (to taste)
    • Pinch of table salt, to finish

    Directions

    Blanch the Green Beans

    Bring a large pot of water to a boil and season generously with kosher salt. Add the green beans and cook until just tender-crisp, about 2–3 minutes.

    Drain immediately and spread on a tray or plate to cool slightly. (Ice shocking is optional but not necessary if the beans will be used right away.)

    Warm and Season

    Heat a wide skillet over medium heat and add the neutral oil. If using garlic, add it and cook briefly just until fragrant—do not brown.

    Add the blanched green beans and toss to warm through, about 1–2 minutes. Remove from heat and drizzle lightly with sesame oil. Toss once more and season with a small pinch of table salt if needed.

    Serve

    Serve warm or at room temperature as a simple vegetable side.


    Notes

    Preparation

    • Keep the sesame oil restrained—it should add aroma, not dominate the dish.
    • Garlic is optional and can be omitted for an even cleaner, more neutral side.

    Serving Suggestions

    • Pairs well with Indonesian and Southeast Asian dishes such as babi panggang, ginger caramel chicken, grilled meats, and rice-based meals.
    • Works especially well alongside rich or sweet-salty mains, helping to refresh the palate.

    Variations

    • No sesame: Omit the sesame oil entirely for a fully neutral vegetable side.
    • Indonesian-leaning: Finish with a few drops of neutral oil infused with garlic or shallot instead of sesame oil.

    Make-Ahead & Storage

    • Blanch the green beans up to 24 hours ahead and refrigerate; finish just before serving.
    • Leftovers keep well for up to 3 days and can be enjoyed cold or gently reheated.
  • Saté Sapi — Beef Satay

    Saté Sapi — Beef Satay

    Saté Sapi Dengan Saus Kacang – Dutch-Indonesian Beef Satay with Peanut Sauce: The most memorable part of my first Christmas in the Netherlands was the evening we spent with a generous Indonesian family in Dordrecht. They invited us to share a rijsttafel—my very first taste of a true Indonesian feast. When we arrived, the table was covered with what seemed like dozens of colorful dishes, their fragrant aromas filling the home. Among them, one dish stood out: saté sapi (beef satay). Served with acar ketimun (sweet-and-sour cucumbers) and richly spiced peanut sauce, the skewers of marinated beef were grilled over charcoal and lightly glazed with ketjap manis. Just thinking about it brings back vivid memories of the smoky aroma and layered flavors. This recipe is my way of returning to that Christmas dinner, and to the warmth of friends who welcomed me—a newcomer in what then felt like a strange land—as one of their own.


    Ingredients

    • 2–4 lbs beef (sirloin, tri-tip, flank, or ribeye), sliced into strips about ¼-inch thick and 2–3 inches long
    • Velveting:

    • 2 cups water
    • 1 tsp baking soda
    • ¼ cup soy sauce
    • Marinade:

    • ¼ cup ketjap manis
    • 1 tbsp vegetable oil
    • 1 tbsp shallot, finely grated (or onion)
    • 1 tsp fresh ginger, grated
    • 1 tbsp brown sugar
    • ¼ tsp ground coriander
    • 1 clove garlic, minced (or ¼ tsp garlic powder)
    • 2 tsp lime juice
    • 2 tbsp coconut milk
    • ⅛ tsp white pepper
    • Peanut Sauce:

    • 1 cup smooth peanut butter
    • 2 cloves garlic, minced
    • 2 tbsp oil (peanut or vegetable)
    • ¼ cup ketjap manis
    • 2 tbsp lime juice
    • 2 tbsp brown sugar
    • ½ tsp hot red curry powder
    • 1–2 tsp sambal oelek (to taste)
    • 1 can (14 oz) coconut milk
    • ½ tsp ground coriander (optional, ties to marinade)
    • ¼ tsp aji-no-moto (optional)
    • 2 tsp tamarind paste (optional, for tang)
    • warm water, as needed to thin
    • For Serving:

    • wooden skewers, soaked at least 1 hour
    • acar ketimun (quick cucumber pickle) or fresh cucumber salad
    • steamed rice (or lontong / rice cakes)

    Directions

    Velvet the Beef

    Slice beef into thin strips. Combine water, baking soda, and soy sauce, then add beef and soak 1–2 hours in the refrigerator. Drain, rinse briefly under cold water, and pat dry.

    Marinate the Beef

    Whisk together all marinade ingredients. Add velveted beef, toss to coat thoroughly, cover, and marinate 3–12 hours in the refrigerator.

    Prepare the Peanut Sauce

    Heat oil in a saucepan over medium-low heat. Add garlic and sauté until fragrant but not browned.

    Stir in peanut butter, ketjap manis, lime juice, brown sugar, curry powder, sambal, and coriander. Mix until smooth.

    Gradually whisk in coconut milk until creamy. Reduce heat to low and warm gently for 2–3 minutes.

    Thin with warm water if needed. Adjust to taste with tamarind, sambal, or sugar. Keep warm or rewarm gently before serving.

    Grill the Satay

    Thread marinated beef strips onto soaked skewers. Grill over hot charcoal 2–3 minutes per side, or until lightly charred at the edges.

    In the final minute, baste lightly with a mixture of ketjap manis and oil for caramelization.

    Serve

    Arrange skewers on a platter. Serve with warm peanut sauce, cucumber pickle, and steamed rice or lontong.


    Notes

    Preparation

    • Velveting ensures tenderness while avoiding any baking-soda aftertaste when rinsed properly.
    • Use thin, even beef strips for consistent grilling and ideal caramelization.
    • A touch of tamarind in the sauce adds depth and a gentle sour note that complements ketjap manis.

    Serving Suggestions

    • Serve with acar ketimun for freshness and contrast.
    • Pair with steamed jasmine rice, lontong, or coconut rice.
    • Excellent with grilled vegetables or nasi goreng.

    Variations

    • Spicy Version: increase sambal in both marinade and sauce.
    • Sweeter Dutch Style: add an extra tablespoon ketjap manis during grilling.
    • Smokier Grill: add a small piece of lump charcoal beside the coals to intensify aroma.

    Make-Ahead & Storage

    • Marinated beef keeps up to 24 hours refrigerated.
    • Peanut sauce can be made 2–3 days ahead; rewarm gently to loosen.
    • Leftover skewers keep 2–3 days refrigerated and reheat well over medium heat.
  • 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.