Bags of Spices

Favorite Recipes

Beef

  • Keftedes (Κεφτέδες) — Greek Meatballs with Tzatziki

    Keftedes (Κεφτέδες) — Greek Meatballs with Tzatziki

    Our family loves Greek food, especially when there’s a generous bowl of tzatziki on the table. These baked Greek meatballs, known as keftedes (κεφτέδες), combine beef and pork with just enough lamb to add savory depth without taking over. Baked until browned and served with warm flatbread triangles and plenty of cool tzatziki, they’re tender, herbaceous, and made for sharing.


    Ingredients

    Tzatziki

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

    Meatballs

    • 1½ lb (680 g) ground beef, preferably 85% lean
    • ¼ lb (113 g) ground pork
    • ¼ lb (113 g) ground lamb
    • ⅓ cup (about 40 g) plain breadcrumbs
    • ⅓ cup (80 g) whole milk
    • 1 tbsp dried parsley
    • 1 large egg
    • ½ medium yellow onion (about 100 g), finely grated
    • 1 tbsp (about 10 g) garlic, minced
    • 1 tbsp fresh mint, finely chopped
    • Zest of 1 lemon
    • 1 tbsp dried oregano, rubbed between your palms before adding
    • ½ tsp ground cumin
    • 2 tsp table salt
    • ½ tsp freshly ground black pepper
    • 1 tbsp (15 ml) extra virgin olive oil

    For Serving

    • Flatbread, warmed and cut into triangles
    • Lemon wedges

    Directions

    Make the Tzatziki

    If the cucumber seems especially juicy, squeeze it lightly in a clean kitchen towel to remove excess moisture.

    Stir together the cucumber, Greek yogurt, lemon juice, olive oil, garlic, salt, and black pepper.

    Cover and refrigerate for at least 30 minutes before serving to allow the flavors to meld.

    Prepare the Meatball Mixture

    Preheat the oven to 425°F (218°C). Lightly oil a rimmed baking sheet.

    Combine the breadcrumbs, milk, and dried parsley in a large mixing bowl. Let stand for 5 minutes, until the milk is absorbed and the parsley has softened.

    Add the egg, grated onion, garlic, mint, lemon zest, oregano, cumin, salt, black pepper, and olive oil. Mix until evenly combined.

    Add the ground beef, pork, and lamb. Mix gently but thoroughly, stopping as soon as the meats and seasonings are evenly distributed.

    Shape and Bake

    Cook a small test patty in a skillet and adjust the seasoning if needed.

    Divide the mixture into approximately 24 portions of about 1¾ oz (50 g) each. Gently roll into meatballs and arrange on the prepared baking sheet with a little space between them.

    Bake for 16 to 20 minutes, until browned and the centers reach 160°F (71°C).

    For deeper browning, broil for 1 to 2 minutes at the end, watching closely. Rest for 5 minutes before serving.

    Warm the Flatbread and Serve

    Warm the flatbread on a hot skillet, grill, or griddle until soft and lightly toasted, then cut into triangles.

    Serve the meatballs on a platter with warm flatbread triangles, lemon wedges, and plenty of tzatziki.

    Yield: Approximately 24 meatballs (8 servings).


    Notes

    Preparation

    • The ¼ lb (113 g) of lamb accounts for about 12½% of the meat blend. It adds background richness without making the meatballs taste strongly of lamb.
    • Mix gently and avoid tightly compressing the meatballs so they remain tender.

    Variations

    • Adjust the ½ lb (about 227 g) combined pork and lamb to taste, using all pork, all lamb, or any blend in between. The equal amounts of ¼ lb (113 g) each keep the lamb flavor relatively mild.
    • Replace the dried parsley with ¼ cup finely chopped fresh parsley for a brighter herb flavor.
    • Panko breadcrumbs may be substituted for the plain breadcrumbs; use 1½ oz (45 g).
    • For traditionally fried keftedes, heat about ¼ inch (6 mm) olive oil in a heavy skillet over medium heat. Fry the meatballs in batches, turning occasionally, until deeply browned and the centers reach 160°F (71°C), about 8 to 10 minutes. Drain briefly on paper towels before serving.
    • For a more traditional herb note in the tzatziki, add 1 to 2 tsp finely chopped fresh dill or mint.

    Serving Suggestions

    Make-Ahead & Storage

    • The tzatziki can be made 1 day ahead and refrigerated in a covered container.
    • The meatballs can be mixed, shaped, covered, and refrigerated up to 24 hours before baking.
    • Cooked meatballs can be refrigerated in an airtight container for up to 3 days. Reheat covered at 325°F (163°C), then uncover briefly to restore the browned exterior.
    • For longer storage, freeze the shaped uncooked meatballs on a tray, then transfer them to a freezer-safe container once solid. Freeze for up to 3 months and thaw overnight in the refrigerator before baking.
  • Beef Bahmi Goreng

    Beef Bahmi Goreng

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


    Ingredients

    Beef

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

    Velveting Marinade

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

    Noodles

    Sauce

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

    Vegetables & Aromatics

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

    Garnishes

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

    Directions

    Velvet the Beef

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

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

    Prepare the Noodles

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

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

    Mix the Sauce

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

    Cook the Beef

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

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

    Char the Cabbage and Carrot

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

    Stir-Fry the Aromatics

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

    Fry the Noodles

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

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

    Finish

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

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

    Serve

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

    Yield: 6 servings.


    Notes

    Preparation

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

    Variations

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

    Serving Suggestions

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

    Make-Ahead & Storage

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

    Shoarma Burgers

    These cheese-stuffed shoarma burgers have been my son’s favorite dinner for years. The beef-and-pork patties are seasoned with Dutch shoarma kruiden, grilled over charcoal, and served in warm pita with butter lettuce, ripe tomatoes, shoarmasaus, knoflooksaus, and sambal oelek at the table. Fill them with mild fresh mozzarella or tangy goat cheese—or make some of each, as we usually do.


    Ingredients

    Shoarma Burgers

    • 2 lb (907 g) ground beef
    • 1 lb (454 g) ground pork
    • 1 tbsp sambal oelek
    • 1½ tbsp finely chopped or grated fresh garlic
    • 1 tbsp grated fresh ginger
    • 2 tsp table salt
    • 3.5 g MSG
    • 4 tbsp shoarma kruiden
    • ¼ cup (60 g) plain yogurt
    • ¼ cup (60 ml) finely chopped fresh cilantro
    • Fresh sliced mozzarella, 0.9–1.1 oz (25–30 g), or goat cheese, 1.1–1.2 oz (30–35 g), per burger

    For Serving

    • 7 pita breads or hamburger buns
    • butter lettuce leaves
    • ripe sliced tomatoes, preferably garden tomatoes
    • shoarmasaus
    • knoflooksaus
    • lime wedges
    • sambal oelek

    Directions

    Prepare the Sauces

    Prepare the shoarmasaus and knoflooksaus at least 4 hours before serving, preferably the night before, so their flavors have time to develop.

    Mix the Meat

    Place the ground beef, ground pork, sambal oelek, garlic, ginger, salt, MSG, shoarma kruiden, yogurt, and cilantro in a large bowl. Mix thoroughly by hand until the seasonings are evenly distributed and the meat becomes cohesive and slightly tacky. A portion pressed together should hold its shape without cracking or crumbling. Keep the mixture as cold as possible while working.

    Fill and Shape the Patties

    Divide the meat mixture into 7 equal portions. Working with one portion at a time, place approximately half in the bottom of a burger press or shape it by hand to create a solid base. Place 0.9–1.1 oz (25–30 g) fresh sliced mozzarella or 1.1–1.2 oz (30–35 g) goat cheese in the center, leaving a generous border around the cheese. Cover completely with the remaining meat and form into a thick patty, approximately 8.8 oz (250 g) including the filling.

    Smooth and gently compress the exterior. Carefully inspect the top, bottom, and edges, pinching closed every seam or opening through which the cheese could escape. Repeat with the remaining meat and cheese.

    Chill the Patties

    Arrange the formed patties on a covered tray and refrigerate for at least 1 hour before grilling.

    Prepare the Charcoal Grill

    Prepare a charcoal grill for two-zone cooking, with a hot direct-heat area and a cooler indirect-heat area. Clean and lightly oil the grill grate.

    Grill the Burgers

    Place the chilled patties over direct heat and grill until well browned. Turn carefully without pressing down with a spatula. If the exteriors brown before the centers are cooked, move the patties to the cooler side of the grill, close the lid, and finish over indirect heat.

    Cook until the meat surrounding the cheese reaches 160°F (71°C). Insert an instant-read thermometer horizontally through the side of each patty, aiming for the meat rather than the cheese filling. Transfer to a platter and rest for 3–5 minutes.

    Finish and Assemble

    Squeeze a lime wedge lightly over each rested burger. Warm the pita bread briefly on the grill, then fill each pita with a burger, butter lettuce, ripe sliced tomato, shoarmasaus, and knoflooksaus. Hamburger buns may be substituted for the pita. Serve immediately with additional sambal oelek and lime wedges at the table.

    Yield: 7 burgers.


    Notes

    Preparation

    • Fresh mozzarella creates a mild, melty center and is generally preferred by younger children.
    • Goat cheese provides a tangier, more pronounced filling.
    • Keep the cheese cold and compact in the center of each patty to make the burgers easier to seal.
    • A burger press makes the stuffed patties easier to shape, but they can also be formed and sealed by hand.
    • Mixing until the meat becomes slightly tacky helps the large patties hold together on the grill.
    • Do not press the patties with a spatula while grilling, as this can force the cheese through the sealed exterior.

    Make-Ahead & Storage

    • The sauces are best prepared the day before serving.
    • The patties may be formed, covered, and refrigerated earlier the same day.
    • Refrigerate leftover cooked burgers in an airtight container up to 3 days.
  • 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.
  • Italian-American Meat Sauce

    Italian-American Meat Sauce

    This Meat Sauce is a classic Italian-American style simmered sauce built for depth and balance: well-browned meat, layered tomato flavor, dried herbs, and just enough savory backbone to make it craveable without tipping into heaviness. Blooming the tomato paste adds richness and sweetness, while a short covered simmer softens acidity before finishing uncovered to concentrate flavor. It’s a sauce that’s excellent fresh, but even better the next day—exactly what a great red sauce should be.


    Ingredients

    • 2 tbsp olive oil
    • 1 cup (8 oz) onion, chopped
    • 5 cloves garlic, minced
    • 1 lb ground chuck beef (or ½ lb ground chuck and ½ lb uncased Italian sausage)
    • 1 can (28 oz) crushed tomatoes
    • 1 can (15 oz) tomato sauce
    • 1 can (6 oz) tomato paste
    • 1 cup chicken broth
    • ¼–½ cup dry white or dry red wine (optional)
    • 1 tbsp fish sauce
    • 2 tsp dried basil
    • 2 tsp dried parsley
    • 1 tsp dried oregano
    • ½ tsp dried ground fennel
    • ¼ tsp dried thyme leaves
    • 2 whole cloves, crushed
    • 2 bay leaves
    • ½ tsp freshly ground black pepper (to taste)
    • 1 tsp table salt

    Directions

    Build the Sauce

    In a Dutch oven over medium heat, heat the olive oil until shimmering. Add the onion and sauté until translucent and tender, about 5–7 minutes. Add the garlic and cook for 1–2 minutes more, just until fragrant.

    Add the ground meat and cook, breaking it up with a spoon, until well browned and any excess moisture has cooked off.

    Stir in the tomato paste and cook for 1–2 minutes, allowing it to bloom and darken slightly to deepen sweetness and round acidity.

    Stir in the crushed tomatoes, tomato sauce, chicken broth, wine (if using), and fish sauce. Add the dried herbs, fennel, thyme, crushed cloves, bay leaves, pepper, and salt. Bring the sauce to a gentle simmer.

    Simmer

    Reduce heat to low and simmer covered for 30 minutes to soften acidity and allow the flavors to meld.

    Uncover and continue simmering for 15 minutes, allowing excess moisture to evaporate and the sauce to thicken. Remove and discard the bay leaves and crushed cloves before serving.

    Finish the Pasta

    Boil pasta as directed until al dente. Drain, reserving some of the pasta cooking water.

    Place enough warmed meat sauce in a serving bowl to lightly coat the pasta. Stir in a small splash of the reserved pasta water to loosen the sauce, then add the pasta and toss gently to coat. Serve topped with additional meat sauce and freshly grated Romano and/or Parmesan cheese.


    Notes

    Preparation

    • Anchovy Option: The fish sauce may be replaced with 4–6 anchovy fillets, finely minced. Add them with the garlic so they dissolve into the oil and meat as the sauce cooks.

    Make-Ahead & Storage

    This sauce improves with time and is best when made a day ahead and reheated.

    • Refrigerate in airtight containers for up to 3 days.
    • Freeze for up to 3 months.
    • Reheat gently on the stovetop over low heat, adding a splash of water or broth as needed to loosen the sauce.
  • Beef & Asparagus / Beef & Green Beans

    Beef & Asparagus / Beef & Green Beans

    This family-favorite stir-fry pairs velvet-tender slices of beef with crisp-tender asparagus or green beans in a glossy, savory sauce layered with soy, mushroom soy, oyster sauce, and a hint of Shaoxing. Ginger, garlic, and scallions add restaurant-style aroma, while the velveting technique keeps the beef incredibly juicy—perfect over a bowl of hot white rice.


    Ingredients

      Beef:

    • 3 lbs sirloin, flank, or other tender steak, sliced thin against the grain
    • Velveting Marinade:

    • 2 cups water
    • 1 tsp baking soda
    • ⅔ cup soy sauce
    • 1 egg white
    • ½ tsp white pepper
    • 2 tbsp corn or potato starch
    • 2 tsp neutral oil (such as canola or vegetable oil), to coat the beef
    • Neutral oil, for frying the beef (enough for about 1–2 in / 2.5–5 cm depth in the wok or pan)
    • Sauce:

    • ¼ cup water
    • 3 tbsp sugar
    • ½ tsp chicken powder
    • ⅓ cup soy sauce
    • 1 tbsp mushroom soy sauce
    • 1 tbsp oyster sauce
    • 1 tbsp dark soy sauce
    • 3 tbsp michiu or Shaoxing cooking wine
    • 1–2 tsp cornstarch mixed with an equal amount of water (slurry)
    • ¼–½ tsp MSG (optional)
    • Vegetables & Aromatics:

    • 1–2 tbsp neutral oil, for stir-frying the vegetables
    • 1 medium onion, thinly sliced from root to tip
    • Vegetables (Use Either):

      • 1–1½ lbs asparagus, trimmed and cut into 2 in (5 cm) pieces
      • 1–1½ lbs fresh green beans, trimmed (see Directions for blanching)

      Stir-Fry & Finish:

    • 2–3 tbsp neutral oil, for stir-frying the sauce and aromatics
    • 2 tbsp minced garlic
    • 1–2 tsp minced fresh ginger
    • 2 scallions, white parts thinly sliced, green parts thinly sliced for garnish
    • 1–2 tsp toasted sesame oil, to finish
    • Cooked white rice, for serving

    Directions

    Velvet the Beef:

    In a large bowl, whisk together the water, baking soda, and soy sauce. Add the sliced beef, separating the pieces so they are fully coated in the mixture. Cover and refrigerate for at least 1 hour and up to 24 hours (2 hours is ideal for thinly sliced beef).

    Drain the beef well and pat it dry with paper towels. Return the beef to a clean bowl. Add the egg white, white pepper, and starch, and mix thoroughly with your hands until every piece is evenly coated. Add 2 tsp neutral oil and mix again to distribute. Cover and refrigerate for at least 30 minutes, or up to overnight.

    Heat enough neutral oil in a wok or deep, heavy skillet to a depth of about 1–2 in (2.5–5 cm) to 350ºF (175ºC). Fry the beef in batches for 30–60 seconds, just until the color changes and the pieces are opaque but not browned. Remove with a spider or slotted spoon and drain on a rack or paper towels. Repeat with remaining beef. Set aside.

    Make the Sauce:

    In a small saucepan, combine the ¼ cup water, sugar, and chicken powder. Bring just to a simmer over medium heat, stirring to dissolve the sugar and chicken powder.

    Remove from heat and stir in the soy sauce, mushroom soy sauce, oyster sauce, dark soy sauce, and cooking wine until well combined. If using MSG, stir it in now.

    Just before you are ready to add the sauce to the wok, stir the cornstarch slurry to recombine and whisk 1–2 tsp of it into the sauce. Set the sauce near the stove so it’s ready to use.

    Prepare the Vegetables:

    If using green beans, bring a large pot of salted water to a boil. Add the trimmed beans and blanch for 60–90 seconds, just until bright green and crisp-tender. Immediately transfer to a bowl of ice water to stop the cooking. Drain very well and pat dry before stir-frying.

    If using asparagus, trim and cut into 2 in (5 cm) pieces. Very thick stalks can be blanched for 30 seconds if desired, then shocked in ice water and dried well, but this is optional.

    Heat 1–2 tbsp neutral oil in a wok over high heat. Add the sliced onion and stir-fry until slightly softened and just starting to turn translucent, 1–2 minutes. Transfer the onion to a large bowl. Add the asparagus or blanched green beans to the wok and stir-fry until crisp-tender and lightly charred in spots, 2–3 minutes. Transfer to the bowl with the onion and set aside.

    Stir-Fry and Finish:

    Carefully wipe out the wok if needed. Add 2–3 tbsp neutral oil and heat over medium-high until shimmering. Add the minced garlic and ginger and stir-fry for 10–15 seconds, just until fragrant—do not let them brown. Add the scallion whites and stir-fry for about 10 seconds more.

    Give the sauce a quick stir, then pour it into the wok. Bring to a boil and cook for 30–45 seconds, stirring constantly, until slightly thickened and glossy.

    Add the velveted beef to the wok and toss to coat in the sauce. Stir-fry for about 1 minute, just until the beef is heated through. Return the onion and asparagus or green beans to the wok and toss everything together until hot and evenly coated with sauce, 1–2 minutes more.

    Remove the wok from the heat and drizzle in the toasted sesame oil. Toss once more, then garnish with the scallion greens. Serve immediately over hot white rice.


    Notes

    Preparation:

    • For best texture, slice the beef thinly against the grain; partially freezing the meat for 20–30 minutes makes it easier to slice evenly.
    • The velveting steps (marinating, coating, and frying) can be done several hours ahead; keep the fried beef covered in the refrigerator and bring to room temperature before the final stir-fry.
    • Use a neutral, high-smoke-point oil (such as canola, peanut, or vegetable oil) for both frying the beef and stir-frying.
    • Start with 1 tsp of the cornstarch slurry in the sauce and increase up to 2 tsp if you prefer a thicker, more clingy sauce.
    • Dark soy sauce adds color and a light molasses note; a little goes a long way, so keep to the recommended amount.
    • MSG is optional but gives the dish a distinct “restaurant” savoriness; if you prefer not to use it, simply omit it.

    Serving Suggestions:

    • Serve over steamed white rice, jasmine rice, or medium-grain rice to soak up the sauce.
    • Add a simple cucumber salad or lightly pickled vegetables on the side to balance the richness of the beef.
    • Garnish with additional scallion greens or a sprinkle of toasted sesame seeds for texture and color.
    • For a fuller meal, pair with stir-fried bok choy, Chinese broccoli (gai lan), or a quick egg-drop soup.

    Variations:

    • Spicier Version – Add a pinch of crushed red pepper flakes or 1–2 dried chilies to the oil when stir-frying the garlic and ginger.
    • Mushroom Add-In – Stir-fry sliced shiitake or cremini mushrooms after the onions, then combine them with the vegetables before adding back to the wok.
    • Extra Saucy – Increase the water in the sauce to ⅓–½ cup and adjust the cornstarch slurry to maintain a light, glossy consistency.
    • All-Green Bean or All-Asparagus – Use only one vegetable if preferred; keep the total weight around 1–1½ lbs for the best meat-to-vegetable balance.

    Make-Ahead & Storage:

    • The beef can be velveted and fried up to 1 day in advance; cool, cover, and refrigerate until ready to use.
    • The sauce can be mixed (without the cornstarch slurry) up to 2 days ahead and refrigerated; rewarm gently and whisk in the slurry just before cooking.
    • Leftover stir-fry keeps well in an airtight container in the refrigerator for up to 3 days; reheat gently in a skillet or wok with a splash of water to loosen the sauce.
    • This dish is best fresh, as the vegetables will lose some of their crisp-tender texture upon reheating.
  • Carne Asada Tacos

    Carne Asada Tacos

    Carne asada tacos are all about bold, bright flavors—citrus, chiles, and fire meeting the smoky heat of the grill. This version brings together a vibrant, well-balanced marinade, a hot charcoal sear, and classic taquería toppings for tacos that taste like they came straight from a late-night stand in Mexico. Served with warm corn tortillas, diced onion, fresh cilantro, and your choice of salsa verde or chile de árbol salsa, these tacos are simple, deeply flavorful, and perfect for any cookout.


    Ingredients

      Marinade

    • ½ cup cilantro, roughly chopped
    • ⅓ cup avocado oil
    • ¼ cup soy sauce
    • ¼ cup orange juice
    • 2 tbsp lime juice (see note for overnight marinade)
    • 1 jalapeño, minced
    • 3–4 garlic cloves, crushed
    • 2–3 tbsp grated white onion
    • 1 tsp cumin
    • 1 tsp chipotle chili powder
    • 1 tsp ancho chili powder
    • ½ tsp mexican oregano
    • ⅛ tsp cinnamon
    • 1–2 tbsp Mexican Coke (optional, enhances caramelization)
    • 1 tsp Worcestershire sauce
    • Optional Dry Substitutions (If Fresh Aromatics Are Unavailable)

    • ½ tsp garlic powder (instead of fresh garlic)
    • ½ tsp onion powder (instead of fresh onion)
    • Meat

    • 1–2 lbs flank or skirt steak
    • ½–1 tsp kosher salt, for seasoning before grilling
    • Finishings

    • Corn tortillas
    • 1 white onion, diced
    • 1 bunch cilantro, stemmed and chopped
    • Salsa Verde or Chile de Árbol Salsa
    • Limes, cut into wedges

    Directions

    Prepare the Marinade

    In a bowl, combine cilantro, avocado oil, soy sauce, orange juice, lime juice, jalapeño, garlic, grated onion, cumin, chipotle chili powder, ancho chili powder, oregano, cinnamon, Mexican Coke (if using), and Worcestershire sauce.

    Mix well to blend.

    Marinate the Steak

    Place steak in a resealable plastic bag or shallow dish and pour the marinade over the top. Seal or cover tightly, pressing out excess air.

    Marinate for 2–4 hours.

    For overnight marinating, reduce lime juice to 1 tbsp to avoid surface mushiness.

    Preheat the Grill

    Heat a charcoal grill to very high heat (550–650°F) for proper searing.

    Grill the Steak

    Remove the steak from the marinade and pat completely dry with paper towels for better browning. Season both sides with ½–1 tsp kosher salt.

    Place the steak on the grill and turn it every minute for even charring. Grill until medium-rare (130–135°F), about 6–8 minutes total, though thinner pieces may finish sooner.

    Optional:

    • Boil ¼ cup reserved marinade for 1 minute and lightly baste the steak during the final minute of cooking for deeper color and flavor.

    Rest and Slice

    Let the steak rest for 5–10 minutes to allow juices to redistribute.

    Slice thinly on the bias, making sure to cut against the grain for maximum tenderness.

    Assemble the Tacos

    Warm corn tortillas until soft and pliable.

    Fill with sliced steak and top with diced onion, chopped cilantro, your choice of salsa verde or chile de árbol salsa, and a squeeze of lime.


    Notes

    Preparation

    • Skirt steak is more traditional for carne asada and tends to grill quickly with excellent flavor, though flank steak also works beautifully. Cutting on the bias gives each slice more surface area, enhancing tenderness and making the meat easier to layer into tacos.
    • If using the optional Mexican Coke, it adds caramelization and depth without making the marinade taste sweet.

    Serving Suggestions

    • Great with Mexican Rice, Refried Beans, or Lime-Pickled Red Onions.
    • Offer both salsas—verde for brightness, chile de árbol for heat.

    Variations

    • Add a pinch of smoked paprika for a subtle smoky note without overpowering the grill flavor.
    • Swap jalapeño for serrano for more heat.

    Make-Ahead & Storage

    • Marinade can be made 2–3 days in advance.
    • Leftover carne asada keeps 3 days refrigerated.
    • Reheat sliced steak briefly in a hot skillet to avoid drying out.
  • 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.
  • 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.
  • Steak Doneness & Target Temperature Guide

    Steak Temperatures: When to Remove Steaks From the Grill

    Doneness Level Remove From Heat At Rested Target Temp
    Rare 118°F (48°C) 120°F (50°C)
    Medium Rare 125°F (52°C) 130°F (55°C)
    Medium 135°F (58°C) 140°F (60°C)
    Medium Well 144°F (62°C) 150°F (65°C)
    Well Done 154°F (68°C) 160°F (70°C)