Skip to content
Zaffaron

Ash-e Jaafari (آش جعفری) — Persian Parsley Meatball Soup

Ash-e Jaafari is a comforting Persian soup with tiny “sparrow-head” meatballs, a clear golden broth, and a fragrant parsley-butter finish. Gouda adds a gentle, nutty richness to the tender meatballs.

By Zaffaron Kitchen· Published March 16, 2026 Verified Recipe
Gluten-Free Nut-Free Halal
Contains: dairy, eggs
100 min total Prep 45m · Cook 55m 6 servings 330 cal ~$3.2/serving
↓ Jump to Recipe
Ash-e Jaafari — Persian Parsley Meatball Soup - authentic persian recipe

Printable Recipe Card

Servings: 6 · Total: 100 min · Difficulty: medium

Ingredients (quick list)

  • 120 g Fresh parsley leaves (finely chopped; stems reserved for broth)
  • 60 g Unsalted butter (divided)
  • 200 g Yellow onion (1 large; finely grated)
  • 350 g Ground beef (80–85% lean)
  • 150 g Ground lamb (adds traditional richness; can use all beef)
  • 80 g Gouda cheese (finely grated (use a mild, nutty Gouda))
  • 1 large Egg (helps bind the small meatballs)
  • 10 g Fine sea salt (about 1 3/4 tsp, divided)
  • 2 g Black pepper (about 1 tsp, divided)
  • 2 g Ground turmeric (about 1 tsp)
  • 12 g Garlic (3 cloves, finely grated)
  • 1500 ml Chicken broth (low-sodium; or use beef broth)

+ 4 more in the full ingredients section below.

