Skip to content
Zaffaron

Masaleh Polo (مساله پلو) — Persian Spiced Rice with Saffron Meatballs and Barberries

Masaleh Polo is a celebratory Persian rice layered with aromatic spices, saffron, and jeweled barberries. The fluffy basmati and tender meatballs echo classic festive flavors often served at family gatherings and special nights.

By Zaffaron Kitchen· Published April 6, 2026 Tested Recipe
Gluten-Free Nut-Free Halal
Contains: dairy, eggs
105 min total Prep 35m · Cook 70m 6 servings 690 cal
↓ Jump to Recipe
Masaleh Polo — Persian Spiced Rice with Saffron Meatballs and Barberries - authentic persian recipe

Printable Recipe Card

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

Ingredients (quick list)

  • 500 g Basmati rice (rinsed until water runs mostly clear)
  • 2500 ml Water (for parboiling)
  • 18 g Fine salt (12 g for boiling water + 6 g for meat mixture)
  • 60 ml Vegetable oil (for pot and layering)
  • 120 g Plain yogurt (for yogurt tahdig base)
  • 1 Egg yolk (for crisp tahdig)
  • 1 tsp Ground saffron (bloomed in hot water)
  • 60 ml Hot water (for blooming saffron)
  • 600 g Ground lamb (80–85% lean)
  • 200 g Onion (grated and squeezed very dry)
  • 12 g Garlic (finely grated (about 3 cloves))
  • 2 tsp Ground turmeric (divided between meatballs and rice layers)

+ 8 more in the full ingredients section below.

Steps (summary)

  1. Bloom the saffron by grinding it finely, then mixing 1 tsp saffron with 60 ml hot water in a small cup. Let it steep for 10 min…
  2. Rinse the basmati rice in several changes of water until the water runs mostly clear, then soak it in cool water for 20 minutes…
  3. Make the meatball mixture by combining ground lamb, grated onion (squeezed dry), grated garlic, 6 g salt, black pepper, 1 tsp t…
  4. Shape the mixture into 24 meatballs, about 25 g each, and place them on a plate. Chill them for 10 minutes to firm up; this sho…
  5. Heat 30 ml vegetable oil in a wide skillet over medium-high heat, then brown the meatballs in batches for 6–8 minutes total, tu…
  6. Bring 2500 ml water to a rolling boil in a large pot and dissolve 12 g salt in it. Add the drained rice and boil for 6–8 minute…

+ 7 more steps in the full instructions section below.

Cultural Background

Spiced rice dishes like Masaleh Polo reflect Persian love of layered fragrance—saffron, warm spices, and tart zereshk—often associated with hospitality and celebratory tables. The jeweled topping and tahdig make it a centerpiece dish meant for sharing.

savorytangywarm-spicedfluffy long-grain ricejuicy meatballscrisp tahdigsaffron warmthcinnamon-cardamom perfumetoasted cumin🌶 mild

Equipment

Large pot for parboiling riceColanderNonstick pot with tight lid for steamingWide skilletSmall pan for barberriesKitchen towel

💡 Tips

  • Squeeze the grated onion until very dry; excess onion juice makes meatballs crumble and steam rather than brown.
  • Keep barberries on low heat and stir constantly; 30 seconds too long can turn them bitter and dark.
  • For extra aroma, reserve 1 cup (160 g) of rice, mix it with 15 ml saffron water, and mound it on top before serving.

⚠️ Common Mistakes

  • Overboiling the rice until fully soft before steaming.

    ✅ Fix: Drain when the grain is tender outside but still firm in the center (6–8 minutes), then finish by steaming to keep it fluffy.

  • Cooking barberries too long or over high heat.

    ✅ Fix: Use low heat and sauté for only 60–90 seconds, then remove immediately to preserve their bright color and tartness.

  • Meatballs breaking apart in the pan.

    ✅ Fix: Squeeze onion dry, knead until tacky, chill briefly, and brown in batches without overcrowding.

🧊 How to Store

Cool leftovers within 2 hours, then refrigerate in an airtight container for up to 3 days. Reheat covered with 30 ml water in a pot on low for 12–15 minutes, or microwave covered in 60-second bursts until hot; keep barberries separate for best color.

📅 Make Ahead

Form and brown the meatballs up to 24 hours ahead and refrigerate tightly covered. You can also rinse and soak the rice earlier the same day; drain well and parboil just before steaming for best texture.

🍽️ Pairs Well With

  • Mast-o-khiar
  • Shirazi salad
  • torshi
  • fresh herbs (sabzi khordan)
  • pickled garlic (sir torshi).

Regional Variations

  • Tehran-style: uses a stronger saffron finish and often includes a small handful of slivered pistachios or almonds on top (omit for nut-free).
  • Khorasan-inspired: adds a pinch of ground cloves (0.25 tsp) and increases barberries for a more tart, jeweled profile.
  • Chicken version: replaces lamb with ground chicken thigh and adds 1 tbsp (15 ml) extra oil for moisture.
everyday holiday party ramadan nowruz
#classic#family-style

