Skip to content
Zaffaron

Kufteh Kermani (کوفته کرمانی) — Kerman-Style Meatballs in Tomato Broth

Kerman-style meatballs made with finely ground rice and chickpeas, bound with egg and simmered in a turmeric-scented tomato broth. Comforting, protein-rich, and ideal with flatbread or rice.

By Zaffaron Kitchen· Published April 2, 2026 Verified Recipe
Gluten-Free Nut-Free Halal
Contains: dairy, eggs
150 min total Prep 95m · Cook 55m 6 servings 436 cal ~$3.15/serving
↓ Jump to Recipe
Kufteh Kermani — Kerman-Style Meatballs in Tomato Broth - authentic persian recipe

Printable Recipe Card

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

Ingredients (quick list)

  • 180 g Dried chickpeas (soaked 12 hours, drained)
  • 120 g Basmati rice (rinsed; soak 30 minutes, drained)
  • 220 g Yellow onion (1 large; grated on fine holes, then squeezed well)
  • 350 g Ground beef (80–85% lean)
  • 250 g Ground lamb (or use all beef if preferred)
  • 2 large Eggs (lightly beaten)
  • 10 g Sea salt (about 1 3/4 tsp, divided)
  • 2 g Black pepper (about 1 tsp)
  • 30 ml Vegetable oil (2 tbsp)
  • 15 g Butter (1 tbsp)
  • 70 g Tomato paste (about 4 tbsp)
  • 3 g Ground turmeric (about 1 1/2 tsp)

+ 1 more in the full ingredients section below.

Steps (summary)

  1. Soak the chickpeas in plenty of cool water for 12 hours, then drain and rinse. Rinse the rice until the water runs mostly clear…
  2. Cook the soaked chickpeas in unsalted water until fully tender, 45–60 minutes at a steady simmer, then drain well and cool 10 m…
  3. Make the meatball base: in a food processor, pulse the cooked chickpeas and cooked rice together until very finely ground, scra…
  4. Knead the mixture vigorously by hand for 6–8 minutes until it becomes sticky and cohesive (this reduces cracking). Cover and re…
  5. Build the tomato broth: heat vegetable oil and butter in a wide pot over medium heat. Add diced onion and sauté until soft and…
  6. Pour in 1200 ml water, whisking to dissolve the tomato paste. Bring to a gentle boil, then reduce to a steady simmer over mediu…

+ 3 more steps in the full instructions section below.

Cultural Background

Kufteh Kermani is associated with home cooking in Kerman, a desert-region city known for resourceful, pantry-based dishes. The use of rice and chickpeas in the meatball mixture reflects techniques that stretch meat while keeping the texture tender. It is commonly served as a warming main course for family meals.

savorytomato-forwardgently earthytender meatballsslightly springy bitebrothy sauceturmeric-warmsweet onioncooked tomato🌶 mild

Equipment

Large mixing bowlFood processorBox graterFine-mesh strainerLarge wide pot or Dutch oven with lidWooden spoonKitchen scaleMeasuring spoons

💡 Tips

  • Squeezing the grated onion very well prevents a loose mixture and helps the meatballs hold together.
  • Grinding the cooked chickpeas and rice very finely is key; any coarse pieces can cause cracking while simmering.
  • Keep the broth at a gentle simmer, not a rolling boil, especially during the first 10 minutes after adding the meatballs.
  • If the mixture feels soft, chill it longer (up to 60 minutes) before shaping.
  • Wet hands and a light, quick rolling motion make smoother meatballs with fewer surface fissures.

⚠️ Common Mistakes

  • ❌ Dropping meatballs into rapidly boiling broth

    💡 Why: Aggressive bubbling can break the meatballs before the exterior sets.

    ✅ Fix: Keep the broth at a gentle simmer and avoid stirring for the first 10 minutes; shake the pot instead.

  • ❌ Not draining the rice and chickpeas thoroughly

    💡 Why: Excess water makes the mixture loose and prone to cracking.

    ✅ Fix: Drain well, cool briefly, and if needed spread on a tray for 5–10 minutes to evaporate surface moisture.

  • ❌ Under-kneading the mixture

    💡 Why: Insufficient mixing prevents proteins from binding, leading to crumbly meatballs.

    ✅ Fix: Knead 6–8 minutes until sticky and cohesive, then chill 30 minutes before shaping.

  • ❌ Stirring immediately after adding meatballs

    💡 Why: Early stirring can tear the surface before it firms up.

    ✅ Fix: Wait 10 minutes, then turn gently using two utensils.

🧊 How to Store

Cool completely, then refrigerate in the broth in an airtight container for up to 3 days. Reheat gently at a low simmer until hot, 8–12 minutes; avoid boiling. Freeze up to 2 months; thaw overnight in the refrigerator and reheat slowly with a splash of water.

📅 Make Ahead

You can prepare the meatball mixture up to 24 hours ahead and refrigerate it covered. Shape and cook the next day. The finished dish tastes even better after resting overnight in the refrigerator; reheat gently at a low simmer.

