Skip to content
Zaffaron

Havij Polo (هویج پلو) — Persian Carrot Rice

Havij Polo is a festive Persian rice dish layered with saffron, caramelized carrots, and savory meatballs. Long-grain basmati steams to fluffy perfection over a crisp tahdig, finished with pistachios and warm cinnamon.

By Zaffaron Kitchen· Published March 16, 2026 Verified Recipe
Gluten-Free Halal
Contains: dairy, eggs, tree nuts
145 min total Prep 70m · Cook 75m 6 servings 710 cal ~$3.35/serving
↓ Jump to Recipe
Havij Polo — Persian Carrot Rice - authentic persian recipe

Printable Recipe Card

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

Ingredients (quick list)

  • 500 g Basmati rice (rinsed until water runs mostly clear)
  • 2400 ml Water (for parboiling the rice)
  • 24 g Salt (about 4 tsp; for parboiling water)
  • 0.5 g Saffron threads (finely crushed)
  • 60 ml Hot water (for blooming saffron)
  • 650 g Carrots (peeled; cut into thin matchsticks or julienne)
  • 250 g Onion (finely diced)
  • 60 g Butter (divided)
  • 60 ml Cooking oil (neutral oil such as sunflower or canola; divided)
  • 30 g Sugar (about 2 tbsp; adjust to carrot sweetness)
  • 2 g Ground cinnamon (about 1 tsp)
  • 450 g Ground beef (80–90% lean)

+ 4 more in the full ingredients section below.

Steps (summary)

  1. Bloom the saffron: crush saffron threads to a fine powder, then stir in 60 ml hot water. Cover and steep 15–20 minutes; the liq…
  2. Soak the rice: place rinsed basmati in a bowl, cover with cool water, and add 1 tbsp of the measured salt (about 6 g). Soak 30…
  3. Caramelize the carrots: in a wide skillet over medium heat, melt 40 g butter with 45 ml oil. Add 250 g diced onion and cook 8–1…
  4. Braise the carrot mixture: add 120 ml water, cover, and cook 12–15 minutes on medium-low until carrots are tender but still hol…
  5. Make the meatballs: combine ground beef, 120 g grated squeezed onion, 6 g salt, black pepper, and 1/2 tsp cinnamon. Mix 1–2 min…
  6. Brown and finish the meatballs: heat 15 ml oil in a skillet over medium-high. Brown meatballs 6–8 minutes, turning to color mos…

+ 6 more steps in the full instructions section below.

Cultural Background

Havij Polo is commonly prepared for family gatherings and celebratory meals, valued for its bright color and balance of sweet and savory flavors. The technique of steaming rice with a crisp tahdig reflects a broader Persian rice tradition that emphasizes both aroma and texture.

savorygently sweetbutterywarm-spicedfluffy ricetender carrotsjuicy meatballscrispy tahdigsaffroncaramelized onioncinnamonbutter🌶 low

Equipment

Large pot for parboiling rice (at least 5 L)ColanderHeavy nonstick or well-seasoned pot with lid (24–26 cm) for steamingWide skilletMixing bowlsWooden spoonKitchen towel for the lidMicroplane or grater (for onion)Instant-read thermometer (optional, for meatballs)

💡 Tips

  • Cut carrots into uniform thin matchsticks so they cook evenly and stay distinct after steaming.
  • Keep the carrot mixture fairly dry before layering; excess liquid can soften the tahdig and make the rice clump.
  • For deeper saffron color, bloom saffron with hot (not boiling) water and steep at least 15 minutes.
  • If your stove runs hot, use a heat diffuser during the low-heat steaming phase to prevent scorched tahdig.
  • Small meatballs distribute better through the rice and reheat more evenly than large ones.

⚠️ Common Mistakes

  • ❌ Overboiling the rice during parboil

    💡 Why: If the grains fully cook in water, they break and turn mushy during steaming, losing the distinct long-grain texture.

    ✅ Fix: Boil only until the outside is soft but the center is still firm (6–8 minutes). Drain promptly and let it steam-dry before layering.

  • ❌ Leaving the carrot mixture watery

    💡 Why: Extra liquid migrates into the rice, making it clumpy and softening the tahdig instead of crisping it.

    ✅ Fix: After braising, uncover and cook 3–5 minutes to evaporate moisture until carrots look glossy and the pan is nearly dry.

  • ❌ Cooking tahdig on high heat for too long

    💡 Why: High heat can burn the crust before the rice steams through, creating bitter flavors and uneven doneness.

    ✅ Fix: Use medium heat only for the first 10 minutes to build steam, then reduce to low for 45 minutes; use a diffuser if needed.

  • ❌ Not squeezing grated onion for meatballs

    💡 Why: Excess onion juice loosens the mixture, causing meatballs to crack and shed liquid into the rice layers.

    ✅ Fix: Grate onion, then squeeze firmly in a clean towel or mesh strainer; mix meat until tacky so it holds shape.

🧊 How to Store

Cool leftovers within 2 hours. Refrigerate airtight up to 3 days. Reheat covered with 1–2 tbsp water in a saucepan on low 10–15 minutes or microwave covered 2–3 minutes, stirring once. Tahdig is best fresh; re-crisp in a skillet with 1 tsp oil.

📅 Make Ahead

Bloom saffron up to 24 hours ahead and refrigerate covered; bring to room temperature before using. Carrot mixture can be cooked 1 day ahead and refrigerated airtight. Meatballs can be browned 1 day ahead; rewarm gently before layering. Parboil and steam rice the day of serving for best texture.

🍽️ Pairs Well With

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

