Shir Polo (شیر پلو) — Persian Milk Pilaf
Shir Polo is a celebratory Persian rice pilaf cooked with milk, saffron, and a touch of sugar, then finished with rose water and nuts. Creamy yet fluffy, it’s often served at festive gatherings and Nowruz tables.

Printable Recipe Card
Servings: 6 · Total: 155 min · Difficulty: medium
Ingredients (quick list)
- 450 g Basmati rice (rinsed until water runs mostly clear)
- 18 g Fine sea salt (for soaking and parboiling; do not add extra later)
- 720 ml Whole milk (room temperature to reduce scorching)
- 480 ml Water (for parboiling with milk)
- 40 g Granulated sugar (adjust to taste; this is lightly sweet)
- 90 g Unsalted butter (divided)
- 60 g Plain yogurt (for a tender, lightly crisp tahdig)
- 0.3 g Saffron threads (finely crushed)
- 30 ml Hot water (just off the boil, for blooming saffron)
- 10 ml Rose water (about 2 teaspoons; add at the end for best aroma)
- 50 g Slivered almonds (lightly toasted)
- 50 g Shelled pistachios (roughly chopped, lightly toasted)
Steps (summary)
- Rinse the basmati rice in several changes of cool water until the water runs mostly clear. Dissolve 12 g of the salt in 1.5 lit…
- In a wide pot, bring 480 ml water and 720 ml milk to a gentle boil over medium heat, stirring often so the milk does not catch.…
- Cook the rice at a lively simmer for 8–12 minutes, stirring every 1–2 minutes and scraping the bottom to prevent scorching. The…
- Prepare the tahdig base: melt 45 g butter in the same pot over medium-low heat. Stir in the yogurt until smooth and bubbling, a…
- Layer the remaining rice back into the pot in a loose mound, sprinkling 1–2 tablespoons of the bloomed saffron liquid between l…
- Cover the lid with a clean kitchen towel and place it tightly on the pot. Steam over medium heat for 10 minutes to build strong…
+ 1 more steps in the full instructions section below.
Cultural Background
Shir Polo is a festive Persian rice dish associated with celebratory meals, including Nowruz in many households. It is especially linked with northwestern Iranian cooking traditions, where fragrant rice dishes often feature saffron, floral waters, and nuts for special occasions.
Equipment
💡 Tips
- Use a wide, heavy-bottomed pot to reduce the chance of milk scorching during parboiling.
- Keep the milk at a gentle boil and stir frequently; milk foam can rise quickly if left unattended.
- Bloom saffron in hot (not boiling) water for the brightest color and fullest aroma.
- Add rose water at the end of steaming so its fragrance stays fresh rather than cooked off.
- For a crisper tahdig, increase the final low-steam time by 5 minutes and let the pot rest longer before unmolding.
⚠️ Common Mistakes
❌ Letting the milk boil unattended during parboiling
💡 Why: Milk can foam over and scorch quickly, leaving bitter specks and a cooked-milk smell.
✅ Fix: Use medium heat, stir every 1–2 minutes, and scrape the bottom; reduce heat if foam rises.
❌ Overcooking the rice before steaming
💡 Why: If the grains are fully cooked at the drain stage, the final steaming turns them mushy and sticky.
✅ Fix: Drain when the grain is mostly tender but still firm in the center; it should finish during steaming.
❌ Adding rose water early
💡 Why: Floral waters lose their top notes with prolonged heat and can taste perfumey rather than delicate.
✅ Fix: Drizzle rose water in the last 5 minutes of steaming or right after turning off the heat.
❌ Trying to unmold tahdig immediately
💡 Why: The crust is fragile when very hot and can tear or stick to the pot.
✅ Fix: Rest the pot covered for 10 minutes, then loosen edges with a spatula and unmold onto a plate.
🧊 How to Store
Cool leftovers within 2 hours. Refrigerate airtight up to 3 days. Reheat covered with 1–2 tablespoons water in a pot over low heat for 10–15 minutes or microwave gently; avoid high heat, which can dry the rice and dull the aromas. Tahdig is best eaten the same day.
📅 Make Ahead
Soak and rinse the rice up to 1 hour ahead (keep at room temperature). Toast nuts up to 3 days ahead and store airtight. Bloom saffron up to 24 hours ahead and refrigerate covered; bring to room temperature before using for best color dispersion.
🍽️ Pairs Well With
- Saffron chicken or roasted chicken
- Braised lamb or beef
- Cucumber-yogurt salad
- Fresh herbs and radishes
- Pickled vegetables
Regional Variations
- Northwestern Iran (Azerbaijan region)Often prepared for gatherings with a gentle sweetness, pronounced saffron color, and generous nut garnish; some cooks keep the rose water very subtle to emphasize saffron and milk.
- Tehran and central IranSometimes made less sweet and served more like a savory rice, paired with braised meats; the nut garnish may be lighter or replaced with a simple saffron top layer.
Ingredients
- 450 gBasmati rice (rinsed until water runs mostly clear)
- 18 gFine sea salt (for soaking and parboiling; do not add extra later)
- 720 mlWhole milk (room temperature to reduce scorching)
- 480 mlWater (for parboiling with milk)
- 40 gGranulated sugar (adjust to taste; this is lightly sweet)
- 90 gUnsalted butter (divided)
- 60 gPlain yogurt (for a tender, lightly crisp tahdig)
- 0.3 gSaffron threads (finely crushed)
- 30 mlHot water (just off the boil, for blooming saffron)
- 10 mlRose water (about 2 teaspoons; add at the end for best aroma)
- 50 gSlivered almonds (lightly toasted)
- 50 gShelled pistachios (roughly chopped, lightly toasted)
🔄 Substitutions
- Whole milk→ 2% milk plus 30 g extra butter
- Rose water→ Orange blossom water
- Slivered almonds and pistachios→ Toasted cashews or walnuts
Instructions
- 1
Rinse the basmati rice in several changes of cool water until the water runs mostly clear. Dissolve 12 g of the salt in 1.5 liters cool water, add the rice, and soak 60 minutes at room temperature. Meanwhile, crush saffron and steep it in 30 ml hot water for 10 minutes to bloom.
- 2
In a wide pot, bring 480 ml water and 720 ml milk to a gentle boil over medium heat, stirring often so the milk does not catch. Add the sugar and the remaining 6 g salt, stirring to dissolve. Drain the soaked rice well, then add it to the simmering milk mixture and stir once to separate grains.
- 3
Cook the rice at a lively simmer for 8–12 minutes, stirring every 1–2 minutes and scraping the bottom to prevent scorching. The grains should be mostly tender but still firm in the center. Immediately drain in a fine colander and rinse quickly with 250 ml warm water to stop cooking and wash off surface milk.
- 4
Prepare the tahdig base: melt 45 g butter in the same pot over medium-low heat. Stir in the yogurt until smooth and bubbling, about 30 seconds. Add 2–3 spatulas of the drained rice and mix to coat; spread into an even layer. This creates a tender, lightly crisp crust that releases cleanly.
- 5
Layer the remaining rice back into the pot in a loose mound, sprinkling 1–2 tablespoons of the bloomed saffron liquid between layers (reserve a little for the top). Use the handle of a spoon to poke 5–6 holes down to the bottom for steam vents. Dot the top with the remaining 45 g butter.
- 6
Cover the lid with a clean kitchen towel and place it tightly on the pot. Steam over medium heat for 10 minutes to build strong steam, then reduce to low and steam 35–40 minutes. In the final 5 minutes, drizzle the rose water over the rice and spoon the remaining saffron liquid on top.
- 7
While the rice finishes, toast almonds and pistachios in a dry skillet over medium heat for 2–3 minutes, stirring constantly, until fragrant; cool. Turn off heat and rest the pot, covered, for 10 minutes. Fluff the rice gently, plate it, and garnish with toasted nuts. Unmold the tahdig separately.
🪪 Recipe Passport
Cultural Background
Shir Polo is a festive Persian rice dish associated with celebratory meals, including Nowruz in many households. It is especially linked with northwestern Iranian cooking traditions, where fragrant rice dishes often feature saffron, floral waters, and nuts for special occasions.
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.
- Sholeh Zard (شله زرد) — Saffron Rice Pudding with Grape Syrup
- Sini Ordour Ba Goosht Sard (سینی اردور با گوشت سرد) — Persian Cold Meat Appetizer Platter
- Fesenjan (فسنجان) — Slow-Braised Duck in Walnut Pomegranate Stew
- Shirazi Polo (پلو شیرازی) — Fragrant layered saffron rice with chicken, eggplant, and jeweled barberries
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

Ash Reshteh (آش رشته) — Persian Herb, Bean, and Noodle Soup
Persian · Soups · 145 min

Kuku Sabzi (کوکو سبزی) — Emerald Persian Herb Frittata
Persian · Main Courses · 38 min

Smoked Silk Mirza Ghasemi (میرزا قاسمی) — Silky smoked eggplant with tomato, garlic, and eggs
Persian · Appetizers · 60 min

Nasi Lemak (Nasi Lemak) — Coconut Rice with Sambal and Classic Garnishes
Malaysian · Rice Dishes · 90 min

Indonesian Fried Rice (Nasi Goreng) — Sweet Soy Street-Style Rice
Indonesian · Rice Dishes · 35 min

Azerbaijani Milk Rice Porridge (Südlü Sıyıq) — Creamy Breakfast Bowl
Azerbaijani · Rice Dishes · 40 min

Keshkek (Keşkek) — Creamy Ceremonial Wheat and Lamb Stew
Turkish · Stews · 240 min

Sabzi Chalaw (سبزی چلو) — Afghan Herb Rice with Meat Stew
Afghan · Rice Dishes · 130 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.