Skip to content
Zaffaron

Masaleh Polo (مصالح پلو) — Persian Spiced Rice with Meatballs

Masaleh Polo is a celebratory Persian spiced rice layered with saffron, warm aromatics, and tender meatballs. Tart barberries and sweet raisins add contrast, creating a fragrant, jewel-like dish with fluffy grains and rich flavor.

By Zaffaron Kitchen· Published March 14, 2026 Verified Recipe
Nut-Free Halal
Contains: dairy, eggs, gluten
150 min total Prep 75m · Cook 75m 6 servings 790 cal ~$4.2/serving
↓ Jump to Recipe
Masaleh Polo — Persian Spiced Rice with Meatballs - authentic persian recipe

Printable Recipe Card

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

Ingredients (quick list)

  • 500 g Basmati rice (rinsed until water runs mostly clear)
  • 2500 ml Water (for parboiling rice)
  • 24 g Fine sea salt (about 4 tsp, divided (for soaking, boiling water, and seasoning))
  • 0.3 g Saffron threads (about 1/2 tsp, finely crushed)
  • 45 ml Hot water (for blooming saffron)
  • 500 g Ground lamb (or ground chicken thigh for a lighter version)
  • 200 g Yellow onion (1 large, grated on the fine side and squeezed dry)
  • 12 g Garlic (3 cloves, finely grated)
  • 3 g Ground turmeric (1 tsp)
  • 2 g Ground cinnamon (1 tsp)
  • 1 g Ground cardamom (1/2 tsp)
  • 2 g Ground cumin (1 tsp)

+ 11 more in the full ingredients section below.

Steps (summary)

  1. Rinse the basmati rice in several changes of cold water until it runs mostly clear. Soak the rice in plenty of cold water with…
  2. Make the meatball mixture: in a bowl combine ground lamb (or ground chicken thigh), squeezed grated onion, garlic, turmeric, ci…
  3. Shape into 24 meatballs (about 25–28 g each). Heat 30 ml neutral oil in a wide skillet over medium-high heat. Brown meatballs 6…
  4. Bring 2500 ml water to a rolling boil in a large pot. Drain soaked rice well, then add to boiling water. Boil 6–8 minutes, stir…
  5. Prepare the barberries and raisins: melt 15 g butter in a small pan over low heat. Add drained raisins and cook 2 minutes, then…
  6. Optional tahdig: whisk yogurt, egg yolk, and 1 tbsp brewed saffron water. Stir in 80 g of the drained rice until evenly coated.…

+ 3 more steps in the full instructions section below.

Cultural Background

Spiced rice dishes are widely prepared across Iran for family gatherings and festive meals, where saffron and warming spices signal hospitality and care. The combination of tart dried fruit with meat reflects a long-standing Persian preference for balancing sweet, sour, and savory elements in a single platter.

warm-spicedsavorytartlightly sweetfluffy ricetender meatballscrisp tahdig (if made)plump raisinssaffroncinnamoncardamomtoasted cumin🌶 mild

Equipment

Large pot with tight-fitting lid (nonstick helpful for tahdig)Fine-mesh colanderLarge mixing bowlBox grater or microplaneWide skilletSmall panKitchen towel (to wrap lid)Measuring spoons and scale

💡 Tips

  • Squeeze grated onion very well; excess liquid makes meatballs fragile and can cause steaming rather than browning.
  • Keep barberries on low heat and stir constantly; 60 seconds too long can turn them bitter.
  • For extra aroma, add 1 small cinnamon stick to the rice pot during steaming and remove before serving.
  • If your rice tends to break, shorten the parboil by 1 minute and rely on steaming to finish cooking.

⚠️ Common Mistakes

  • ❌ Overboiling the rice during parboil

    💡 Why: Fully cooked grains turn mushy and clump during steaming, losing the signature separated texture.

    ✅ Fix: Boil only until the outside is tender and the center is slightly firm (6–8 minutes). Drain immediately and steam on low heat to finish.

  • ❌ Burning barberries in the pan

    💡 Why: Barberries are small and dry; high heat scorches them quickly, creating bitterness.

    ✅ Fix: Use low heat, stir constantly, and keep the sauté to 60–90 seconds. Remove from heat as soon as they look glossy and slightly plumper.

  • ❌ Meatballs falling apart while browning

    💡 Why: Too much onion moisture or insufficient mixing prevents proper binding and protein extraction.

    ✅ Fix: Squeeze onion very dry, mix until tacky (about 2 minutes), and chill 20 minutes before shaping. Brown in a wide pan without overcrowding.

  • ❌ Soggy or pale tahdig

    💡 Why: Heat is too low at the start or the pot is not properly oiled, so the base steams instead of frying.

    ✅ Fix: Heat oil and butter for 1 minute before adding the tahdig base, then keep medium heat for the first 10 minutes before reducing to very low.

🧊 How to Store

Cool leftovers within 2 hours. Refrigerate airtight up to 3 days. Reheat covered with 2–3 tbsp water in a pot over low heat 12–15 minutes or microwave covered until hot. Freeze up to 2 months; thaw overnight in the refrigerator before reheating.

📅 Make Ahead

Soak and rinse the rice up to 1 hour ahead (keep in cool water). Mix and shape meatballs up to 24 hours ahead; refrigerate covered. Barberries and raisins can be sautéed up to 2 days ahead and rewarmed gently before layering.

🍽️ Pairs Well With

  • Shirazi salad (cucumber
  • tomato
  • onion with lemon)
  • Plain yogurt or cucumber-yogurt
  • Pickled vegetables
  • Fresh herbs platter

