Skip to content
Zaffaron

Soup-e Jafari (سوپ جعفری) — Persian Parsley Meatball Soup

A clear, aromatic Persian parsley soup with tender Gouda-stuffed meatballs simmered in beef stock. Bright herbs, gentle spices, and buttery finish make it a comforting starter or light meal.

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

Printable Recipe Card

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

Ingredients (quick list)

  • 120 g Fresh parsley leaves and tender stems, finely chopped (About 3 packed cups; reserve 20 g for finishing)
  • 200 g Yellow onion, finely diced (About 1 large)
  • 30 g Unsalted butter (For sautéing and finishing)
  • 1500 ml Beef stock (Low-sodium preferred)
  • 250 ml Water (Adjust for desired clarity)
  • 120 g Carrot, small dice (About 1 medium)
  • 80 g Celery, small dice (About 1 large stalk)
  • 60 g Basmati rice (Rinsed until water runs mostly clear)
  • 8 g Sea salt (Plus more to taste depending on stock saltiness)
  • 1 tsp Black pepper, freshly ground (Divided)
  • 400 g Ground beef (85–90% lean) (Chilled)
  • 1 large Egg (Binder)

+ 3 more in the full ingredients section below.

Steps (summary)

  1. Prepare the meatball mixture: In a cold bowl, combine ground beef, egg, grated onion, breadcrumbs, sea salt, and black pepper.…
  2. Shape Gouda-stuffed meatballs: Divide the chilled mixture into 18 portions (about 28–30 g each). Flatten one portion in your pa…
  3. Build the parsley base: In a 4–5 liter pot, melt 20 g butter over medium heat. Add diced onion and cook 8–10 minutes, stirring,…
  4. Simmer the broth and rice: Pour in beef stock and water, then add 8 g sea salt and 1/2 tsp black pepper. Bring to a gentle boil…
  5. Poach the meatballs gently: Lower the heat so the soup barely simmers (small bubbles). Add meatballs one by one, spacing them o…
  6. Finish with butter and fresh parsley: Turn heat to low. Stir in the remaining 10 g butter and the reserved 20 g parsley. Simmer…

Cultural Background

Parsley-based soups are commonly prepared in Iranian home cooking as light, aromatic starters, especially in cooler months. This style highlights fresh herbs and a clear broth, often served before a larger meal to warm the table and stimulate appetite.

savorybutteryherb-forwardgently pepperyclear brothtender meatballsmelting cheese centersoft ricefresh parsleysweet onionbeefy broth🌶 mild

Equipment

4–5 liter heavy pot with lidChef’s knife and cutting boardBox graterMixing bowlMeasuring cups and spoonsKitchen scaleInstant-read thermometer (recommended)Fine-mesh skimmer (optional)

💡 Tips

  • Keep the soup at a gentle simmer; a hard boil can split meatballs and cloud the broth.
  • Chill the Gouda cubes so they stay centered and melt slowly rather than leaking out.
  • If your stock is salty, start with 4 g salt in the soup and adjust at the end.
  • For extra clarity, skim foam during the first 5 minutes after adding meatballs.
  • Chop parsley finely and add part of it at the end to preserve its fresh, green aroma.

⚠️ Common Mistakes

  • ❌ Boiling the soup vigorously after adding meatballs

    💡 Why: Strong agitation can break meatballs, cloud the broth, and push cheese out.

    ✅ Fix: Keep the pot at a bare simmer; add meatballs gently and avoid stirring for the first 5 minutes.

  • ❌ Overmixing the meatball mixture

    💡 Why: Excess mixing develops a tight texture, making meatballs dense and less tender.

    ✅ Fix: Mix only until cohesive (2–3 minutes), then chill before shaping.

  • ❌ Adding all parsley at the beginning

    💡 Why: Long simmering dulls parsley’s fresh flavor and turns it darker.

    ✅ Fix: Cook most parsley briefly in butter, then add a reserved portion at the end for brightness.

  • ❌ Not sealing the cheese well inside the meatballs

    💡 Why: Gaps allow melted cheese to leak into the broth and leave hollow centers.

    ✅ Fix: Flatten, center the cube, pinch seams closed firmly, and roll smooth; chill shaped meatballs before poaching.

🧊 How to Store

Cool quickly and refrigerate in an airtight container for up to 3 days. Reheat gently at a bare simmer to avoid tough meatballs and excessive cheese leakage. Freeze up to 2 months; thaw overnight in the refrigerator and reheat slowly. Add a splash of water if the rice thickens the soup.

📅 Make Ahead

