Bags of Spices

Favorite Recipes

Favorite

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

    Chicken Gyro

    On a family trip to Corfu, we stopped at a small waterside restaurant and ordered one of the best gyros we had ever tasted. The chicken was deeply seasoned, moist, and tender, with bright lemon, garlic, and oregano and none of the heavy, meatloaf-like texture so common in the United States. This version is our home tribute to that meal—grilled whole for juiciness, sliced and crisped in a hot skillet for authentic gyro-style edges, then wrapped in warm pita with fresh salad and cool tzatziki.


    Ingredients

    Chicken

    • 4 lb boneless, skinless chicken thighs

    Marinade

    • 2 tbsp garlic, minced
    • ⅓ cup lemon juice
    • ⅓ cup plain Greek yogurt
    • 2 tbsp white wine vinegar
    • 2 tbsp extra virgin olive oil
    • 3 tbsp dried oregano, rubbed between your palms before adding
    • 1 tsp paprika
    • ½ tsp ground cumin
    • ½ tsp ground coriander
    • 1 tbsp table salt
    • 1 tsp freshly ground black pepper

    Tzatziki

    • 1 English cucumber, diced or grated
    • 1½ cups plain Greek yogurt
    • 2 tbsp lemon juice
    • 2 tbsp extra virgin olive oil
    • 1 tsp garlic, minced
    • ½ tsp table salt
    • Freshly ground black pepper, to taste

    Salad

    • 2 English cucumbers, diced
    • 4 to 5 tomatoes, seeded and diced
    • ½ large red onion, thinly sliced
    • ¼ cup fresh parsley, chopped
    • 1 to 2 tbsp lemon juice, or to taste
    • 1 to 2 tbsp extra virgin olive oil, or to taste
    • ½ tsp dried oregano, crushed
    • Salt and freshly ground black pepper, to taste

    For Serving

    • Flatbread or pita
    • Olive oil, for warming the pita
    • Lemon wedges, for finishing
    • A small pinch of dried oregano for each gyro, optional but recommended

    Directions

    Marinate the Chicken

    In a large bowl or resealable container, combine the garlic, lemon juice, Greek yogurt, white wine vinegar, olive oil, oregano, paprika, cumin, coriander, salt, and black pepper. Rub the oregano between your palms before adding to help release its aroma.

    Add the chicken thighs and turn well to coat. Cover and refrigerate for 3 to 24 hours. Overnight is ideal.

    Make the Tzatziki

    In a medium bowl, stir together the cucumber, Greek yogurt, lemon juice, olive oil, garlic, salt, and black pepper.

    Refrigerate for at least 30 minutes before serving to let the flavors meld.

    Prepare the Salad

    In a separate bowl, combine the cucumbers, tomatoes, red onion, and parsley.

    Toss with the lemon juice, olive oil, crushed oregano, salt, and black pepper to taste. Refrigerate until ready to serve.

    Grill the Chicken

    Preheat a grill to medium-high heat. Remove the chicken from the marinade and grill the thighs whole until cooked through and nicely marked, about 5 to 7 minutes per side depending on thickness.

    Cook until the thickest part of the chicken reaches an internal temperature of 165°F (74°C).

    Transfer to a cutting board and let rest for 5 to 10 minutes.

    Slice and Crisp

    Slice the rested chicken into thin strips. Heat a large skillet over high heat and add a small amount of oil.

    Add the sliced chicken and cook briefly, tossing for 60 to 90 seconds, until the edges crisp and brown in spots.

    Finish with a small squeeze of lemon juice.

    Warm the Pita and Assemble

    Lightly brush the pita or flatbread with olive oil and warm on a hot skillet, grill, or griddle for 20 to 30 seconds per side, just until soft, hot, and lightly toasted.

    To serve, place chicken on the warm pita, spoon over tzatziki, add the salad, and finish with a small pinch of dried oregano if desired.


    Notes

    Preparation

    • For the best flavor, marinate the chicken overnight.
    • Chicken breast can be substituted for thighs. Grill to an internal temperature of 150°F (65.6°C) and hold at or above that temperature for about 3 minutes to achieve pasteurization. Use an instant-read thermometer to verify the temperature in the thickest part of the meat.
    • If using regular cucumbers for the tzatziki, dice or grate them, salt lightly, let rest 10 to 15 minutes, then squeeze dry in a kitchen towel before mixing into the yogurt.
    • English cucumbers usually contain less moisture, so that draining step is often unnecessary, though a light squeeze is still helpful if they seem especially juicy.
    • You may use diced cucumber, grated cucumber, or a combination in the tzatziki. A 50/50 mix of diced and grated cucumber gives an especially nice texture—creamy, but still fresh and crisp.

    Serving Suggestions

    • Serve with Greek Lemon Rice, fries, roasted potatoes, or a simple Greek-style salad for a full meal.
    • For a traditional Greek gyro-shop feel, wrap the finished gyro loosely in parchment or foil before serving.
    • Extra lemon wedges on the side are excellent for brightening each bite.

    Variations

    • For a traditional herb note in the tzatziki, add 1 to 2 tsp finely chopped fresh dill or mint.
    • Flatbread works well here, but warm pita gives the most classic gyro-style presentation.
    • A few fries tucked into the gyro are a very Greek addition and make it even closer to the style commonly served in Greece.

    Make-Ahead & Storage

    • The chicken can be marinated up to 24 hours ahead.
    • The tzatziki can be made 1 day ahead and kept refrigerated.
    • The salad is best made the day of serving, though the vegetables can be chopped ahead and dressed shortly before assembling.
    • Leftover cooked chicken keeps well in the refrigerator for up to 3 days. Reheat in a hot skillet to restore some of the crisp edges before serving.
  • 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.
  • Blueberry Cheesecake Ice Cream

    Blueberry Cheesecake Ice Cream

    This Blueberry Cheesecake Ice Cream captures all the comfort and flavor of a classic cheesecake in frozen form—tangy, creamy, and just sweet enough. A silky cream cheese custard base provides authentic cheesecake flavor, balanced by a bright blueberry swirl and crunchy browned-butter graham crumble that evokes a perfectly toasted crust.


    Ingredients

    Blueberry Swirl

    • ¼ cup sugar
    • 1 tbsp cornstarch
    • ½ cup water
    • 1¼ cups blueberries (fresh or frozen)
    • 1 tbsp lemon juice
    • pinch table salt

    Browned Butter Graham Crumble

    • 2 cups graham cracker crumbs
    • 1 tbsp sugar
    • ½ tsp cinnamon
    • ½ cup (1 stick) unsalted butter
    • ½ tsp vanilla extract
    • pinch table salt

    Cheesecake Ice Cream Base

    • 6 oz cream cheese, softened
    • 1½ cups whole milk
    • 1½ cups heavy cream
    • ¾ cup sugar
    • 4 egg yolks
    • ½ tsp vanilla extract
    • 1 tsp lemon zest (optional)
    • pinch table salt

    Directions

    Prepare the Blueberry Swirl

    In a small saucepan, combine sugar, cornstarch, and salt. Gradually whisk in water until smooth, then stir in blueberries and lemon juice.

    Bring to a gentle boil and simmer for 5–6 minutes, stirring occasionally, until thickened and jam-like.

    Cool completely before using.

    Make the Browned Butter Graham Crumble

    In a small saucepan over medium heat, melt butter and cook, swirling occasionally, until it turns golden and smells nutty (about 4–5 minutes). Immediately remove from heat and stir in vanilla and a pinch of salt.

    In a large bowl, combine graham cracker crumbs, sugar, and cinnamon. Pour the browned butter mixture over the crumbs and stir until evenly coated.

    Spread on a parchment-lined baking sheet and bake at 350°F for 10–12 minutes, stirring once, until fragrant and lightly toasted. Cool completely, then crumble into small clusters.

    For best texture, spread the cooled crumble on a parchment-lined baking sheet and freeze for 20–30 minutes before mixing into the ice cream.

    Prepare the Cheesecake Ice Cream Base

    In a saucepan, warm milk and cream over medium heat until steaming.

    In a separate bowl, whisk yolks and sugar until pale and thick. Slowly temper with ½ cup of the warm milk mixture, whisking constantly, then return everything to the saucepan.

    Cook gently over low heat, stirring constantly, until the custard coats the back of a spoon (170–175°F / 77–80°C).

    Remove from heat and whisk in cream cheese, vanilla, lemon zest, and salt until smooth. Strain through a fine mesh sieve if needed for texture.

    Chill thoroughly, preferably overnight.

    Churn & Assemble

    Churn the chilled custard in an ice cream maker according to the manufacturer’s instructions. When nearly finished, fold in the frozen graham crumble.

    In a freezer-safe container, layer the churned ice cream with alternating spoonfuls of blueberry swirl and additional crumble.

    Swirl gently with a butter knife (do not overmix). Freeze until firm.


    Notes

    Preparation

    • Freeze the graham crumble before folding it into the ice cream to help preserve crunch and prevent softening.
    • Chilling the blueberry swirl thoroughly helps prevent it from bleeding into the custard during layering.
    • For an extra-cheesecake tang, replace ¼ cup of the milk with buttermilk (stir it in after cooking the custard).
    • Browning the butter is essential for a warm, nutty aroma that mimics a true cheesecake crust.

    Serving Suggestions

    • Serve with fresh blueberries, strawberries, or raspberries.
    • Add a drizzle of warm blueberry sauce for a sundae-style presentation.
    • Top with extra graham crumble for added texture.

    Variations

    • Swap the blueberries for raspberries, strawberries, or blackberries using the same proportions.
    • Add a **lemon cheesecake** twist by doubling the lemon zest and adding 1 tsp lemon juice to the custard after cooking.
    • For a swirl-forward ice cream, increase the blueberry mixture to 1½× the recipe.

    Make-Ahead & Storage

    • Refrigerate the custard base for up to 2 days before churning.
    • Store the blueberry swirl for up to 1 week in the refrigerator.
    • Keep graham crumble at room temperature for 3 days, or freeze for longer storage.
    • Store churned ice cream in an airtight container for up to 1 week for best texture.
  • Double-Fried Belgian Frites

    Double-Fried Belgian Frites

    Ok, my friends, don’t get me started! Just believe me when I say, Fries are NOT French! Whether it be because of the style of the cut (frenched) or the native language of many of their early purveyors, french and fries have been erroneously linked as the name of a true Belgian creation, Frites! Calling these spears of deliciousness French is, well, just wrong.

    Real frites are presoaked and double fried, delivering a soft and fluffy interior and crisp exterior. They are traditionally salted and served with mayonnaise. But, if you are feeling a bit more adventurous, try some of the typical toppings for Frites from the Netherlands and Belgium found under Serving Suggestions at the end of the recipe. My personal favorite… Patat Speciaal!


    Ingredients

    • Large potatoes (Russet or Bintje preferred)
    • Cold water
    • Neutral oil for frying (peanut or canola)
    • Salt, to taste
    • Pepper (optional)

    Directions

    Prepare the Potatoes

    Wash and scrub potatoes well. Peel if desired, then cut into thick fries (about ⅜–½ inch / 1 cm thick). Place in a large bowl of cold water and soak for at least 20 minutes, or up to several hours, to remove excess starch.

    Drain and pat the fries completely dry with paper towels before frying.

    First Fry (Par-Cook)

    Heat oil in a deep fryer or heavy pot to 275–300°F (135–150°C). Fry the potatoes in batches for about 4–6 minutes, just until tender but not browned. Avoid overcrowding to maintain temperature.

    Remove fries and transfer to a paper towel–lined tray or a large paper bag to drain and cool. Let rest at least 20–30 minutes.

    Second Fry (Crisp & Golden)

    Increase oil temperature to 375–400°F (190–205°C). Fry the cooled potatoes again in batches for 3–5 minutes, until golden brown and crisp.

    Transfer to fresh paper towels to drain. Immediately season with salt (and pepper, if desired).

    Serve

    Serve hot in a paper cone, bowl, or basket—Belgian style—with plenty of mayonnaise or one of the regional variations listed below.


    Notes

    Preparation

    • For the most authentic texture, use starchy potatoes such as Russets or Bintjes.
    • Soaking the potatoes helps remove starch for crisper results—don’t skip this step.
    • Always cool fries completely between the first and second fry for best crispness.
    • Use a thermometer to maintain accurate oil temperature during frying.

    Serving Suggestions

    • Patat Met – Fries with mayonnaise.
    • Patat Speciaal – Fries with mayonnaise, curry ketchup, and chopped onions.
    • Patatje Oorlog – Fries with mayonnaise, peanut sauce, sambal oelek, and chopped onions.
    • Patatje Joppie – Fries with mayonnaise mixed with yellow curry spices and topped with onions.
    • Frieten met Stoofvlees – Fries served with Belgian beef stew.
  • Birria de Res

    Birria de Res

    Rich, smoky, and deeply spiced, this family favorite Birria de Res captures the essence of traditional Jalisco-style beef birria. Slow-simmered with a blend of toasted chiles and warm spices, it can be served as a hearty stew or transformed into crispy, cheesy Quesabirria tacos with plenty of the rich consommé for dipping. A perfect centerpiece for any gathering.


    Ingredients

      Birria Base

    • 7 dried guajillo chiles
    • 7 dried morita chiles
    • 4 dried ancho chiles
    • 3 dried chiles de árbol (optional for heat)
    • 1 liter boiling water
    • 5 lb beef chuck, cut into 4-inch chunks
    • 2 lb beef short ribs
    • Salt and freshly ground black pepper
    • 2 tbsp neutral oil
    • 2 tsp Mexican oregano
    • 2 tsp cumin seeds
    • 1 tsp black peppercorns
    • 1 tsp whole cloves
    • 1 tsp allspice berries
    • 3 bay leaves
    • 1 tbsp onion powder
    • 1 tsp paprika
    • 1 tsp ground cinnamon
    • 1 can (28 oz) whole tomatoes with juice
    • 1 tbsp minced garlic (about 3 cloves)
    • 2 tbsp table salt
    • 2 tbsp vinegar (white or apple cider)
    • ½ cup vegetable oil
    • For Quesabirria Tacos

    • Corn tortillas
    • Oaxaca, mozzarella, or jack cheese (shredded)
    • Diced onion
    • Chopped cilantro
    • Lime wedges, for serving

    Directions

    Prepare the Chiles

    Remove stems and seeds from the dried chiles. Toast lightly in a dry skillet over medium heat, pressing gently until fragrant (about 15–20 seconds per side). Transfer to a bowl and cover with boiling water. Soak for 30 minutes until softened.

    Toast and Grind Spices

    In a spice grinder or mortar and pestle, grind Mexican oregano, cumin seeds, peppercorns, cloves, allspice, and bay leaves into a coarse powder. Stir in onion powder, paprika, and cinnamon; set aside.

    Brown the Meat

    Pat beef dry and season generously with salt and pepper. In a large Dutch oven, heat 2 tbsp oil over medium-high heat until shimmering. Brown the meat in batches on all sides until deeply golden; transfer to a bowl and set aside.

    Build the Chile Base

    In the same Dutch oven, add the spice mixture and toast briefly (15–30 seconds) until aromatic. Add tomatoes with their juice, crushing them with the back of a wooden spoon. Stir in garlic, salt, and vinegar. Blend the softened chiles with their soaking liquid until smooth and add to the pot. Let the mixture simmer over medium heat for 2–3 minutes to bloom the chile flavors before adding the browned meat back. Scrape up any browned bits from the bottom as you stir.

    Simmer Low and Slow

    Add ½ cup oil, stir, and reduce heat to low. Cover partially and simmer gently for 3–4 hours, or until meat is tender enough to shred easily. If the liquid reduces too much, add a splash of hot water or beef broth as needed.

    Adjust and Strain (Optional)

    Remove the meat and shred. Skim off the red chile oil that rises to the top and reserve for frying tortillas. For a more refined consommé, strain the sauce through a fine sieve. For a more rustic texture (as our family prefers), leave it unstrained.

    Serve as Stew or Tacos

    For stew service, return shredded meat to the sauce and serve in bowls with diced onion, cilantro, and lime wedges. For Quesabirria tacos, continue below.

    Quesabirria Tacos

    Shred the beef and moisten with a few tablespoons of birria sauce. Reserve the skimmed chile oil for frying. Dip a corn tortilla into the red oil and lay it on a hot skillet or griddle. Spoon shredded meat and cheese onto one side; fold and press lightly. Cook until crisp and golden on both sides, about 1–2 minutes per side.

    Serve tacos with diced onion, chopped cilantro, and lime wedges. Include a small bowl of the birria sauce for dipping (consommé).


    Notes

    Preparation

    • Toasting the chiles deepens their smoky flavor and prevents bitterness — avoid burning them.
    • Blooming the chile-tomato base briefly enhances color and richness before simmering.
    • Use beef chuck and short ribs for the perfect balance of tenderness and flavor.
    • For a richer taco crust, mix the reserved chile oil with a bit of ghee or butter before frying.
    • Birria tastes even better the next day as the flavors meld and intensify.

    Serving Suggestions

    • Serve the birria as a stew with warm corn tortillas, onion, cilantro, and lime wedges.
    • Use the same base for Quesabirria tacos — crisp, cheesy tacos dipped in the rich chile consommé.
    • Offer lime wedges on the table for brightness and balance.

    Variations

    • For milder heat, reduce or omit chiles de árbol.
    • Add a touch of smoked paprika for a subtle, smoky accent if morita chiles are unavailable.
    • Try goat or lamb shoulder for traditional birria de chivo or birria de borrego.
  • Chocolate Mocha Ice Cream

    Chocolate Mocha Ice Cream

    Deeply rich and smooth chocolate ice cream infused with bold espresso and a subtle tang of buttermilk for balance. The result is café-level mocha flavor—decadent yet refined—with a clean, refreshing finish that highlights both the chocolate and espresso notes.


    Ingredients

    • Chocolate–Mocha Custard:

    • 2 cups heavy cream
    • ½ cup whole milk
    • ½ cup buttermilk (added after cooking)
    • ½ cup sugar, divided
    • 5 egg yolks
    • 4 oz bittersweet or semisweet chocolate (60–70%), finely chopped
    • 2 tbsp unsweetened cocoa powder
    • 2 tsp instant espresso powder, divided (see directions)
    • ½ tsp vanilla extract
    • pinch table salt

    Directions

    Make the Chocolate Base

    In a medium saucepan, whisk together whole milk, cream, ¼ cup sugar, cocoa powder, 1½ tsp espresso powder, and salt. Warm gently over medium heat until steaming and the sugar dissolves. Remove from heat and whisk in the chopped chocolate until smooth.

    Temper the Yolks

    In a separate bowl, whisk egg yolks with the remaining ¼ cup sugar until pale and thick. Slowly temper with ½ cup of the warm chocolate mixture, whisking constantly, then return everything to the saucepan.

    Cook the Custard

    Cook gently over low heat, stirring constantly, until the custard coats the back of a spoon (170–175°F / 77–80°C). Do not boil.

    Finish the Flavoring

    Strain through a fine mesh sieve into a clean bowl. Stir in vanilla. Dissolve the remaining ½ tsp espresso powder in 1 tbsp hot water or cream, then whisk it into the warm custard for a final espresso boost.

    Add the Buttermilk & Chill

    Allow the custard to cool slightly, then stir in the buttermilk. Cover and chill thoroughly—at least 4 hours or overnight.

    Churn

    Churn the chilled base in an ice cream maker according to the manufacturer’s instructions. Transfer to a container and freeze until firm.


    Notes

    Preparation

    • Buttermilk adds brightness and keeps the mocha flavor balanced.
    • For a sweeter, richer result, replace the buttermilk with whole milk.
    • For a darker mocha profile, add 1 tsp more espresso powder or swap 1 oz chocolate for unsweetened baking chocolate.
    • For an ultra-smooth texture, whisk in ⅛ tsp xanthan gum while the base is warm (before chilling).

    Serving Suggestions

    • Serve affogato-style with a shot of hot espresso.
    • Pair with biscotti, chocolate cake, or almond cookies.
    • Top with shaved dark chocolate for extra intensity.

    Variations

    • Add ½ cup chocolate-covered espresso beans during the last minute of churning.
    • For a mocha-ripple version, swirl in ½ cup chocolate-fudge sauce before freezing.
    • For a tiramisu-inspired twist, add 1 tbsp mascarpone to the warm custard before chilling.

    Make-Ahead & Storage

    • Refrigerate the unchurned base up to 2 days before freezing.
    • Store churned ice cream in an airtight container up to 1 week.
    • For ideal scooping, let rest at room temperature 5–10 minutes before serving.
  • 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.
  • Chocolate Hazelnut Ice Cream

    Chocolate Hazelnut Ice Cream

    Creamy and decadent, this chocolate hazelnut ice cream blends the richness of dark chocolate and toasted hazelnuts with the smooth sweetness of Nutella. A silky custard base creates luxurious texture, while cocoa deepens the chocolate flavor and balances the sweetness beautifully. It’s a family favorite—one that every member agrees on without debate—its velvety texture and nutty aroma reminding us of fine Belgian chocolates. Whether shared after Sunday dinner or enjoyed quietly by the fire, this ice cream captures both indulgence and comfort in every scoop.


    Ingredients

    Chocolate Custard Base:

    • 2 cups heavy cream
    • 1 cup whole milk
    • ½ cup sugar, divided
    • 5 egg yolks
    • ½ tsp vanilla extract
    • ½ cup Nutella (or other chocolate-hazelnut spread)
    • 2 tbsp unsweetened cocoa powder
    • pinch table salt
    • ½ cup toasted hazelnuts, coarsely chopped (for folding in or topping; optional)

    Directions

    Warm the Chocolate Base

    In a saucepan, whisk together the milk, cream, ¼ cup sugar, cocoa powder, and salt. Warm over medium heat until steaming and the sugar dissolves.

    Make the Custard

    In a medium bowl, whisk the egg yolks with the remaining ¼ cup sugar until pale and thick. Slowly temper with ½ cup of the warm chocolate mixture while whisking constantly, then return everything to the saucepan.

    Cook over low heat, stirring constantly, until the custard coats the back of a spoon (170–175°F / 77–80°C). Do not boil.

    Finish & Chill

    Strain through a fine mesh sieve into a clean bowl. Whisk in vanilla and Nutella until smooth and fully blended. Chill thoroughly, preferably overnight.

    Churn & Add Hazelnuts

    Churn the chilled base in an ice cream maker according to manufacturer’s instructions. Fold in toasted hazelnuts or use them as a topping when serving.


    Notes

    Preparation

    • For richer chocolate flavor, replace ¼ cup of the Nutella with 2 oz melted dark chocolate (60–70% cacao).
    • For a smoother texture, add ⅛ tsp xanthan gum to the warm base before chilling.
    • Straining ensures a velvety custard and removes any curdled bits.

    Serving Suggestions

    • Top with toasted hazelnuts or shaved dark chocolate.
    • Pair with mocha brownies, vanilla shortbread, or salted caramel sauce.
    • Serve with fresh berries for a bright contrast.

    Make-Ahead & Storage

    • Refrigerate the custard base up to 2 days before churning.
    • Store churned ice cream for up to 1 week for best texture.
    • Let soften 5–10 minutes at room temperature before serving.
  • Aguachile Rojo de Camaron

    Aguachile Rojo de Camaron

    Our family’s take on northern Mexican aguachile rojo: quick-blanched shrimp finished in fresh lime, a vivid red base of toasted dried chiles and Camaronazo, and a crisp bed of cucumber, red onion, cilantro, and just-ripe avocado. Bright, spicy, and ice-cold—made to serve immediately with tostadas, salsa negra, and wedges of lime.


    Ingredients

      Shrimp & Lime Cure

    • 2 lb large raw shrimp, peeled, deveined, halved lengthwise
    • 1 cup fresh lime juice (just enough to cover shrimp)
    • 2 tsp table salt, divided (to season curing liquid and sauce)
    • Vegetables & Herbs

    • 1 red onion, very thinly sliced
    • 3 cucumbers, thin half-moons
    • 3 avocados, diced (add just before serving)
    • ½ bunch cilantro, chopped, plus leaves for garnish
    • radishes, thinly sliced (garnish, optional)
    • lime wedges, for serving
    • Red Base

    • 24–28 oz Camaronazo spicy tomato cocktail with shrimp
    • 4 dried chiles de árbol
    • 2 dried pequín chiles
    • 1 dried guajillo chile
    • 1 clove garlic
    • ¼ tsp chicken bouillon powder (Knorr-style), or to taste
    • Optional Balancers

    • ½ tsp sugar (to soften bitterness from toasted chiles)
    • 1–2 tbsp soy sauce or Maggi seasoning (depth; Sinaloan style)
    • 2–3 tbsp cold water (only if base is too thick)

    Directions

    Blanch and Cure the Shrimp

    Bring a pot of well-salted water to a gentle boil. Add shrimp and blanch 10–15 seconds—just until edges blush pink—then immediately transfer to an ice bath to stop cooking. Drain well and pat dry.

    Place shrimp in a shallow bowl and pour in just enough fresh lime juice to cover. Refrigerate 20–25 minutes, stirring once halfway, until opaque and slightly firm. Avoid over-marinating.

    Soak the Onion

    Soak sliced red onion in ice water for 10 minutes to mellow sharpness and keep a crisp bite; drain thoroughly.

    Toast & Hydrate the Chiles

    Toast árbol, pequín, and guajillo chiles in a dry skillet over medium heat until fragrant, ~30 seconds per side. Remove stems and most seeds.

    Soak guajillo in hot water 10 minutes to soften; reserve a spoonful of soaking liquid.

    Blend the Red Base

    Blend about ¼ of the Camaronazo with toasted chiles, garlic, 1 tsp of the salt, chicken bouillon, and a splash of guajillo soaking liquid until completely smooth and vivid red.

    Add remaining Camaronazo and optional soy sauce or Maggi; pulse to combine. If using, add sugar to round bitterness.

    If the base is too thick, add 2–3 tbsp cold water. If it tastes too sweet, brighten with more lime. Taste and adjust salt at the end.

    Combine the Vegetables

    In a large chilled bowl, mix cucumber, drained onion, and chopped cilantro. Pour in the red base and stir to coat evenly.

    Finish with Shrimp & Avocado

    Add the cured shrimp along with their lime marinade; fold gently to combine so the broth stays bright and balanced.

    Add avocado just before serving and fold lightly to keep the cubes intact.

    Serve

    Serve immediately in chilled bowls or on tostadas. Garnish with cilantro leaves, sliced radish, and lime wedges; drizzle with salsa negra or salsa macha if desired.


    Notes

    Preparation

    • Blanching locks in a crisp, restaurant-quality texture; the short lime cure finishes the “cook” without turning mushy.
    • Toast all dried chiles briefly to deepen flavor and color; soak guajillo for a smoother blend.
    • Onion soak: 10 minutes in ice water keeps texture while taming harshness.
    • If the base is too thick, add 2–3 tbsp cold water; if sweetness dominates, add a squeeze of lime; always taste and adjust salt at the end.
    • Add avocado only at the end to prevent bruising and mushiness.

    Serving Suggestions

    • Serve with crisp tostadas (not just chips) for structure and crunch.
    • Add thinly sliced radish and extra cilantro leaves for color and freshness.
    • Offer salsa negra or salsa macha for a glossy, smoky-spicy drizzle.
    • Pass extra lime wedges at the table for last-second brightness.

    Variations

    • Soy sauce or Maggi (1–2 tbsp) adds savory depth common in Sinaloan versions—use to taste.
    • A pinch of sugar (½ tsp) can smooth bitterness from well-toasted chiles.
    • For extra heat, add another árbol or a small amount of the chile seeds; for milder heat, reduce árbol/pequín.

    Make-Ahead & Storage

    • The red chile base can be blended up to 1 day ahead; keep refrigerated and whisk before using.
    • Blanch shrimp and chill the onion/cucumber ahead, but cure shrimp in lime and add avocado just before serving.
    • Best served immediately once assembled; leftovers lose texture quickly—consume the same day.