🍽️ Pairs Well With

  • Steamed basmati rice
  • Flatbread (lavash or pita)
  • A simple cucumber and tomato salad
  • Pickled vegetables

Regional Variations

  • Southeastern IranSome cooks increase turmeric for a deeper golden broth and keep the seasoning simple, emphasizing onion and tomato paste.
  • Central and Northern IranA similar meatball-and-broth approach may include additional aromatics or herbs depending on household preference, while keeping the core idea of simmered meatballs in a tomato-based sauce.
weeknight dinner family gathering cold-weather meals meal prep
#high-protein#comfort-food#gluten-free#one-pot#family-style

Ingredients

  • 180 gDried chickpeas (soaked 12 hours, drained)
  • 120 gBasmati rice (rinsed; soak 30 minutes, drained)
  • 220 gYellow onion (1 large; grated on fine holes, then squeezed well)
  • 350 gGround beef (80–85% lean)
  • 250 gGround lamb (or use all beef if preferred)
  • 2 largeEggs (lightly beaten)
  • 10 gSea salt (about 1 3/4 tsp, divided)
  • 2 gBlack pepper (about 1 tsp)
  • 30 mlVegetable oil (2 tbsp)
  • 15 gButter (1 tbsp)
  • 70 gTomato paste (about 4 tbsp)
  • 3 gGround turmeric (about 1 1/2 tsp)
  • 1200 mlWater (plus more as needed)

🔄 Substitutions

  • Ground lamb (250 g)→ Ground beef (250 g) or ground turkey (250 g)
  • Butter (15 g)→ Olive oil (15 ml) or more vegetable oil (15 ml)
  • Dried chickpeas (180 g)→ Cooked canned chickpeas (420 g drained weight)

Instructions

  1. 1

    Soak the chickpeas in plenty of cool water for 12 hours, then drain and rinse. Rinse the rice until the water runs mostly clear, then soak in cool water for 30 minutes and drain. These soaks help the chickpeas and rice grind smoothly, giving the meatballs their characteristic delicate texture.

  2. 2

    Cook the soaked chickpeas in unsalted water until fully tender, 45–60 minutes at a steady simmer, then drain well and cool 10 minutes. Cook the soaked rice in boiling water until just tender, 8–10 minutes, then drain and rinse with cool water to stop cooking; drain very thoroughly.

  3. 3

    Make the meatball base: in a food processor, pulse the cooked chickpeas and cooked rice together until very finely ground, scraping the bowl often, about 2–3 minutes total. Transfer to a large bowl. Add the grated-and-squeezed onion, ground beef, ground lamb, eggs, salt, and black pepper.

  4. 4

    Knead the mixture vigorously by hand for 6–8 minutes until it becomes sticky and cohesive (this reduces cracking). Cover and rest in the refrigerator for 30 minutes to firm up. Meanwhile, prepare the broth so it is gently simmering before you shape the meatballs.

  5. 5

    Build the tomato broth: heat vegetable oil and butter in a wide pot over medium heat. Add diced onion and sauté until soft and lightly golden, 8–10 minutes. Stir in tomato paste and cook, stirring constantly, 2–3 minutes until it darkens slightly. Add turmeric and stir 30 seconds to bloom.

  6. 6

    Pour in 1200 ml water, whisking to dissolve the tomato paste. Bring to a gentle boil, then reduce to a steady simmer over medium-low heat. Season with the broth salt and black pepper. Keep the surface barely bubbling; a hard boil can break the meatballs once they go in.

  7. 7

    Shape the meatballs with wet hands into 12 equal balls (about 85–95 g each). Smooth any cracks by rolling again. Slide them into the simmering broth one by one, spacing them apart. Do not stir for the first 10 minutes; instead, gently shake the pot to prevent sticking.

  8. 8

    Simmer uncovered for 35–40 minutes over low heat, turning the meatballs once very carefully after 15 minutes using a spoon and a fork. If the broth reduces too quickly, add 100–200 ml hot water. The meatballs are done when firm and the broth tastes rounded and tomato-rich.

  9. 9

    Rest off heat for 10 minutes to let the meatballs set and the broth thicken slightly. Taste and adjust salt and pepper. Serve 2 meatballs per person with plenty of broth. For best texture, ladle broth first, then place the meatballs on top to keep their surface intact.

🪪 Recipe Passport

Origin: Persian Cuisine
Researched by: Zaffaron Kitchen
Published: April 2, 2026

Cultural Background

Kufteh Kermani is associated with home cooking in Kerman, a desert-region city known for resourceful, pantry-based dishes. The use of rice and chickpeas in the meatball mixture reflects techniques that stretch meat while keeping the texture tender. It is commonly served as a warming main course for family meals.

Regional Variations

Southeastern Iran: Some cooks increase turmeric for a deeper golden broth and keep the seasoning simple, emphasizing onion and tomato paste.
Central and Northern Iran: A similar meatball-and-broth approach may include additional aromatics or herbs depending on household preference, while keeping the core idea of simmered meatballs in a tomato-based sauce.

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

436
Calories
30g
Protein
21g
Fat
32g
Carbs
6g
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.