Esfanaj Polo ba Ghelgheli (اسفناج پلو با قلقلی) — Spinach Rice with Mini Meatballs
Esfanaj Polo is a refined Persian spinach rice pilaf layered with tender mini meatballs, brightened with verjuice and crowned with crisp bread tahdig. Fragrant basmati and vivid greens make it a celebratory, elegant main.

Printable Recipe Card
Servings: 6 · Total: 145 min · Difficulty: medium
Ingredients (quick list)
- 450 g Basmati rice (rinsed until water runs mostly clear)
- 30 g Fine sea salt (for soaking and boiling water; plus more to taste)
- 3000 g Water (for boiling rice)
- 90 ml Vegetable oil (divided)
- 90 g Lavash bread (torn into 10–12 cm pieces for tahdig)
- 450 g Ground lamb (or beef) (15–20% fat for juicier meatballs)
- 200 g Yellow onion (grated on fine holes, then squeezed dry)
- 1.5 g Black pepper (freshly ground)
- 2 g Ground turmeric
- 700 g Fresh spinach (washed, thoroughly dried, roughly chopped)
- 60 ml Verjuice (ab-ghooreh) (add gradually; adjust to tartness preference)
Steps (summary)
- Rinse the basmati rice 5–6 times until the water is mostly clear. Soak it in 1200 g water mixed with 20 g of the salt for 45 mi…
- Make the mini meatballs: combine ground lamb, grated-and-squeezed onion, 6 g salt, black pepper, and 2 g turmeric. Knead firmly…
- Heat 30 ml oil in a wide skillet over medium-high heat (about 190°C surface temperature). Brown meatballs in two batches for 6–…
- In the same skillet, add 30 ml oil and sliced onions for the spinach mixture. Sauté over medium heat for 10–12 minutes until de…
- Lower heat to medium-low and stir in verjuice. Start with 45 ml, simmer 2 minutes, then add the remaining 15 ml if you want mor…
- Bring 3000 g water to a rolling boil in a large pot. Add the remaining 10 g salt. Drain soaked rice well and add it to the boil…
+ 4 more steps in the full instructions section below.
Cultural Background
Esfanaj Polo is a classic Iranian polo that highlights how Persian cooking balances herbs and greens with gentle spices and bright acidity. The bread tahdig is a prized centerpiece at the table, often negotiated for, and the use of ab-ghooreh reflects Iran’s love of tart, fruit-based souring agents.
Equipment
💡 Tips
- Dry the spinach well before chopping; excess water makes the polo soggy and softens tahdig.
- Squeeze grated onion for meatballs until nearly dry; too much onion juice can make meatballs crack.
- For longer grains, keep the rice soak at 45–60 minutes and do not overboil past the firm-core stage.
- If using very sour verjuice, start with 30 ml and increase after tasting; acidity varies by brand.
⚠️ Common Mistakes
❌ Overboiling the rice until fully soft before steaming
💡 Why: Fully cooked grains break during layering and turn mushy after steaming, losing the signature fluffy polo texture.
✅ Fix: Boil only until the outside is tender but the center remains firm (6–8 minutes), then drain immediately.
❌ Not cooking off spinach moisture
💡 Why: Excess water steams into the rice, making it heavy and preventing tahdig from crisping.
✅ Fix: Sauté spinach until the pan is nearly dry and the mixture looks glossy, not watery; increase heat briefly to evaporate.
❌ Tahdig burning before the rice finishes steaming
💡 Why: High heat for too long scorches the bread while the rice above is still under-steamed.
✅ Fix: Use medium-high only for 8 minutes to build steam, then reduce to low for the full 45 minutes.
❌ Meatballs falling apart in the pan
💡 Why: Wet onion and insufficient kneading reduce binding, and frequent stirring breaks the surface crust.
✅ Fix: Squeeze grated onion dry, knead 3 minutes, rest 15 minutes, and brown in batches with minimal turning.
🧊 How to Store
Cool leftovers within 2 hours. Refrigerate in an airtight container for up to 3 days. Reheat covered with 1–2 tbsp water in a pot over low heat for 15–20 minutes, or microwave covered. Tahdig is best recrisped in a dry skillet over medium heat for 3–5 minutes per side.
📅 Make Ahead
Form meatballs up to 24 hours ahead and refrigerate covered. Cook the spinach-onion-verjuice mixture up to 2 days ahead; chill, then rewarm before layering. Rice should be parboiled and steamed the same day for best texture and tahdig crispness.
🍽️ Pairs Well With
- Mast-o Khiar (yogurt with cucumber and herbs)
- Shirazi salad
- Torshi (Persian pickles)
- Fresh herbs (sabzi khordan) and radishes
Regional Variations
- TehranOften made with small ghelgheli meatballs and a pronounced sour note from ab-ghooreh, sometimes served with extra verjuice at the table for individual adjustment.
- Gilan (Caspian region)Leans more tart and herb-forward; cooks may add a little dried mint or local sour agents and use more greens, reflecting the region’s love of vibrant, acidic flavors.
Ingredients
- 450 gBasmati rice (rinsed until water runs mostly clear)
- 30 gFine sea salt (for soaking and boiling water; plus more to taste)
- 3000 gWater (for boiling rice)
- 90 mlVegetable oil (divided)
- 90 gLavash bread (torn into 10–12 cm pieces for tahdig)
- 450 gGround lamb (or beef) (15–20% fat for juicier meatballs)
- 200 gYellow onion (grated on fine holes, then squeezed dry)
- 1.5 gBlack pepper (freshly ground)
- 2 gGround turmeric
- 700 gFresh spinach (washed, thoroughly dried, roughly chopped)
- 60 mlVerjuice (ab-ghooreh) (add gradually; adjust to tartness preference)
🔄 Substitutions
- Ground lamb (or beef)→ Ground turkey (dark meat) 450 g
- Verjuice (ab-ghooreh) 60 ml→ Fresh lemon juice 35 ml + water 25 ml
- Lavash bread for tahdig→ Sangak bread 90 g, torn
Instructions
- 1
Rinse the basmati rice 5–6 times until the water is mostly clear. Soak it in 1200 g water mixed with 20 g of the salt for 45 minutes at room temperature. This soaking lengthens grains and helps them parboil evenly, which is essential for a fluffy, layered polo with distinct kernels.
- 2
Make the mini meatballs: combine ground lamb, grated-and-squeezed onion, 6 g salt, black pepper, and 2 g turmeric. Knead firmly for 3 minutes until tacky. Cover and rest 15 minutes (this improves binding). Roll into 18–22 g balls (about 24 pieces), keeping sizes uniform for even browning.
- 3
Heat 30 ml oil in a wide skillet over medium-high heat (about 190°C surface temperature). Brown meatballs in two batches for 6–8 minutes total, turning to color most sides; they do not need to cook through. Transfer to a plate. Pour off excess fat if needed, leaving a thin film to keep flavors in the pan.
- 4
In the same skillet, add 30 ml oil and sliced onions for the spinach mixture. Sauté over medium heat for 10–12 minutes until deeply golden at the edges. Stir in 1.5 g turmeric for 30 seconds. Add spinach in 2–3 additions, cooking 8–10 minutes until wilted and most moisture evaporates; season with 4 g salt and 1 g pepper.
- 5
Lower heat to medium-low and stir in verjuice. Start with 45 ml, simmer 2 minutes, then add the remaining 15 ml if you want more tartness. Return meatballs to the spinach pan and gently toss for 3 minutes so they absorb the tangy juices. Remove from heat; the mixture should be moist but not watery.
- 6
Bring 3000 g water to a rolling boil in a large pot. Add the remaining 10 g salt. Drain soaked rice well and add it to the boiling water. Boil 6–8 minutes, stirring once at the start; the grain should be soft on the outside with a firm core. Drain in a colander and rinse quickly with 250 g warm water to stop cooking.
- 7
Prepare tahdig: in a nonstick 24–26 cm pot, warm 60 ml vegetable oil over medium heat for 1 minute. Arrange lavash pieces to fully cover the bottom, overlapping slightly. Spoon 2 ladles of parboiled rice on top and press gently to create a protective layer; this prevents the bread from burning before the rice steams through.
- 8
Layer the polo: add one-third of the rice, then half of the spinach-meatball mixture, then another third of rice, then the remaining spinach mixture, finishing with the last third of rice. Drizzle 30 ml oil over the top. If your spinach mixture was very dry, drizzle 60 ml water around the edges for better steam.
- 9
With the handle of a spoon, poke 5–6 steam holes down to the bottom. Cover the lid with a clean towel and place it on the pot. Steam on medium-high for 8 minutes until you see strong steam, then reduce to low and cook 45 minutes. Rest off heat, covered, for 10 minutes to set the layers.
- 10
To serve, loosen the edges with a thin spatula. Invert the pot onto a platter to reveal the golden lavash tahdig, or remove tahdig separately if preferred. Fluff the rice gently, keeping spinach and meatballs distributed. Taste and adjust with 5–15 ml extra verjuice at the table if you like a brighter, sharper finish.
🪪 Recipe Passport
Cultural Background
Esfanaj Polo is a classic Iranian polo that highlights how Persian cooking balances herbs and greens with gentle spices and bright acidity. The bread tahdig is a prized centerpiece at the table, often negotiated for, and the use of ab-ghooreh reflects Iran’s love of tart, fruit-based souring agents.
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

Jeweled Rice (مرصع پلو) — Festive Persian rice with saffron chicken and jeweled fruits
Persian · Rice Dishes · 135 min

Persian-Style Pizza-Chips (خوراک چیپس و پنیر) — Street-Food Chip Bake with Chicken and Mozzarella
Persian · Main Courses · 45 min

Yatimcheh (یتیمچه) — Persian Slow-Cooked Summer Vegetable Stew
Persian · Stews · 100 min

Nigerian Jollof Rice (Jollof Rice) — Smoky Party-Style Tomato Rice
West african · Rice Dishes · 80 min

Nasi Kandar (Nasi Kandar) — Penang Mamak Curry Rice Plate
Malaysian · Rice Dishes · 110 min

Turkish Cağ Kebab (Cağ Kebabı) — Erzurum Slow-Roasted Charcoal Lamb Skewer
Turkish · Kebabs · 160 min

Salgam Juice (Şalgam) — Spicy, tangy fermented black-carrot drink
Turkish · Drinks · 25 min

Emirati Machboos (مكبوس إماراتي) — Spiced Chicken Rice with Dried Lime
Gulf arabian · Rice Dishes · 110 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.