Bags of Spices

Favorite Recipes

Asian

Authentic and Asian-inspired dishes — bold flavors, aromatic broths, noodles, stir-fries, curries, and street-food favorites.

  • 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.
  • Naan

    Naan

    Soft, fluffy, and beautifully blistered, this homemade naan rivals restaurant versions—without the need for a tandoor. Enriched with yogurt for tenderness and cooked quickly on a hot skillet or pizza steel, it’s perfect for scooping up curries, daal, or creamy saag paneer.


    Ingredients

    • ¾ cup warm water (about 110°F / 43°C)
    • 2¼ tsp (1 packet) active dry yeast
    • 1 tsp sugar
    • ⅓ cup whole milk plain yogurt
    • 2 tbsp neutral oil (avocado, canola, sunflower, or vegetable)
    • 1 tbsp milk or melted butter (optional)
    • ⅛ tsp baking powder (optional)
    • 1 tsp salt
    • 2–2½ cups all-purpose flour, plus more for dusting
    • Optional Toppings

    • Melted ghee or butter, for brushing
    • Chopped cilantro, garlic, or nigella seeds

    Directions

    Prepare the Dough

    In a large bowl, combine warm water, yeast, and sugar; stir and let sit 5–10 minutes, until foamy.

    Add yogurt, oil, milk or melted butter (if using), baking powder (if using), and salt. Mix in about 2 cups flour (starting with 1¾ cups and adding more as needed) until a soft, slightly sticky dough forms. Knead 6–8 minutes by hand or 5 minutes in a stand mixer, until smooth and elastic.

    Place dough in a lightly oiled bowl, cover, and let rise in a warm spot 1–2 hours, or until doubled in size.

    Shape the Naan

    Punch down dough. Divide into 8 equal pieces and shape into balls. Cover and rest 10 minutes.

    Roll each ball into a teardrop or oval about ¼-inch thick, dusting with flour as needed to prevent sticking.

    Cook the Naan

    Heat a cast-iron skillet or heavy nonstick pan over medium-high heat until very hot. Place one rolled naan in the dry skillet.

    Cook for 45–60 seconds, until bubbles form and golden brown spots appear. Flip and cook the other side 30–45 seconds. Optional: Flip once more and press gently with a spatula to encourage blistering.

    Repeat with remaining dough, adjusting heat as needed. Brush hot naan with melted butter or ghee and sprinkle with toppings if desired.

    Oven or Pizza Steel Option

    For a tandoor-style finish, place rolled dough on a preheated pizza steel in a 500°F (260°C) oven and bake ~90 seconds until bubbles form and brown spots appear. Flip and cook on the other side for 30-60 seconds. Brush immediately with ghee or butter after removing from the oven.


    Notes

    Preparation

    • Adding 1 tbsp milk or melted butter to the dough enhances softness and browning.
    • A pinch (⅛–¼ tsp) of baking powder can help naan puff more evenly on the stovetop.
    • Lightly misting the skillet or dough with water before cooking adds steam for tenderness.
    • Keep cooked naan warm in a towel-lined bowl or low oven (175°F) until serving.

    Serving Suggestions

    • Serve warm with curries, daal, Saag Paneer, or kebabs.
    • Brush with garlic butter and cilantro for restaurant-style garlic naan.
    • Use as a wrap for butter chicken or other saucy entrées.

    Variations

    • Garlic–Cilantro Naan: Brush rolled dough with garlic butter, sprinkle with chopped cilantro, then cook as usual.
    • Cheese-Stuffed Naan: Seal 2–3 tbsp grated cheese (paneer, mozzarella, or cheddar mix) inside each ball before rolling out.
    • Whole Wheat Naan: Substitute up to 50% white whole wheat flour and add 1–2 tsp extra water as needed.
    • Chilli–Herb Naan: Add ½ tsp crushed red pepper and 1 tbsp chopped herbs (cilantro, mint, or parsley) to dough.
    • Sweet Coconut Naan: Add 1 tbsp sugar to dough and fill with coconut, nuts, and a touch of cardamom.
    • Sesame or Nigella Seed Naan: Brush surface lightly with water, sprinkle seeds, and press gently before cooking.

    Make-Ahead & Storage

    • Refrigerate dough up to 24 hours; bring to room temperature before rolling.
    • Cooked naan can be frozen up to 1 month. Reheat in a 350°F oven for 5–7 minutes or on a hot skillet until warm and soft.
    • Brush with fresh ghee or butter just before serving for best flavor.
  • Saag Paneer

    Saag Paneer

    This Saag Paneer brings together tender spinach, fragrant spices, and creamy homemade paneer for a comforting and authentic Indian dish. The rich, spiced sauce is balanced by yogurt, cream, and cashews, creating a luxurious texture and deep flavor. It’s perfect with warm basmati rice or naan, and can also be made with chicken, lamb, or beef for a hearty variation.


    Ingredients

    • 1 recipe homemade paneer (or 1 pkg 10–16 oz pre-made paneer)
    • 1 pkg (10 oz) fresh baby spinach, rinsed
    • 1 lb frozen spinach, thawed and squeezed dry
    • 3 tbsp butter
    • 1 tsp cumin seeds
    • 1 medium onion, finely chopped
    • 3–4 garlic cloves, minced
    • 1½ tsp grated fresh ginger
    • 1 serrano chile, stemmed, seeded, and minced
    • 1 tsp ground coriander
    • 1 tsp paprika
    • ½ tsp turmeric
    • ½ tsp ground cardamom
    • ¼ tsp ground cinnamon
    • 1 can (14.5 oz) diced tomatoes, drained
    • ½ cup roasted cashews, divided (blend half for creaminess, keep half chopped for texture)
    • ½ cup water
    • ½ cup plain whole-milk yogurt
    • ½ cup whole milk
    • ½ tsp garam masala (added at the end)
    • 1–2 tsp dried fenugreek leaves (kasoori methi), crumbled
    • 2 tbsp heavy cream (to finish)
    • 3 tbsp chopped fresh cilantro
    • 2 tsp salt (to taste)
    • ½ tsp pepper (to taste)
    • Additional Protein (Optional)

    • 1 lb boneless, skinless chicken thighs or breasts; lamb shoulder or leg; or beef chuck (can replace or complement paneer)

    Directions

    Prepare the Spinach

    Bring a large pot of salted water to a boil. Add fresh spinach and cook until just wilted, about 30 seconds. Drain, rinse with cold water, and squeeze out excess moisture. Roughly chop and set aside. Squeeze thawed frozen spinach to remove excess water and combine with the fresh spinach.

    Build the Base

    In a large skillet or saucepan, melt butter over medium heat. Add cumin seeds and toast for about 30 seconds until fragrant. Add onion and cook until softened and golden, 6–8 minutes. Stir in garlic, ginger, chile, coriander, paprika, turmeric, cardamom, and cinnamon; cook 30–60 seconds until aromatic.

    Add tomatoes and cook, stirring occasionally, until most of the moisture evaporates and the mixture thickens slightly, about 5–7 minutes. Stir in spinach, half of the blended cashews, and ½ cup water. Simmer uncovered 5–10 minutes, until spinach is tender and cohesive. Remove from heat.

    Blend and Enrich

    Using an immersion blender, purée the mixture directly in the pan until mostly smooth, leaving some texture. Stir in yogurt and milk. Return to low heat and simmer gently 5–10 minutes until thickened and creamy, without boiling. Adjust consistency with a splash of milk or water if needed.

    Stir in remaining chopped cashews, garam masala, fenugreek leaves, cilantro, and heavy cream. Season to taste with salt and pepper.

    Prepare the Paneer

    Cut chilled paneer into bite-sized cubes. Pan-fry in a little butter or oil until golden, if desired. Reserve a few pieces for garnish. Gently fold remaining paneer into the sauce and warm through, about 2–3 minutes.

    Optional Additional Protein

    For added variety, substitute or combine paneer with cooked chicken, lamb, or beef. Follow these guidelines:

    • Chicken: Sear 1 lb boneless thighs or breasts in oil until golden and cooked through (165°F). Optionally marinate in yogurt, lemon juice, garlic, ginger, and garam masala for 30+ minutes beforehand.
    • Beef: Brown 1 lb stewing beef (chuck) in oil, then simmer in water or broth until tender, 1–1½ hours.
    • Lamb: Sear 1 lb shoulder or leg cubes in oil, then braise 1½–2 hours in broth with garlic and ginger until fork-tender. Stir a little braising liquid into the sauce for extra flavor.

    Serve

    Serve hot with basmati rice or naan. Garnish with reserved paneer, cashews, cilantro, and a drizzle of cream, if desired.


    Notes

    Preparation

    • Use all fresh or all frozen spinach if preferred; total weight should be 1½–2 lbs.
    • Do not boil after adding yogurt or milk to prevent curdling.
    • Paneer can be pan-fried or used directly; frying adds a richer texture and flavor.

    Serving Suggestions

    • Serve with basmati rice, naan, or chapati for a complete meal.
    • Pair with homemade paneer for the freshest flavor and best texture.
    • For a full Indian dinner, accompany with cucumber raita or mango chutney.

    Variations

    • Add ¼ cup heavy cream or coconut cream for a richer sauce.
    • For a vegan version, replace paneer with firm tofu and substitute coconut milk for dairy.

    Make-Ahead & Storage

    • Refrigerate leftovers up to 4 days in an airtight container.
    • Freeze up to 2 months; thaw overnight in the refrigerator before reheating.
    • Reheat gently over low heat, adding a splash of milk or water to restore consistency.
  • Paneer

    Paneer

    This traditional homemade paneer is soft, creamy, and fresh with a delicate balance of sweetness and acidity. Made simply from milk, lemon juice, and salt, it forms the foundation of countless Indian dishes—from rich curries like saag paneer to grilled kebabs or golden pan-fried cubes. The process is simple, yielding pure, fresh cheese with a texture you can’t find in store-bought versions.


    Ingredients

    • 1 gallon whole milk (not ultra-pasteurized)
    • ¼ cup lemon juice (plus 1–2 tbsp extra, if needed)
    • 1 tbsp salt

    Directions

    Prepare the Strainer

    Line a fine-mesh strainer or colander with four layers of cheesecloth or a clean cotton kitchen towel. Set the strainer over a large bowl or in the sink to catch the whey.

    Heat and Curdle the Milk

    Pour milk into a large, heavy-bottomed pot over medium-high heat, stirring occasionally to prevent scorching. When warm, add salt and continue heating until the milk comes to a gentle boil. Reduce heat to low.

    Slowly drizzle in lemon juice, 1 tbsp at a time, while gently stirring in a slow figure-eight motion. Within 10–30 seconds, curds should begin separating from the whey. If separation doesn’t occur after 2–3 tbsp, add 1–2 tbsp more until the whey runs mostly clear.

    Drain and Rinse the Curds

    Once curdled, carefully pour the mixture into the prepared strainer. Let drain 5–10 minutes to remove excess whey. Rinse the curds gently under cool running water for a few seconds to remove residual lemon flavor and acidity, taking care not to break up the curds.

    Shape and Press

    Gather the corners of the cheesecloth into a bundle and twist to squeeze out additional liquid. Flatten the cloth-wrapped bundle into a disc about 1 inch thick and place it on a plate or cutting board. Set a heavy weight—such as a pot filled with water or canned goods—on top and press for 30–45 minutes, or until firm and sliceable.

    Chill and Store

    Unwrap the paneer and refrigerate for at least 1 hour before cutting. Store in an airtight container for 3–4 days.


    Notes

    Preparation

    • Paneer can also be formed using a paneer or tofu press; compress 30–45 minutes, or until firm and sliceable.
    • Rinsing the curds lightly improves flavor and keeps the texture tender.
    • Whole milk is essential for rich, creamy paneer; low-fat milk yields drier results.

    Serving Suggestions

    • Cube and fry until golden for dishes like saag paneer or matar paneer.
    • Grill or skewer with vegetables for paneer tikka.
    • Crumble into curries or use as a filling for samosas or wraps.

    Make-Ahead & Storage

    • Refrigerate up to 4 days in an airtight container.
    • Freeze up to 2 months; thaw overnight in the refrigerator before using.
    • Once thawed, pat dry before pan-frying or grilling.
  • 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.
  • Korean Pulled-Pork Tacos

    Korean Pulled-Pork Tacos

    Inspired by the flavors of Korean bulgogi and Mexican street tacos, this fusion dish brings together tender sous-vide pork shoulder marinated in a sweet-savory Korean-style sauce, then shredded, crisped, and served in warm tortillas with fresh toppings. The result is rich umami, bright acidity, and a touch of heat—echoing the street-food creativity that made Korean tacos famous. It’s also fast becoming one of our family’s most requested Sunday dinners, especially when served with cilantro lime rice made with a hint of coconut milk. Around our table, there’s still a friendly debate over which is better—corn tortillas for their texture, or soft flour tortillas that soak up every drop of sauce.


    Ingredients

    • 3 lb boneless pork shoulder, trimmed of excess fat and silver skin

    Marinade:

    • ⅓ cup sugar
    • 2 tsp ajinomoto (optional)
    • 4 tsp onion powder
    • 1 tsp black pepper
    • 2 tbsp garlic, finely chopped
    • 4 tsp sambal oelek
    • 3 tbsp sesame oil
    • ⅔ cup mirin
    • ½ cup soy sauce
    • 1–1½ tsp liquid smoke

    Finishing Brush:

    • ½ cup reserved marinade + ½ cup honey

    Creamy Drizzle:

    • ¼ cup reserved marinade base
    • 1 cup Greek yogurt
    • 2–3 tbsp fresh lime juice (adjust to taste)
    • 1 tsp gochujang or extra sambal (optional)
    • or substitute Cilantro Lime Crema

    Pickled Cucumber (and Optional Daikon):

    • 1 medium cucumber (or cucumber + daikon/radish), thinly sliced
    • 2 tbsp rice vinegar
    • 1 tsp sugar
    • ¼ tsp table salt
    • ½ tsp sesame oil

    Sriracha Slaw:

    • 2 cups shredded cabbage (green or mixed)
    • 1 cup shredded carrot
    • 2 tbsp lime juice
    • 1 tbsp sesame oil
    • 2–3 tbsp sriracha (to taste)
    • 2 tsp sugar (to taste)
    • ½ tsp ajinomoto (optional)
    • salt, to taste

    To Serve:

    • Corn or Flour tortillas (8–10, warmed)
    • Chopped fresh cilantro
    • Toasted sesame seeds
    • Diced raw onion
    • Lime wedges

    Directions

    Marinate the Pork

    Mix all marinade ingredients. Reserve ¾ cup of the mixture: ½ cup for the finishing brush, ¼ cup for the creamy drizzle. Add the remaining marinade to the pork in a sealed bag. Refrigerate 8–12 hours.

    Sous-Vide the Pork

    Heat sous-vide bath to 165°F (74°C). Cook sealed pork 18–24 hours. This produces a tender, shreddable texture.

    Make the Pickled Cucumber

    Combine cucumber with vinegar, sugar, salt, and sesame oil. Rest 10–15 minutes; drain lightly.

    Make the Sriracha Slaw

    Toss cabbage and carrot with lime juice, sesame oil, sriracha, and salt.

    Make the Creamy Drizzle

    Whisk ¼ cup reserved marinade with yogurt, lime juice, and optional gochujang or sambal.

    Shred and Crisp the Pork

    Remove pork and reserve cooking juices. Shred pork. Spread on sheet pan and brush with the finishing mixture. Broil until edges crisp. Drizzle ⅓–½ cup of the reserved cooking juices over pork to keep it moist.

    Assemble the Tacos

    Warm tortillas. Layer pork, pickled cucumber, and slaw. Top with the creamy drizzle (or Cilantro Lime Crema). Garnish with cilantro, sesame seeds, onion, and lime.


    Notes

    Preparation

    • Use evenly sized pork pieces for consistent sous-vide cooking.
    • Reserved cooking juices add essential moisture and depth.
    • Monitor broiling closely—honey burns fast.

    Serving Suggestions

    • Serve with cilantro-lime rice, sliced avocado, cabbage slaw, pickled onions, and sprinkled with sesame seeds.
    • Substitute Cilantro Lime Crema for the creamy drizzle, or as another flavorful addition—the combination of both sauces is delicious.
    • A squeeze of fresh lime brightens the flavors.

    Variations

    • Swap pork shoulder for boneless beef short ribs.
    • Use corn tortillas for a lighter street-taco style.
    • Increase sambal or gochujang for extra heat.

    Make-Ahead & Storage

    • Sous-vide pork can be made 1 day ahead; chill in ice bath before refrigerating.
    • Store shredded pork with 2–3 tbsp cooking juices; refrigerate 3–4 days or freeze 2–3 months.
    • Briefly re-broil to restore crisp edges 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.
  • Char Siu

    Char Siu

    With 60 first cousins on just the Huggins side, family parties are rarely small. It isn’t unusual to have 40 to 75 guests for dinner at our get-togethers. Cooking for that many people forces a bit of food-preparation creativity, and this char siu takes advantage of sous-vide precision to simplify the process. For a more traditional method, the pork can also be cooked and basted over a hot charcoal grill for deep, smoky flavor.


    Ingredients

    • 3–4 lbs pork shoulder, cut into 3–4 long strips, about 2 inches thick (see Notes for pork belly option)
    • Marinade:

    • ¾ cup soy sauce
    • ½ cup hoisin sauce
    • ½ cup Shaoxing wine (or dry sherry)
    • ½ cup rock sugar, crushed (or ¼ cup rock sugar + ¼ cup white sugar)
    • 2 tbsp oyster sauce (optional, adds depth)
    • 2 tbsp grated fresh ginger
    • 4 garlic cloves, minced
    • 1 tsp toasted sesame oil
    • 1 tsp Chinese five-spice powder
    • ½ tsp ground white pepper
    • ⅛ tsp pink curing salt #1 (optional, for rosy interior)
    • 3–5 drops red food coloring (optional, classic look)
    • Glaze:

    • 1 cup reserved marinade, strained
    • ¼–⅓ cup honey

    Directions

    Marinate the Pork

    Whisk together all marinade ingredients except the curing salt and honey. Reserve 1 cup of marinade, strain, and refrigerate for the glaze.

    Add curing salt to the remaining marinade. Place pork strips in vacuum-seal bags or heavy zipper bags and add the marinade. Seal and refrigerate at least 8–12 hours, up to 24 hours.

    For best flavor and color penetration, turn the bags occasionally during marinating.

    Sous-Vide Cook

    Preheat the sous-vide water bath to 65°C (149°F). Submerge the sealed pork and cook for 12–16 hours.

    When done, remove the pork and transfer to a rack set over a sheet pan. Pat dry gently.

    Prepare the Glaze

    In a small saucepan, combine the reserved marinade with honey. Simmer over medium heat until reduced by about half and syrupy. Keep warm.

    Dry and Broil

    Let the pork rest uncovered on the rack for 15–20 minutes so the surface becomes slightly tacky. This helps the glaze adhere during broiling.

    Preheat your broiler (or charcoal grill) to very hot. Brush the pork with glaze and broil 6–8 minutes total, turning and re-glazing every 1–2 minutes until lacquered with caramelized edges and light char.

    Keep pork about 6 inches from the broiler to prevent burning. Final internal temperature should be approximately 68–70°C (155–158°F), though the meat is already fully cooked from the sous-vide process.

    Rest and Serve

    Let pork rest 5 minutes, then slice into thick pieces. Drizzle with warm glaze before serving.


    Notes

    Preparation

    • Crushing rock sugar before measuring ensures accurate sweetness and easier dissolving.
    • Optional curing salt deepens the rosy color but does not affect flavor.
    • Turning the pork during marinating promotes even seasoning and color.

    Serving Suggestions

    • Serve over steamed jasmine rice or noodles.
    • Pair with pickled cucumbers or a crisp slaw to balance richness.
    • Excellent in bao buns or sliced thinly for Fried Rice with Shrimp & Char Siu.

    Variations

    • Pork Belly Version: Remove skin, cut into 1½–2-inch strips, reduce sugar to ⅓ cup total, sous-vide at 70°C (158°F) for 10–12 hours, broil from 8 inches away, glazing every minute.
    • Grill Instead of Broil: Cook over hot charcoal, glazing and turning every 1–2 minutes until lacquered.
    • Extra Caramelization: Increase honey in the glaze up to ½ cup for a deeper lacquer.

    Make-Ahead & Storage

    • Pork can be marinated up to 24 hours in advance.
    • Sous-vide cooked pork can be chilled in the sealed bags up to 48 hours before finishing.
    • Leftovers keep 3–4 days refrigerated; broil briefly to refresh the glaze.
  • Mango Lassi

    Mango Lassi

    Bright, creamy, and refreshing, this mango lassi captures the flavor of café-style versions found across India. Using rich yogurt, fragrant Alphonso mango pulp, and a touch of cardamom, it’s a perfectly balanced blend of sweet, tangy, and tropical—wonderful on its own or as a cooling companion to spicy dishes.


    Ingredients

    • 2 cups Alphonso or Kesar mango pulp (fresh or canned)
    • 2 cups mango chunks (fresh or thawed frozen)
    • 2½ cups full-fat plain yogurt
    • 1 to 1½ cups whole milk (adjust for consistency)
    • 3 to 4 tbsp sugar, honey, or mango syrup (to taste)
    • 2½ tsp fresh lime or lemon juice
    • ¼ tsp freshly ground green cardamom
    • ⅛ tsp salt
    • 1–2 tbsp sweetened condensed milk (optional, for creamier texture)
    • ⅛ tsp saffron threads, soaked in 1 tbsp warm milk (optional)
    • Garnish

    • Crushed pistachios
    • Mint chiffonade

    Directions

    Blend the Lassi

    In a blender, combine mango pulp, mango chunks, yogurt, 1 cup milk, 3 tbsp sugar or honey, lime or lemon juice, cardamom, salt, and any optional saffron or condensed milk.

    Blend until silky smooth and creamy.

    Adjust Consistency and Flavor

    Taste and adjust as desired: add more milk or cold water for a thinner consistency, or more yogurt or pulp for richness. Sweeten further to taste, and add a bit more lime juice if a brighter flavor is preferred.

    Chill and Serve

    Refrigerate for at least 30 minutes before serving, or blend with ice for a smoothie-like texture. Pour into glasses and garnish with crushed pistachios and mint.


    Notes

    Preparation

    • For the most fragrant flavor, use Alphonso or Kesar mango pulp (fresh or canned from an Indian grocery).
    • If using frozen mango, thaw partially or soak briefly in milk before blending for a smoother texture.
    • Sweetened condensed milk enhances creaminess and blends beautifully with the yogurt base.
    • A few saffron threads soaked in warm milk add delicate aroma and golden color.

    Serving Suggestions

    • Serve well chilled alongside spicy curries, tandoori dishes, or biryani.
    • Top with a dusting of ground cardamom or drizzle of mango syrup for extra indulgence.
    • For a vegan version, substitute coconut yogurt and coconut milk for a tropical variation.

    Variations

    • Blend in ½ banana for extra body and mild sweetness.
    • Add 2–3 tbsp shredded coconut for texture and flavor depth.
    • Stir in a spoonful of rosewater for a floral twist reminiscent of Indian dessert shops.
  • Bua Loy Nam Khing

    Bua Loy Nam Khing

    This comforting Thai dessert pairs soft, chewy sesame glutinous balls with a fragrant, mildly spicy ginger syrup. Served warm, it is soothing, aromatic, and especially welcome on cool evenings or after a rich meal. The ginger broth is simple but deeply flavorful, highlighting the contrast between the syrup’s warmth and the tender, nutty rice balls.


    Ingredients

      Sesame Glutinous Balls:

    • 1 recipe Sesame Glutinous Balls, prepared (or one 15-count package frozen sesame glutinous balls)
    • Ginger Syrup:

    • 7 cups (1650 ml) water
    • 2 cups (400 g) packed brown sugar (or use half brown sugar, half palm sugar for a more traditional flavor)
    • ¼ tsp table salt
    • 4 inches (10 cm) fresh ginger, peeled, sliced into coins, and lightly bruised
    • Garnish:

    • 1–2 tsp toasted sesame seeds

    Directions

    Make the Ginger Syrup

    In a medium pot, bring the water to a boil. Add the sugars and salt, stirring until dissolved. Reduce heat to a gentle simmer, then add the bruised ginger slices. Simmer 15–25 minutes until the syrup becomes fragrant, slightly spicy, and a deep amber color. Taste and adjust for strength; simmer longer for stronger ginger flavor.

    Finish the Dessert

    Remove from heat and strain out the ginger slices. Add the prepared sesame glutinous balls to the warm syrup and allow them to heat through for 2–3 minutes.

    Serve

    Ladle the warm syrup and glutinous balls into small bowls. Sprinkle with toasted sesame seeds and serve immediately.


    Notes

    Preparation

    • Palm sugar deepens the flavor and gives the syrup a more traditional Thai character.
    • Lightly bruising the ginger releases more flavor without overpowering the syrup.
    • If using frozen sesame balls, boil them until they float before adding to the syrup.

    Serving Suggestions

    • Add a splash of coconut milk for a creamy variation.
    • Serve with extra toasted sesame seeds for added aroma.
    • Pair with fresh fruit like sliced pear or steamed pumpkin for contrast.

    Make-Ahead & Storage

    • Ginger syrup keeps up to 5 days refrigerated.
    • Store glutinous balls separately to maintain texture.
    • Rewarm syrup gently; add balls immediately before serving.
  • Tom Kha–Style Soup with Meatballs & Rice

    Tom Kha–Style Soup with Meatballs & Rice

    This comforting Thai-style soup bridges the gap between Tom Kha Gai and Khao Tom. Like Tom Kha Gai, it features fragrant aromatics—lemongrass, galangal, and kaffir lime leaves—for the signature balance of tangy, savory, and lightly sweet flavors. But instead of a coconut-rich broth, it leans toward the clear, soothing style of Khao Tom, with tender pork (or pork-and-chicken) meatballs and a small scoop of rice added just before serving. The result is a light yet aromatic soup that feels familiar and refreshingly different.


    Ingredients

    Meatballs:

    • ¾ lb (340 g) ground pork
    • ¼ lb (115 g) ground chicken (or use all pork)
    • 1 tbsp chili-garlic sauce (garlic sambal oelek)
    • 1 tsp fresh ginger or galangal, finely grated
    • 1 tbsp fish sauce
    • 1 tsp white pepper (or black pepper)
    • ½ tsp table salt
    • 1 tsp cornstarch (optional — improves springy texture)
    • 1 tbsp finely chopped cilantro stems or scallion whites (optional)

    Soup Base:

    • 1 tbsp neutral oil (vegetable, canola, or peanut; or lard)
    • 3 large shallots, halved and thinly sliced
    • 2 stalks lemongrass, white parts only, bruised and halved
    • 3 slices fresh galangal (or 1½ tsp thin-sliced ginger)
    • 1 tbsp fresh ginger, grated
    • 3 kaffir lime leaves, torn in half
    • 3–4 cloves garlic, smashed
    • 1–2 small Thai chiles, lightly crushed (optional)
    • 6 cups (1.4 L) chicken stock or light broth
    • 1 tbsp fish sauce (to taste)
    • 1 tsp palm sugar or light brown sugar
    • 1–2 tsp soy sauce (optional, for depth)
    • ½ cup fresh cilantro, chopped (added at the end)
    • juice of 1 lime (1½–2 tbsp, added at the end)
    • optional: ¼–½ cup coconut milk, for a lightly creamy finish
    • 1 cup cooked jasmine rice, warmed (added to bowl before serving)

    Garnishes:

    • 1–2 tsp coconut cream from the top of an undisturbed can (optional)
    • fresh cilantro leaves
    • thinly sliced scallions
    • fried shallots or garlic
    • soft-, medium-, or hard-boiled eggs, halved
    • lime wedges
    • thinly sliced red chiles or chile oil (optional)

    Directions

    Prepare the Meatballs

    In a medium bowl, combine pork, chicken, chili-garlic sauce, ginger, fish sauce, white pepper, salt, cornstarch (if using), and cilantro stems or scallion whites. Mix gently until combined but not sticky. Roll into small ¾–1 inch balls.

    Build the Aromatic Broth

    Heat oil in a large saucepan over medium. Add shallots and sauté until golden. Add lemongrass, galangal, kaffir lime leaves, garlic, and chiles. Stir until fragrant, then add chicken broth. Simmer 15 minutes to infuse.

    Cook the Meatballs

    Remove lemongrass. Add meatballs and simmer 5–6 minutes until cooked through. Skim any foam.

    Season & Finish

    Add fish sauce, palm sugar, soy sauce, and cilantro. Adjust seasoning. Remove from heat and stir in lime juice.

    Assemble the Bowls

    Place ¼–½ cup warm jasmine rice in each bowl. Ladle soup and meatballs over top. Garnish with coconut cream, cilantro, scallions, fried shallots, sliced chiles, and lime.


    Notes

    Preparation

    • Sautéing shallots first adds sweetness and depth.
    • Use both galangal and kaffir lime leaves if possible for true Tom Kha flavor.
    • For a creamier finish, stir in coconut milk at the end.
    • For porridge-like consistency, simmer a small amount of rice in the broth before serving.

    Serving Suggestions

    • Top generously with fried shallots or garlic.
    • Add soft- or medium-boiled eggs for a heartier meal.
    • Serve with lime wedges for brightness.

    Make-Ahead & Storage

    • Meatballs can be formed 24 hours ahead and refrigerated.
    • Broth can be made ahead and reheated, adding herbs and lime at the end.
    • Stores 2–3 days; keep rice separate to avoid mushiness.