Regional Variations

  • Tehran-style home cookingOften uses a yogurt-and-saffron tahdig and keeps the spice blend gentle, letting saffron and cinnamon lead. Meatballs may be smaller and layered throughout for even distribution.
  • Southern Iran (Gulf-influenced kitchens)May increase cumin and add a touch more turmeric for deeper color and aroma. Some cooks include extra dried fruit for a more pronounced sweet-sour contrast.
Nowruz gatherings Family celebrations Dinner parties Weekend cooking
#celebration#saffron#one-pot

Ingredients

  • 500 gBasmati rice (rinsed until water runs mostly clear)
  • 2500 mlWater (for parboiling rice)
  • 24 gFine sea salt (about 4 tsp, divided (for soaking, boiling water, and seasoning))
  • 0.3 gSaffron threads (about 1/2 tsp, finely crushed)
  • 45 mlHot water (for blooming saffron)
  • 500 gGround lamb (or ground chicken thigh for a lighter version)
  • 200 gYellow onion (1 large, grated on the fine side and squeezed dry)
  • 12 gGarlic (3 cloves, finely grated)
  • 3 gGround turmeric (1 tsp)
  • 2 gGround cinnamon (1 tsp)
  • 1 gGround cardamom (1/2 tsp)
  • 2 gGround cumin (1 tsp)
  • 1 gBlack pepper (1/2 tsp)
  • 50 gEgg (1 large, lightly beaten)
  • 15 gChickpea flour (2 tbsp, helps bind without bread crumbs)
  • 30 mlNeutral oil (for browning meatballs)
  • 45 gUnsalted butter (3 tbsp, divided (for barberries/raisins and rice steaming))
  • 60 gDried barberries (rinsed quickly and drained well)
  • 70 gGolden raisins (soaked in warm water 10 minutes, then drained)
  • 12 gGranulated sugar (1 tbsp, balances barberry tartness)
  • 180 gPlain yogurt (for tahdig base (optional but traditional-style))
  • 18 gEgg yolk (1 large yolk, for tahdig base)
  • 15 mlBrewed saffron water (1 tbsp (from the bloomed saffron), for tahdig base)

🔄 Substitutions

  • Ground lamb→ Ground chicken thigh
  • Dried barberries→ Dried cranberries, chopped
  • Chickpea flour→ Fine bread crumbs

Instructions

  1. 1

    Rinse the basmati rice in several changes of cold water until it runs mostly clear. Soak the rice in plenty of cold water with 12 g (2 tsp) of the salt for 45 minutes at room temperature. Meanwhile, crush saffron threads and bloom them with 45 ml hot water; cover and steep 15 minutes.

  2. 2

    Make the meatball mixture: in a bowl combine ground lamb (or ground chicken thigh), squeezed grated onion, garlic, turmeric, cinnamon, cardamom, cumin, black pepper, remaining 12 g salt (2 tsp), egg, and chickpea flour. Mix 2 minutes until tacky. Cover and chill 20 minutes to firm for shaping.

  3. 3

    Shape into 24 meatballs (about 25–28 g each). Heat 30 ml neutral oil in a wide skillet over medium-high heat. Brown meatballs 6–8 minutes total, turning to color all sides; they do not need to be fully cooked through. Transfer to a plate and cover loosely to keep warm.

  4. 4

    Bring 2500 ml water to a rolling boil in a large pot. Drain soaked rice well, then add to boiling water. Boil 6–8 minutes, stirring gently once or twice, until grains are tender on the outside but still firm in the center. Drain immediately in a colander and rinse briefly with cool water to stop cooking.

  5. 5

    Prepare the barberries and raisins: melt 15 g butter in a small pan over low heat. Add drained raisins and cook 2 minutes, then add barberries, sugar, and the garnish spices (cinnamon, cardamom, cumin). Toss constantly for 60–90 seconds; barberries burn quickly. Remove from heat and set aside.

  6. 6

    Optional tahdig: whisk yogurt, egg yolk, and 1 tbsp brewed saffron water. Stir in 80 g of the drained rice until evenly coated. In the rice pot, heat 30 ml oil and 15 g butter over medium heat for 1 minute, then spread the yogurt-rice mixture into an even layer to form the crust base.

  7. 7

    Layer and steam: reduce heat to low. Add half the remaining rice over the tahdig (or directly into the oiled pot if skipping). Scatter half the meatballs and half the barberry-raisin mixture. Add remaining rice, then top with the rest of the meatballs and fruit. Poke 5–6 holes to the bottom with a spoon handle.

  8. 8

    Drizzle 15 ml brewed saffron water over the top rice. Warm remaining 30 g butter with 15 ml oil until just melted, then drizzle evenly. Cover the lid with a clean kitchen towel and place tightly on the pot. Steam 10 minutes over medium heat, then 45 minutes over very low heat for fluffy grains and a crisp crust.

  9. 9

    Rest 10 minutes off heat with the lid on to let steam redistribute. Gently fluff the top rice without breaking grains and transfer to a platter, arranging meatballs and barberries on top. For tahdig, loosen edges with a spatula, invert onto a plate, and serve alongside, breaking into pieces at the table.

🪪 Recipe Passport

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

Cultural Background

Spiced rice dishes are widely prepared across Iran for family gatherings and festive meals, where saffron and warming spices signal hospitality and care. The combination of tart dried fruit with meat reflects a long-standing Persian preference for balancing sweet, sour, and savory elements in a single platter.

Regional Variations

Tehran-style home cooking: Often uses a yogurt-and-saffron tahdig and keeps the spice blend gentle, letting saffron and cinnamon lead. Meatballs may be smaller and layered throughout for even distribution.
Southern Iran (Gulf-influenced kitchens): May increase cumin and add a touch more turmeric for deeper color and aroma. Some cooks include extra dried fruit for a more pronounced sweet-sour contrast.

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

790
Calories
27g
Protein
30g
Fat
101g
Carbs
3g
Fiber
980mg
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.