Bags of Spices

Favorite Recipes

Cooktop

Everyday stovetop meals — simmered, sautéed, and pan-cooked favorites ready for weeknights or family gatherings.

  • 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.
  • Tartar Sauce

    Tartar Sauce

    This creamy, tangy tartar sauce comes together in minutes and tastes far fresher than anything store-bought. Bright citrus, briny capers, and herbs make it a perfect companion for fried fish, crab cakes, or roasted vegetables.


    Ingredients

    • 1 cup mayonnaise
    • ½ cup dill relish
    • 1 tbsp capers, rinsed and chopped
    • 1 tbsp fresh parsley (or 1 tsp dried)
    • 1 small shallot, finely chopped (or ½ tsp onion powder)
    • 1 tbsp lemon or lime juice
    • 1 tsp lemon or lime zest
    • 2 tsp Worcestershire sauce
    • 1 tsp Dijon mustard
    • ¼ tsp Tapatío hot sauce
    • salt & pepper, to taste
    • Optional Add-Ins

    • 1 tbsp fresh tarragon (or 1 tsp dried)
    • ½ tbsp fresh dill (or ½ tsp dried)
    • 1 tsp honey
    • ¼ cup crème fraîche or sour cream

    Directions

    Mix the Sauce

    Whisk together all ingredients in a bowl until well combined.

    Chill for at least 1 hour before serving to let the flavors meld.


    Notes

    Preparation

    • Please taste and adjust acidity—add more citrus juice if serving with rich fried foods.
    • For a chunkier texture, use whole dill pickles and hand-chop them instead of relish.
    • Fresh herbs brighten the sauce significantly, but dried herbs still work well.

    Serving Suggestions

    • Serve with Beer Battered Halibut, fish sticks, crab cakes, or shrimp.
    • Use as a spread for fish sandwiches or grilled chicken.
    • Try as a dip for roasted potatoes or fries.

    Variations

    • Swap dill relish for chopped cornichons for a sharper, French-style flavor.
    • Add a pinch of smoked paprika for a subtle smoky note.
    • Fold in a spoonful of crème fraîche for a lighter, silkier version.

    Make-Ahead & Storage

    • Keeps 4–5 days in the refrigerator in an airtight container.
    • Stir before serving, as some separation is normal.
    • Not suitable for freezing due to the mayonnaise base.
  • 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.
  • Cilantro Lime Rice (Stovetop)

    Cilantro Lime Rice (Stovetop)

    Fluffy jasmine rice infused with fresh lime and cilantro—simple, bright, and perfectly balanced to complement tacos, grilled meats, or saucy dishes. A touch of butter enhances richness while the zest and juice keep every bite fresh and aromatic. Click here for the Instant Pot version of this recipe.


    Ingredients

    • 1 cup jasmine rice, rinsed and drained
    • 1 tbsp butter
    • 1½ cups chicken broth (or vegetable broth)
    • 1 clove garlic, minced (optional)
    • Zest of 1 lime
    • 1–1½ tbsp fresh lime juice (to taste)
    • ½ cup cilantro leaves, finely chopped
    • ⅛ tsp sugar (to round acidity)
    • Salt to taste

    Directions

    Toast the Rice

    In a saucepan or rice cooker insert, melt butter over medium heat. Add rice (and garlic, if using) and sauté 2–3 minutes until grains appear glossy and lightly golden.

    Cook the Rice

    Add broth and a generous pinch of salt. Stir once, bring to a simmer, then cover and reduce heat to low. Cook for 15 minutes, then remove from heat and let stand, covered, for 10 minutes to finish steaming.

    Finish with Lime and Cilantro

    In a small pan, warm lime zest with a few drops of butter until aromatic (optional but enhances flavor).

    Fluff rice gently with a fork and fold in lime zest, lime juice, cilantro, and sugar. Taste and adjust salt or lime as desired.

    Serve

    Serve warm as a side or base for tacos, grilled meats, or saucy dishes where a bright, citrusy accent balances richness.


    Notes

    Preparation

    • Rinse jasmine rice until water runs mostly clear to remove excess starch and keep grains fluffy.
    • Let cooked rice rest 10 minutes before fluffing to allow steam to redistribute for perfect texture.
    • Warming lime zest in butter releases aromatic oils and coats grains more evenly.
    • Adjust lime and salt balance at the end—rice should taste bright but not sharp.

    Serving Suggestions

    • Pairs beautifully with tacos, fajitas, or grilled seafood.
    • Excellent base for burrito bowls or enchilada platters.
    • Top with extra cilantro and a sprinkle of lime zest for presentation.

    Variations

    • Subtle Coconut Version: Replace ¼ cup of broth with ¼ cup unsweetened coconut milk (1¼ cups broth + ¼ cup coconut milk). Adds gentle creaminess and a faint coconut aroma while maintaining lime-cilantro brightness.
    • Coconut-Forward Version: Replace ½ cup of broth with ½ cup coconut milk (1 cup broth + ½ cup coconut milk). Creates a richer, tropical flavor—use 2 tbsp lime juice and season more assertively with salt.
    • Use coconut versions for fusion dishes like Korean Pulled Pork Tacos, jerk chicken, or grilled shrimp where a creamy contrast enhances spice and smoke.

    Make-Ahead & Storage

    • Cooked rice can be held warm for up to 30 minutes before adding lime and cilantro.
    • Refrigerate leftovers in an airtight container up to 3 days; reheat gently with a drizzle of broth or water to restore moisture.
    • Fresh cilantro and lime juice should always be added just before serving for best color and flavor.
  • 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.
  • Mushroom Bisque

    Mushroom Bisque

    A deeply savory, velvety mushroom bisque built on layers of browned mushrooms, aromatic garlic, gentle herbs, and a touch of sherry. A slow simmer develops richness without heaviness, while soy sauce adds depth and umami. Finished with a swirl of crema, it is earthy, comforting, and elegant—perfect for cool evenings or a refined first course.


    Ingredients

      Soup Base

    • 4 tbsp (55 g) unsalted butter, divided
    • 1 medium onion, finely diced
    • 2 lbs (900 g) mixed fresh mushrooms, sliced (see Notes)
    • 1 tsp table salt, plus more to taste
    • ¼ tsp freshly ground black pepper
    • 2–3 cloves garlic, finely chopped
    • 2 tbsp dry sherry (or more to taste)
    • 4 cups (950 ml) chicken stock, divided (or vegetable stock)
    • 3 tbsp (25 g) all-purpose flour
    • 1 cup (240 ml) half and half or light cream
    • 1 large bay leaf
    • ⅛ tsp dried thyme (or ¼ tsp fresh)
    • 1 tsp soy sauce (increased from ½ tsp for deeper umami)
    • ½–1 tsp sambal oelek (optional, for gentle heat)
    • Optional Enhancements

    • ½ oz dried porcini mushrooms, rehydrated and chopped, with soaking liquid strained
    • To Serve

    • Crema for drizzling (plain or flavored—see Notes)
    • Thyme sprigs, sautéed mushroom slices, or chives for garnish

    Directions

    Sauté the Aromatics and Mushrooms

    In a large saucepan or Dutch oven, melt 2 tbsp butter over medium heat. Add the onion and cook 3–4 minutes until softened. Add mushrooms, salt, and pepper. Cook 10–12 minutes, stirring occasionally, until mushrooms release their liquid and begin to brown. Add garlic and cook 1 minute until fragrant.

    Deglaze and Simmer

    Add sherry and cook 1 minute, scraping up browned bits. Add 3 cups chicken stock, bay leaf, thyme, soy sauce, and optional porcini mushrooms with their strained soaking liquid. Bring to a gentle simmer, cover, and cook 20 minutes to deepen flavor. Remove bay leaf.

    Prepare the Roux Base

    In a separate saucepan, melt remaining 2 tbsp butter over medium heat. Whisk in flour and cook 2–3 minutes until lightly golden. Slowly whisk in remaining 1 cup chicken stock, then the half and half, cooking until smooth and slightly thickened.

    Combine and Purée

    Add the mushroom mixture to the roux base. Purée with an immersion blender until smooth, or blend in batches. For a rustic texture, reserve 1 cup mushrooms before blending and stir them in afterward.

    Season and Finish

    Return soup to low heat. Add sambal oelek if using. Taste and adjust with salt, pepper, sherry, or soy sauce as desired. Simmer 5 minutes to meld flavors.

    Serve

    Ladle into bowls and finish with a light drizzle of crema. Garnish with sautéed mushrooms, thyme, or chives.


    Notes

    Preparation

    • Browning mushrooms before adding liquid deepens flavor significantly.
    • Use a mix of mushrooms for depth—cremini, shiitake, oyster, or button.
    • Porcini add a noticeable boost of umami; highly recommended.
    • Blend smooth for a classic bisque or leave some mushroom pieces for texture.
    • Simmering longer (rather than adding more flour) develops richness naturally.

    Serving Suggestions

    • Drizzle with crema to balance richness and add gentle tang.
    • For enhanced crema, whisk in a splash of sherry, white pepper, thyme oil, or a pinch of soy sauce.
    • Serve with crusty bread, garlic croutons, or a simple green salad.
    • Add a few sautéed mushrooms or a swirl of mushroom oil for presentation.

    Variations

    • Vegetarian: Use vegetable stock and a splash of soy sauce for depth.
    • Rustic Mushroom Soup: Blend only half the soup and keep the rest chunky.
    • Truffle Version: Finish with a few drops of truffle oil.

    Make-Ahead & Storage

    • Refrigerate up to 3 days; flavors deepen overnight.
    • Freeze without dairy addition; add half and half after reheating for best texture.
    • Rewarm gently over low heat to avoid separation.
  • Braised Fennel

    Braised Fennel

    This elegant side transforms fennel’s natural sweetness into something truly special. Lightly caramelized and gently braised with shallots, garlic, and white wine, the tender fennel is finished with butter, lemon zest, and fresh fennel fronds for a glossy, aromatic dish worthy of any restaurant table.


    Ingredients

    • 2–3 fennel bulbs, trimmed and quartered lengthwise (cores intact)
    • 2 tbsp olive oil or butter
    • 1 shallot, thinly sliced
    • 1 clove garlic, thinly sliced
    • ¼ cup dry white wine or 1 tbsp lemon juice
    • 1 cup chicken stock
    • ½ tsp honey (optional)
    • 1 tbsp butter (for finishing)
    • salt and freshly ground black pepper, to taste
    • zest of ½ lemon, for garnish
    • chopped fennel fronds or parsley, for garnish

    Directions

    Brown the Fennel

    In a large sauté pan, heat olive oil or butter over medium-high heat. Add fennel quarters cut-side down and cook until deeply golden on both cut sides, about 3–4 minutes per side. Remove and set aside.

    Build the Aromatic Base

    Add shallot and garlic to the pan; sauté 30 seconds, just until fragrant. Deglaze with white wine (or lemon juice), scraping up any browned bits.

    Braise

    Add chicken stock and honey, if using. Return fennel to the pan, cut-side up. Bring to a simmer, reduce heat to low, and cover. Braise gently for 15–20 minutes, turning once, until fennel is tender but still holds its shape.

    Glaze & Finish

    Remove the lid and simmer uncovered for 5–7 minutes more, allowing the liquid to reduce into a glossy glaze. Stir in butter off heat to finish the sauce and season with salt and pepper.

    Serve

    Transfer fennel to a serving dish and drizzle with the reduced pan juices. Garnish with lemon zest and chopped fennel fronds or parsley before serving.


    Notes

    Preparation

    • Proper browning is essential—golden edges enhance both flavor and appearance.
    • Use vegetable stock for a vegetarian version.
    • Finishing with butter gives the glaze a rich, silky texture.

    Serving Suggestions

    • Serve as a side with roasted chicken, fish, or creamy polenta.
    • For a richer presentation, finish with freshly grated Parmesan or a drizzle of aged balsamic.
    • Add a sprinkle of toasted breadcrumbs or flaky salt for texture.

    Make-Ahead & Storage

    • Can be braised up to 1 day ahead; cool and refrigerate in its cooking liquid.
    • Reheat gently over low heat, spooning juices over the fennel to re-glaze.
    • Best served warm, but can also be enjoyed at room temperature as part of an antipasto spread.
  • Browned Butter Sage Sauce

    Browned Butter Sage Sauce

    A quick, elegant sauce that pairs beautifully with ricotta or potato gnocchi. Simple to prepare, it highlights the nutty aroma of browned butter and the earthy perfume of fresh sage. When served with gnocchi, a pinch of nutmeg in the dough adds warm, slightly sweet notes that complement the savory depth of the sage. This classic combination appears throughout Italian cooking—in pasta, meatballs, gnocchi, and creamy soups—where sage contributes its herbaceous edge and nutmeg lends a subtle, cozy warmth.


    Ingredients

    • 6 tbsp unsalted butter (85 g)
    • 8–10 fresh sage leaves
    • ⅛ tsp table salt (or to taste)
    • freshly ground black pepper (to taste)
    • 2 tbsp grated parmesan (optional, for finishing)
    • ½ tsp lemon juice (optional, brightens flavor)

    Directions

    Brown the Butter

    In a medium skillet or saucepan, melt the butter over medium heat. Add the sage leaves and cook, swirling occasionally, until the butter turns deep golden and smells nutty, about 4–5 minutes. The sage will crisp slightly as it fries.


    Finish the Sauce

    Remove from heat and stir in salt, black pepper, and lemon juice if using. Serve the sage leaves whole or remove them depending on preference.


    Serve

    Toss hot, drained gnocchi directly in the pan with the brown butter sauce until evenly coated. Serve immediately with freshly grated parmesan.


    Notes

    Preparation

    • Watch closely—brown butter goes from nutty to burnt quickly. Remove from heat as soon as the milk solids turn golden.
    • Create a silkier sauce by swirling in 1–2 tbsp pasta or gnocchi cooking water to form a light emulsion.
    • For deeper sage flavor, crisp the leaves for an extra 30 seconds before removing the pan from heat.

    Serving Suggestions

    • Drizzle over ricotta gnocchi, potato gnocchi, or sweet potato gnocchi.
    • Excellent on cheese ravioli, butternut squash ravioli, or spinach ravioli.
    • Also delicious over roasted vegetables, grilled chicken, or sautéed mushrooms.

    Variations

    • Garlic Brown Butter: Add one lightly crushed garlic clove to the skillet during browning; remove before serving.
    • Brown Butter & Walnut: Stir in ¼ cup toasted chopped walnuts for added crunch.
    • Lemon-Sage Butter: Increase lemon juice to 1 tsp and add ½ tsp lemon zest for brightness.

    Make-Ahead & Storage

    • Best served immediately after browning.
    • Refrigerate leftover sauce up to 3 days; rewarm gently over low heat before serving.
    • Sage leaves soften in storage—crisp fresh leaves separately if reheating.