Shape and stuff the meatballs up to 24 hours ahead; cover and refrigerate on a tray. You can also chop parsley and dice vegetables 1 day ahead. Cook the soup up to 2 days ahead, but for the brightest herb flavor, stir in the final parsley and butter when reheating.

🍽️ Pairs Well With

  • Warm flatbread or crusty bread
  • A simple cucumber and tomato salad
  • Pickled vegetables
  • Lemon wedges (optional
  • for brightness)

Regional Variations

  • Tehran-style home cookingOften kept very clear with minimal vegetables, focusing on parsley aroma and small, delicate meatballs; rice may be reduced or omitted for a lighter starter.
  • Northwestern IranSometimes includes additional herbs such as dill or a small amount of dried mint, and meatballs may be slightly larger for a more filling bowl.
family dinner weeknight meal cold weather starter course gatherings
#herby#comfort-food#clear-broth#family-style#starter

Ingredients

  • 120 gFresh parsley leaves and tender stems, finely chopped (About 3 packed cups; reserve 20 g for finishing)
  • 200 gYellow onion, finely diced (About 1 large)
  • 30 gUnsalted butter (For sautéing and finishing)
  • 1500 mlBeef stock (Low-sodium preferred)
  • 250 mlWater (Adjust for desired clarity)
  • 120 gCarrot, small dice (About 1 medium)
  • 80 gCelery, small dice (About 1 large stalk)
  • 60 gBasmati rice (Rinsed until water runs mostly clear)
  • 8 gSea salt (Plus more to taste depending on stock saltiness)
  • 1 tspBlack pepper, freshly ground (Divided)
  • 400 gGround beef (85–90% lean) (Chilled)
  • 1 largeEgg (Binder)
  • 80 gYellow onion, grated (Squeeze lightly to remove excess liquid)
  • 30 gBreadcrumbs (Fine, plain)
  • 90 gGouda cheese (Cut into 18 cubes (about 5 g each), chilled)

🔄 Substitutions

  • Gouda cheese→ Low-moisture mozzarella
  • Beef stock→ Chicken stock
  • Breadcrumbs→ Cooked and cooled mashed potato (60 g)

Instructions

  1. 1

    Prepare the meatball mixture: In a cold bowl, combine ground beef, egg, grated onion, breadcrumbs, sea salt, and black pepper. Mix with your hand for 2–3 minutes until tacky and cohesive, but do not overwork. Cover and refrigerate 15 minutes so the mixture firms up and shapes cleanly.

  2. 2

    Shape Gouda-stuffed meatballs: Divide the chilled mixture into 18 portions (about 28–30 g each). Flatten one portion in your palm, place 1 Gouda cube in the center, then seal tightly and roll into a smooth ball. Repeat, keeping finished meatballs on a tray. Refrigerate 10 minutes while you start the soup.

  3. 3

    Build the parsley base: In a 4–5 liter pot, melt 20 g butter over medium heat. Add diced onion and cook 8–10 minutes, stirring, until translucent with light golden edges. Add carrot and celery and cook 4 minutes. Stir in 100 g of the chopped parsley and cook 2 minutes to release aroma without browning.

  4. 4

    Simmer the broth and rice: Pour in beef stock and water, then add 8 g sea salt and 1/2 tsp black pepper. Bring to a gentle boil over medium-high heat, then reduce to a steady simmer. Add rinsed basmati rice and simmer 12–15 minutes, partially covered, until the rice is tender but not breaking apart.

  5. 5

    Poach the meatballs gently: Lower the heat so the soup barely simmers (small bubbles). Add meatballs one by one, spacing them out so they do not stick. Do not stir for the first 5 minutes; instead, gently shake the pot. Continue simmering 12–14 minutes until meatballs reach 71°C/160°F internally.

  6. 6

    Finish with butter and fresh parsley: Turn heat to low. Stir in the remaining 10 g butter and the reserved 20 g parsley. Simmer 2 minutes to keep the herb flavor bright. Taste and adjust salt and pepper as needed, considering stock saltiness. Rest off heat 5 minutes before serving for a clearer, calmer broth.

🪪 Recipe Passport

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

Cultural Background

Parsley-based soups are commonly prepared in Iranian home cooking as light, aromatic starters, especially in cooler months. This style highlights fresh herbs and a clear broth, often served before a larger meal to warm the table and stimulate appetite.

Regional Variations

Tehran-style home cooking: Often kept very clear with minimal vegetables, focusing on parsley aroma and small, delicate meatballs; rice may be reduced or omitted for a lighter starter.
Northwestern Iran: Sometimes includes additional herbs such as dill or a small amount of dried mint, and meatballs may be slightly larger for a more filling bowl.

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

275
Calories
18g
Protein
14g
Fat
19g
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.