Steps (summary)

  1. Prepare the parsley: pick leaves and finely chop to yield about 120 g. Keep a small handful (about 20 g) aside for a fresher fi…
  2. Make the meatball mixture: in a bowl, combine grated onion, ground beef, ground lamb, grated Gouda, egg, 6 g salt, and 1 g blac…
  3. Shape “sparrow-head” meatballs: lightly wet your fingertips and roll the mixture into very small balls, about 2 cm wide (roughl…
  4. Build a golden broth: in a pot, melt 20 g of the butter over medium heat. Add garlic and turmeric and cook 45–60 seconds until…
  5. Cook the meatballs gently: reduce heat to low so the liquid barely bubbles (about 90–95°C / 195–203°F). Slide in meatballs a fe…
  6. Finish with parsley-butter: in a small pan, melt the remaining 40 g butter over medium-low heat. Add 100 g of the chopped parsl…

+ 1 more steps in the full instructions section below.

Cultural Background

Herb-based soups are a staple of Iranian home cooking, often served as warming, restorative meals during cooler months. This parsley-forward version highlights the Persian preference for fresh herbs and gentle, balanced seasoning, with small meatballs reflecting a tradition of careful, family-style preparation.

savorybutteryherbalbrightclear brothtender small meatballssilky butter finishfresh parsleyturmeric warmthgarlic🌶 mild

Equipment

Large pot or Dutch oven (5–6 L)Mixing bowlBox grater or microplane (for onion, garlic, and cheese)Cutting board and knifeSmall skillet (for parsley-butter)LadleKitchen scale (recommended for accuracy)

💡 Tips

  • Keep the broth at a bare simmer; a hard boil can break small meatballs and cloud the soup.
  • Grate the onion finely and squeeze lightly if very watery; excess liquid can make the mixture too soft to roll.
  • For a cleaner, more aromatic finish, cook parsley in butter briefly—overcooking turns it dull and bitter.
  • If your Gouda is salty, reduce added salt by 1–2 g and adjust at the end.
  • Wet hands or lightly oil fingertips when rolling tiny meatballs to prevent sticking without adding flour.

⚠️ Common Mistakes

  • ❌ Boiling the soup vigorously after adding meatballs

    💡 Why: High heat can break small meatballs and emulsify fat into the broth, making it cloudy.

    ✅ Fix: Keep the liquid at a bare simmer (small bubbles), and stir gently only when necessary.

  • ❌ Overcooking parsley in butter

    💡 Why: Parsley can turn olive-colored and develop bitterness when cooked too long.

    ✅ Fix: Cook parsley 60–90 seconds just until fragrant and bright green, then add immediately to the pot.

  • ❌ Meatball mixture feels loose and won’t roll cleanly

    💡 Why: Watery onion or warm fat prevents the proteins from binding tightly.

    ✅ Fix: Squeeze grated onion lightly, mix until tacky, then chill 15 minutes before rolling.

  • ❌ Soup tastes flat even after salting

    💡 Why: Rich butter and meat need acidity to lift the flavors.

    ✅ Fix: Add lemon juice at the end, then rest 5 minutes and re-taste before adding more salt.

🧊 How to Store

Cool completely, then refrigerate in an airtight container up to 3 days. Reheat gently at a low simmer to avoid toughening meatballs; add a splash of water or broth if needed. Freeze up to 2 months; thaw overnight in the refrigerator and reheat slowly.

📅 Make Ahead

Roll meatballs up to 24 hours ahead and refrigerate on a covered tray. You can also make the broth base (without meatballs or parsley-butter) 2 days ahead; reheat to a simmer, then cook meatballs fresh and finish with parsley-butter right before serving.

🍽️ Pairs Well With

  • Warm flatbread or crusty bread
  • Fresh herb plate (mint
  • basil
  • radishes) if available
  • Pickled vegetables
  • A simple cucumber and tomato salad

Regional Variations

  • Tehran-style home kitchensOften kept very clear and light, with minimal vegetables and a strong parsley aroma; lemon juice is commonly used to brighten the finish.
  • Northwestern IranSometimes made with a richer meat mixture and slightly more butter, producing a fuller-bodied broth; some cooks use beef broth for deeper color and flavor.
family dinner cold-weather meals weekend cooking comfort food
#persian#soup#meatballs#herb-forward#comfort-food#gluten-free

Ingredients

  • 120 gFresh parsley leaves (finely chopped; stems reserved for broth)
  • 60 gUnsalted butter (divided)
  • 200 gYellow onion (1 large; finely grated)
  • 350 gGround beef (80–85% lean)
  • 150 gGround lamb (adds traditional richness; can use all beef)
  • 80 gGouda cheese (finely grated (use a mild, nutty Gouda))
  • 1 largeEgg (helps bind the small meatballs)
  • 10 gFine sea salt (about 1 3/4 tsp, divided)
  • 2 gBlack pepper (about 1 tsp, divided)
  • 2 gGround turmeric (about 1 tsp)
  • 12 gGarlic (3 cloves, finely grated)
  • 1500 mlChicken broth (low-sodium; or use beef broth)
  • 500 mlWater (to keep the broth clear and light)
  • 120 gCarrot (1 medium; cut into 5 mm dice)
  • 80 gCelery (1–2 stalks; cut into 5 mm dice)
  • 30 mlLemon juice (2 tbsp, to brighten at the end)

🔄 Substitutions

  • Ground lamb→ Additional ground beef (same weight)
  • Gouda cheese→ Low-moisture mozzarella or mild Edam (same weight)
  • Chicken broth→ Beef broth or vegetable broth

Instructions

  1. 1

    Prepare the parsley: pick leaves and finely chop to yield about 120 g. Keep a small handful (about 20 g) aside for a fresher final garnish, and reserve any tender stems to simmer in the broth for extra aroma. Keep parsley refrigerated while you form the meatballs.

  2. 2

    Make the meatball mixture: in a bowl, combine grated onion, ground beef, ground lamb, grated Gouda, egg, 6 g salt, and 1 g black pepper. Mix vigorously for 2–3 minutes until tacky and cohesive. Cover and chill 15 minutes so the fat firms up and the tiny meatballs hold their shape.

  3. 3

    Shape “sparrow-head” meatballs: lightly wet your fingertips and roll the mixture into very small balls, about 2 cm wide (roughly 8–10 g each). Place on a tray in a single layer. You should get about 55–65 meatballs; keep chilled while you start the broth.

  4. 4

    Build a golden broth: in a pot, melt 20 g of the butter over medium heat. Add garlic and turmeric and cook 45–60 seconds until fragrant (do not brown). Add diced carrot and celery and cook 3 minutes, stirring. Pour in chicken broth and water, add reserved parsley stems, and bring to a gentle simmer.

  5. 5

    Cook the meatballs gently: reduce heat to low so the liquid barely bubbles (about 90–95°C / 195–203°F). Slide in meatballs a few at a time, stirring very gently between additions to prevent sticking. Simmer 18–22 minutes until meatballs are cooked through and the broth stays clear.

  6. 6

    Finish with parsley-butter: in a small pan, melt the remaining 40 g butter over medium-low heat. Add 100 g of the chopped parsley and cook 60–90 seconds just until bright green and aromatic. Immediately scrape the parsley-butter into the soup, simmer 2 minutes, then season with remaining salt and pepper as needed.

  7. 7

    Balance and serve: remove parsley stems. Stir in lemon juice, then let the soup rest off heat for 5 minutes so flavors settle and fat rises slightly. Ladle into warm bowls, top with the reserved fresh parsley, and serve hot. If the soup thickens as it sits, loosen with 60–120 ml hot water.

🪪 Recipe Passport

Origin: Persian Cuisine
Researched by: Zaffaron Kitchen
Published: March 16, 2026

Cultural Background

Herb-based soups are a staple of Iranian home cooking, often served as warming, restorative meals during cooler months. This parsley-forward version highlights the Persian preference for fresh herbs and gentle, balanced seasoning, with small meatballs reflecting a tradition of careful, family-style preparation.

Regional Variations

Tehran-style home kitchens: Often kept very clear and light, with minimal vegetables and a strong parsley aroma; lemon juice is commonly used to brighten the finish.
Northwestern Iran: Sometimes made with a richer meat mixture and slightly more butter, producing a fuller-bodied broth; some cooks use beef broth for deeper color and flavor.

Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.

Share:

Nutrition per serving

330
Calories
22g
Protein
22g
Fat
11g
Carbs
2g
Fiber
780mg
Sodium

Pairs well with

If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.

Does your family make this differently?

Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.

You Might Also Like

Reviews

—
Rated 0.0 out of 5 stars
0 reviews

Cooked this recipe?

Tap the stars to rate it — that's all it takes. A few words are welcome but optional.

Please sign in to rate this recipe.
Rated 0.0 out of 5 stars

No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.