Regional Variations

  • Tehran-style home cookingOften made with small meatballs and a yogurt-saffron tahdig, emphasizing a clear sweet-savory balance with cinnamon and a modest amount of sugar.
  • Northern Iran-inspiredSometimes includes more aromatic touches such as extra saffron and a richer finish with butter, and may be served with a brighter, more herb-forward side salad.
Nowruz-style gatherings Family celebrations Dinner parties Weekend meals
#festival#rice-dish#saffron#tahdig#stovetop

Ingredients

  • 500 gBasmati rice (rinsed until water runs mostly clear)
  • 2400 mlWater (for parboiling the rice)
  • 24 gSalt (about 4 tsp; for parboiling water)
  • 0.5 gSaffron threads (finely crushed)
  • 60 mlHot water (for blooming saffron)
  • 650 gCarrots (peeled; cut into thin matchsticks or julienne)
  • 250 gOnion (finely diced)
  • 60 gButter (divided)
  • 60 mlCooking oil (neutral oil such as sunflower or canola; divided)
  • 30 gSugar (about 2 tbsp; adjust to carrot sweetness)
  • 2 gGround cinnamon (about 1 tsp)
  • 450 gGround beef (80–90% lean)
  • 1 gGround black pepper (about 1/2 tsp)
  • 120 gPlain yogurt (full-fat preferred; for tahdig base)
  • 1Egg yolk (for a crisp, cohesive tahdig)
  • 40 gPistachios (shelled, unsalted; roughly chopped)

🔄 Substitutions

  • Ground beef→ Ground lamb
  • Pistachios→ Slivered almonds
  • Plain yogurt (tahdig)→ Thinly sliced potatoes (tahdig)

Instructions

  1. 1

    Bloom the saffron: crush saffron threads to a fine powder, then stir in 60 ml hot water. Cover and steep 15–20 minutes; the liquid should turn deep orange-red. Keep warm near the stove so it stays fluid for layering and finishing the rice.

  2. 2

    Soak the rice: place rinsed basmati in a bowl, cover with cool water, and add 1 tbsp of the measured salt (about 6 g). Soak 30 minutes while you prep. Soaking helps the grains lengthen and reduces breakage during parboiling.

  3. 3

    Caramelize the carrots: in a wide skillet over medium heat, melt 40 g butter with 45 ml oil. Add 250 g diced onion and cook 8–10 minutes until translucent and lightly golden. Add carrots, sugar, and 1 tsp cinnamon; stir 2 minutes to coat.

  4. 4

    Braise the carrot mixture: add 120 ml water, cover, and cook 12–15 minutes on medium-low until carrots are tender but still hold shape. Uncover and cook 3–5 minutes to evaporate excess moisture; you want glossy carrots, not watery syrup. Set aside.

  5. 5

    Make the meatballs: combine ground beef, 120 g grated squeezed onion, 6 g salt, black pepper, and 1/2 tsp cinnamon. Mix 1–2 minutes until tacky. Form 24 small meatballs (about 25–28 g each) for even cooking and easy layering in the rice.

  6. 6

    Brown and finish the meatballs: heat 15 ml oil in a skillet over medium-high. Brown meatballs 6–8 minutes, turning to color most sides. Add 60 ml water, cover, and simmer 6–7 minutes until cooked through (at least 71°C/160°F). Rest covered 5 minutes.

  7. 7

    Parboil the rice: bring 2400 ml water to a rolling boil in a large pot; add remaining salt (about 18 g). Drain soaked rice and add to boiling water. Boil 6–8 minutes, stirring once or twice, until grains are softened on the outside but still firm in the center.

  8. 8

    Drain and steam-dry: drain rice in a colander and rinse briefly with 250 ml cool water to stop cooking and reduce surface starch. Let it drain 5 minutes. This short rest helps prevent a gummy texture and makes layering easier.

  9. 9

    Prepare the tahdig base: in a bowl, whisk yogurt and egg yolk until smooth. Add 2 tbsp bloomed saffron (about 30 ml) and 150 g of the parboiled rice; mix gently. In a heavy 24–26 cm nonstick or well-seasoned pot, heat 45 ml oil and 20 g butter over medium for 1 minute.

  10. 10

    Build the layers: spread the saffron-yogurt rice evenly on the pot bottom for tahdig. Add one-third of remaining rice, then scatter half the carrot mixture and half the meatballs. Repeat with another third rice, remaining carrots and meatballs, then finish with the last rice.

  11. 11

    Steam the rice: use the handle of a spoon to poke 5–6 steam holes down to the bottom. Drizzle remaining bloomed saffron over the top (reserve 1 tbsp if you want a brighter finish). Cover lid with a clean towel and place on the pot. Cook 10 minutes over medium, then 45 minutes over low.

  12. 12

    Finish and serve with tahdig: turn off heat and rest covered 10 minutes. Melt 15 g butter and drizzle over the rice; add reserved saffron if desired. Fluff gently, keeping layers intact. Invert pot onto a platter to release tahdig, or lift tahdig out in pieces. Garnish with pistachios.

🪪 Recipe Passport

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

Cultural Background

Havij Polo is commonly prepared for family gatherings and celebratory meals, valued for its bright color and balance of sweet and savory flavors. The technique of steaming rice with a crisp tahdig reflects a broader Persian rice tradition that emphasizes both aroma and texture.

Regional Variations

Tehran-style home cooking: Often made with small meatballs and a yogurt-saffron tahdig, emphasizing a clear sweet-savory balance with cinnamon and a modest amount of sugar.
Northern Iran-inspired: Sometimes includes more aromatic touches such as extra saffron and a richer finish with butter, and may be served with a brighter, more herb-forward side salad.

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

710
Calories
28g
Protein
27g
Fat
88g
Carbs
4g
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.