Ingredients

  • 1⅛ lbBasmati rice (rinsed until water runs mostly clear)
  • 10.5 cupWater (for parboiling)
  • 18 gFine salt (12 g for boiling water + 6 g for meat mixture)
  • ¼ cupVegetable oil (for pot and layering)
  • 4¼ ozPlain yogurt (for yogurt tahdig base)
  • 1Egg yolk (for crisp tahdig)
  • 1 tspGround saffron (bloomed in hot water)
  • ¼ cupHot water (for blooming saffron)
  • 1⅓ lbGround lamb (80–85% lean)
  • 7.1 ozOnion (grated and squeezed very dry)
  • 12 gGarlic (finely grated (about 3 cloves))
  • 2 tspGround turmeric (divided between meatballs and rice layers)
  • 1½ tspGround cinnamon (warm, sweet aroma)
  • 1 tspGround cardamom (preferably freshly ground)
  • 1½ tspGround cumin (earthy backbone)
  • 1 tspBlack pepper (freshly ground)
  • 1.1 ozUnsalted butter (for sautéing zereshk)
  • 2.8 ozDried barberries (zereshk) (rinsed quickly and drained well)
  • 10 gSugar (balances the tartness)
  • 2 tspRose water (optional, traditional fragrance)

🔄 Substitutions

  • Ground lambGround chicken thigh
  • Dried barberries (zereshk)Dried cranberries
  • Rose waterOrange blossom water

Instructions

  1. 1

    Bloom the saffron by grinding it finely, then mixing 1 tsp saffron with 60 ml hot water in a small cup. Let it steep for 10 minutes so the color fully releases, then set it aside for layering and finishing.

  2. 2

    Rinse the basmati rice in several changes of water until the water runs mostly clear, then soak it in cool water for 20 minutes. Drain the rice well; this soak helps the grains elongate and stay fluffy during steaming.

  3. 3

    Make the meatball mixture by combining ground lamb, grated onion (squeezed dry), grated garlic, 6 g salt, black pepper, 1 tsp turmeric, 1 tsp cumin, 1 tsp cinnamon, and 0.5 tsp cardamom in a bowl. Knead for 2–3 minutes until the mixture becomes tacky and cohesive, which prevents cracking during browning.

  4. 4

    Shape the mixture into 24 meatballs, about 25 g each, and place them on a plate. Chill them for 10 minutes to firm up; this short rest makes them easier to brown without falling apart.

  5. 5

    Heat 30 ml vegetable oil in a wide skillet over medium-high heat, then brown the meatballs in batches for 6–8 minutes total, turning gently to color all sides. They do not need to be fully cooked through at this stage, because they will finish cooking while the rice steams; transfer them to a tray.

  6. 6

    Bring 2500 ml water to a rolling boil in a large pot and dissolve 12 g salt in it. Add the drained rice and boil for 6–8 minutes until the grains are tender on the outside but still firm in the center, then drain immediately in a colander and rinse quickly with 250 ml cool water to stop cooking.

  7. 7

    If using yogurt tahdig, whisk 120 g yogurt with 1 egg yolk and 15 ml vegetable oil in a bowl until smooth. Stir in 120 g of the parboiled rice so the grains are coated; this mixture creates a crisp, golden base.

  8. 8

    In a nonstick pot, add the remaining 45 ml vegetable oil and spread it evenly over the bottom. Press the yogurt-rice mixture into the base in an even layer; if skipping tahdig, simply oil the pot well and proceed with plain rice.

  9. 9

    Mix the remaining spices in a small bowl: 1 tsp turmeric, 0.5 tsp cumin, 0.5 tsp cinnamon, and 0.5 tsp cardamom. Layer one-third of the plain parboiled rice over the base, sprinkle one-third of the spice mix, then nestle half the meatballs on top; repeat with another third of rice, spices, and the remaining meatballs, finishing with the last third of rice and spices.

  10. 10

    Use the handle of a wooden spoon to poke 5–6 steam holes down through the rice to the bottom of the pot. Drizzle 45 ml of the bloomed saffron water over the top; if the rice seems dry, drizzle up to 120 ml water around the edges to encourage steady steam.

  11. 11

    Cover the lid with a clean kitchen towel and place it tightly on the pot to catch condensation. Steam over medium heat for 10 minutes until you see strong steam, then reduce to low and continue steaming for 45 minutes so the meatballs finish cooking and the rice becomes fully fluffy.

  12. 12

    While the rice steams, sauté the barberries by melting 30 g butter in a small pan over low heat. Add 80 g barberries and 10 g sugar and cook for 60–90 seconds, stirring constantly; add 10 ml rose water in the last 10 seconds, then remove from heat to prevent scorching.

  13. 13

    Rest the pot off the heat for 5 minutes before unmolding, which helps the tahdig release cleanly. Spoon the rice and meatballs onto a platter, top with the warm barberries, and drizzle the remaining 15 ml saffron water over the brightest parts for a festive finish.

🪪 Recipe Passport

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

Cultural Background

Spiced rice dishes like Masaleh Polo reflect Persian love of layered fragrance—saffron, warm spices, and tart zereshk—often associated with hospitality and celebratory tables. The jeweled topping and tahdig make it a centerpiece dish meant for sharing.

Regional Variations

Tehran-style: uses a stronger saffron finish and often includes a small handful of slivered pistachios or almonds on top (omit for nut-free).
Khorasan-inspired: adds a pinch of ground cloves (0.25 tsp) and increases barberries for a more tart, jeweled profile.
Chicken version: replaces lamb with ground chicken thigh and adds 1 tbsp (15 ml) extra oil for moisture.

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

690
Calories
28g
Protein
29g
Fat
78g
Carbs
3.5g
Fiber
880mg
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.