Kufteh Sabzi (کوفته سبزی) — Persian Herb Meatballs in Broth
Shiraz-style Kufteh Sabzi are large herb-packed meatballs simmered in a golden, aromatic broth. They’re bound with rice and chickpeas and traditionally hide a sweet-savory raisin center for a comforting, fragrant meal.

Printable Recipe Card
Servings: 6 · Total: 225 min · Difficulty: hard
Ingredients (quick list)
- 120 g Dried chickpeas (soaked 8–12 hours, drained)
- 1500 ml Water (divided for boiling chickpeas and broth)
- 90 g Basmati rice (rinsed until water runs mostly clear)
- 450 g Yellow onions (2 large; 350 g grated for meatball mixture, 100 g finely diced for broth)
- 700 g Ground meat (80–85% lean beef or lamb)
- 80 g Fresh parsley (finely chopped)
- 50 g Fresh cilantro (finely chopped)
- 25 g Fresh dill (finely chopped)
- 20 g Fresh chives (finely chopped)
- 15 g Fresh fenugreek leaves (finely chopped)
- 14 g Salt (about 2 1/2 tsp, divided)
- 4 g Turmeric (about 2 tsp, divided)
+ 2 more in the full ingredients section below.
Steps (summary)
- Soak the chickpeas in plenty of cool water for 8–12 hours, then drain. In a pot, add chickpeas and 900 ml water and bring to a…
- Cook the rice to help it bind the meatballs. Add rinsed basmati rice to a small saucepan with 250 ml water and 2 g salt. Bring…
- Prepare the herb medley. Wash, dry, and finely chop parsley, cilantro, dill, chives, and fenugreek leaves. Keep the herbs very…
- Make the meatball mixture. In a large bowl, combine ground meat, grated onion (350 g), cooked rice, cooked chickpeas, chopped h…
- Shape and stuff. Divide the mixture into 6 equal portions (about 190–200 g each). Flatten one portion in your palm, place 15 g…
- Start the broth. In a wide pot (at least 5–6 liters), combine 350 ml water, diced onion (100 g), remaining 4 g salt, 1 g turmer…
+ 2 more steps in the full instructions section below.
Cultural Background
Herb-rich meatballs simmered in broth are a familiar home-style preparation in several regions of Iran, including Shiraz, where variations are often served as comforting family meals. The combination of herbs, legumes, and a sweet center reflects a traditional preference for balanced flavors and hearty, shareable dishes.
Equipment
💡 Tips
- Kneading until the mixture turns sticky is the main secret for intact meatballs; stop only when it clings to your hand slightly.
- Keep the simmer gentle—rapid boiling can break the meatballs before they set.
- If your herbs are very watery, pat them dry before chopping to avoid a loose mixture.
- For cleaner shaping, lightly wet your hands with cool water between meatballs.
- Cool the rice and chickpeas before mixing so the fat in the meat does not melt too early.
⚠️ Common Mistakes
❌ Skipping thorough kneading of the meatball mixture
💡 Why: Without enough mixing, proteins do not bind and the meatballs can crack and fall apart in the broth.
✅ Fix: Knead 8–10 minutes until sticky and cohesive; if still loose, chill the mixture 20 minutes before shaping.
❌ Boiling the broth hard after adding meatballs
💡 Why: Aggressive bubbling shakes the meatballs before they set, causing breakage and a cloudy broth.
✅ Fix: Maintain a gentle simmer with only small bubbles; partially cover and lower heat as needed.
❌ Using wet herbs or hot rice/chickpeas
💡 Why: Extra moisture and heat weaken structure and can make the mixture soft and hard to seal around the filling.
✅ Fix: Dry herbs well and cool rice/chickpeas completely; spread on a tray to speed cooling.
🧊 How to Store
Cool leftovers within 2 hours. Refrigerate meatballs in broth in an airtight container for up to 3 days. Reheat covered at a gentle simmer 10–15 minutes; avoid hard boiling. Freeze up to 2 months; thaw overnight in the refrigerator before reheating.
📅 Make Ahead
Soak chickpeas up to 24 hours ahead. Cook chickpeas and rice 1 day ahead and refrigerate. Mix and shape meatballs up to 8 hours ahead; keep covered and chilled, then simmer just before serving for best texture.
🍽️ Pairs Well With
- Steamed basmati rice
- Flatbread
- Fresh herbs and radishes
- Pickled vegetables
Regional Variations
- Shiraz and Fars ProvinceOften emphasizes a generous mix of fresh herbs and a sweet center such as raisins; the broth is typically lightly spiced and served with rice or bread.
- Northwest IranSome versions shape larger single meatballs and may include additional fillings like cooked legumes or dried fruit, with broth quantity adjusted so it can be served more like a stew.
Ingredients
- 120 gDried chickpeas (soaked 8–12 hours, drained)
- 1500 mlWater (divided for boiling chickpeas and broth)
- 90 gBasmati rice (rinsed until water runs mostly clear)
- 450 gYellow onions (2 large; 350 g grated for meatball mixture, 100 g finely diced for broth)
- 700 gGround meat (80–85% lean beef or lamb)
- 80 gFresh parsley (finely chopped)
- 50 gFresh cilantro (finely chopped)
- 25 gFresh dill (finely chopped)
- 20 gFresh chives (finely chopped)
- 15 gFresh fenugreek leaves (finely chopped)
- 14 gSalt (about 2 1/2 tsp, divided)
- 4 gTurmeric (about 2 tsp, divided)
- 2 gBlack pepper (about 1 tsp, divided)
- 90 gSultana raisins (rinsed; soak in warm water 10 minutes, then drain)
🔄 Substitutions
- Ground meat (beef or lamb)→ Ground turkey (93% lean)
- Fresh fenugreek leaves→ 1 tsp dried fenugreek leaves (kasuri methi), crushed
- Sultana raisins→ Golden raisins or chopped dates
Instructions
- 1
Soak the chickpeas in plenty of cool water for 8–12 hours, then drain. In a pot, add chickpeas and 900 ml water and bring to a boil. Reduce to a steady simmer and cook 45–60 minutes until tender. Drain well and cool 10 minutes so they do not steam the meat mixture.
- 2
Cook the rice to help it bind the meatballs. Add rinsed basmati rice to a small saucepan with 250 ml water and 2 g salt. Bring to a boil, cover, and cook on low for 10 minutes. Rest off heat 10 minutes, then fluff and spread on a plate to cool completely.
- 3
Prepare the herb medley. Wash, dry, and finely chop parsley, cilantro, dill, chives, and fenugreek leaves. Keep the herbs very fine so the meatballs hold together. Set aside 5 minutes to let excess surface moisture evaporate; wet herbs can weaken the mixture.
- 4
Make the meatball mixture. In a large bowl, combine ground meat, grated onion (350 g), cooked rice, cooked chickpeas, chopped herbs, 10 g salt, 3 g turmeric, and 1.5 g black pepper. Knead vigorously by hand for 8–10 minutes until the mixture becomes sticky and cohesive.
- 5
Shape and stuff. Divide the mixture into 6 equal portions (about 190–200 g each). Flatten one portion in your palm, place 15 g drained sultana raisins in the center, then gather and seal the meat around them. Roll firmly between your hands for 30–45 seconds to remove cracks.
- 6
Start the broth. In a wide pot (at least 5–6 liters), combine 350 ml water, diced onion (100 g), remaining 4 g salt, 1 g turmeric, and 0.5 g black pepper. Bring to a gentle boil over medium heat, then reduce to a low simmer for 5 minutes to soften the onion.
- 7
Simmer the meatballs carefully. Add the meatballs one by one, leaving space between them. Add the remaining water (about 350 ml) to reach a shallow simmering level; the liquid should come halfway up the meatballs. Cover partially and simmer very gently 45–55 minutes, turning once at 25 minutes.
- 8
Finish and serve. The meatballs are done when the broth is fragrant and lightly thickened and the centers reach 71°C/160°F. Rest the pot off heat, covered, for 10 minutes so the meatballs set. Serve each meatball with broth ladled over and extra raisins from the center if desired.
🪪 Recipe Passport
Cultural Background
Herb-rich meatballs simmered in broth are a familiar home-style preparation in several regions of Iran, including Shiraz, where variations are often served as comforting family meals. The combination of herbs, legumes, and a sweet center reflects a traditional preference for balanced flavors and hearty, shareable dishes.
Regional Variations
Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.
Nutrition per serving
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

Aged Garlic Pickle (سیر ترشی) — Gilan’s seven-year-style black garlic torshi
Persian · Side Dishes · 45 min

Persian Kotlet (کتلت) — Saffron-Infused Meat & Potato Patties
Persian · Main Courses · 55 min

Soup-e Jo (سوپ جو) — Persian Creamy Barley Soup
Persian · Soups · 90 min

Biangbiang Noodles (油泼扯面) — Xi'an Hand-Pulled Belt Noodles
Chinese · Main Courses · 65 min

Beggar's Chicken (叫化鸡) — Lotus-Wrapped Clay-Baked Jiangnan Chicken
Chinese · Main Courses · 240 min

Cig Kofte (Çiğ Köfte) — Isot-kissed bulgur kneaded and served in lettuce
Turkish · Appetizers · 25 min

Mıhlama (Mıhlama) — Black Sea Cornmeal and Cheese Skillet
Turkish · Main Courses · 25 min

Changua (Changua) — Colombian Milk-and-Egg Breakfast Soup
Colombian · Soups · 25 min
Reviews
Cooked this recipe?
Tap the stars to rate it — that's all it takes. A few words are welcome but optional.
No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.