Skip to content
Zaffaron

Kabuli Pilaf (قابلی پلو) — Afghan Meat and Chickpea Rice

Kabuli Pilaf is a celebratory Afghan rice dish with tender meat, fluffy basmati, chickpeas, and a sweet-savory topping of fried dates brightened with bitter orange zest and warm spices.

By Zaffaron Kitchen· Published April 2, 2026 Verified Recipe
Gluten-Free Nut-Free Halal
Contains: dairy
720 min total Prep 600m · Cook 120m 6 servings 820 cal ~$5.2/serving
↓ Jump to Recipe
Kabuli Pilaf — Afghan Meat and Chickpea Rice - authentic persian recipe

Printable Recipe Card

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

Ingredients (quick list)

  • 200 g Dried chickpeas (soaked 8–12 hours, then drained)
  • 1500 ml Water (for boiling chickpeas (add more as needed))
  • 1 leaf Bay leaf
  • 6 g Kosher salt (for chickpea cooking water)
  • 500 g Basmati rice (rinsed until water runs mostly clear)
  • 900 g Lamb shoulder, boneless (cut into 4–5 cm cubes (or beef chuck))
  • 250 g Onion (thinly sliced)
  • 18 g Garlic (6 cloves, finely grated or minced)
  • 45 g Ghee (or neutral oil)
  • 3 g Ground cumin (about 1 tsp)
  • 3 g Ground coriander (about 1 tsp)
  • 2 g Ground black pepper (about 1 tsp)

+ 11 more in the full ingredients section below.

Steps (summary)

  1. Soak the chickpeas in plenty of cool water for 8–12 hours at room temperature, then drain. In a pot, combine chickpeas, 1500 ml…
  2. Cook the meat and build the broth: heat 45 g ghee in a heavy pot over medium-high heat. Add sliced onion and cook 8–10 minutes…
  3. Add 1200 ml water, bitter orange zest, and bitter orange juice. Bring to a boil, then cover and simmer on low 75–90 minutes, st…
  4. Parboil the rice: bring 2500 ml water to a rolling boil and add 18 g salt. Add rinsed basmati rice and boil 6–8 minutes, stirri…
  5. Bloom saffron by mixing crushed saffron with 60 ml hot water; rest 10 minutes. In a wide, heavy pot, warm 30 g melted ghee over…
  6. Steam (dum) the pilaf: use the handle of a spoon to poke 5–6 holes down through the rice to help steam circulate. Cover the lid…

+ 2 more steps in the full instructions section below.

Cultural Background

Kabuli Pilaf is widely served in Afghanistan for gatherings and special meals, valued for its layered aromas and careful steaming technique. Variations reflect household preferences and regional ingredient availability, especially in the choice of meat, dried fruit, and spice balance.

savorywarmly spicedsweet-saltycitrusyfluffy ricetender meatcreamy chickpeassticky-soft datessaffroncitrus zestcaramelized onioncumin and cardamom🌶 mild

Equipment

Large pot for chickpeasHeavy-bottomed pot with tight-fitting lid (for steaming rice)Fine-mesh strainerSkillet for frying datesMicroplane or fine grater (for zest)Kitchen scaleMeasuring spoons and cups

💡 Tips

  • For the cleanest, fluffy rice, rinse basmati until the water is mostly clear and drain thoroughly after parboiling.
  • Keep the meat barely covered during braising; too much liquid dilutes flavor and makes the final rice taste flat.
  • If bitter oranges are very sharp, reduce the juice to 15 ml and rely more on zest for aroma.
  • Seal the lid with a towel to prevent steam from escaping; steady, gentle steam is key to separate grains.
  • Dates burn quickly—use medium-low heat and remove as soon as they turn glossy.

⚠️ Common Mistakes

  • ❌ Overboiling the rice during parboil

    💡 Why: If the grains fully cook before steaming, they break and turn sticky during dum.

    ✅ Fix: Boil only until elongated with a firm center (6–8 minutes), then drain immediately and let steam-finish in the pot.

  • ❌ Adding too much braising liquid to the rice

    💡 Why: Excess liquid makes the bottom soggy and the rice clumps instead of steaming.

    ✅ Fix: Measure the reserved broth (about 360 ml) and drizzle evenly; if your pot is small, reduce to 300 ml.

  • ❌ Frying dates over high heat

    💡 Why: Dates scorch quickly, turning bitter and hard on the outside.

    ✅ Fix: Use medium-low heat and cook 2–3 minutes, turning, just until glossy and lightly caramelized.

  • ❌ Weak steam seal during dum

    💡 Why: Escaping steam leads to uneven cooking and dry rice on top.

    ✅ Fix: Wrap the lid with a clean towel and keep heat low and steady for 35–45 minutes.

🧊 How to Store

Cool within 2 hours. Refrigerate airtight up to 3 days. Reheat covered with 2–3 tbsp water in a pot on low 15–20 minutes or microwave covered 2–4 minutes, stirring once. Freeze up to 2 months; thaw overnight in the refrigerator before reheating.

📅 Make Ahead

Soak chickpeas up to 24 hours refrigerated. Cook chickpeas and braise meat 1 day ahead; refrigerate separately. Reheat meat with a little broth, then parboil rice and steam fresh for best texture. Dates can be halved and zested ahead; fry just before serving.

🍽️ Pairs Well With

  • Cucumber-yogurt sauce (if dairy is acceptable)
  • Simple tomato and onion salad with lemon
  • Pickled vegetables
  • Fresh herbs and radishes

Regional Variations

  • Kabul and central AfghanistanOften features a pronounced sweet-savory contrast, with dried fruits on top and a gentle, aromatic spice profile; meat may be lamb or beef depending on household preference.
  • Northern AfghanistanMay include more legumes and a deeper onion-browned broth, sometimes leaning heavier on cumin and black pepper for a more robust savory base.
family gatherings holiday meals weekend cooking guest dinner
#celebration#one-pot#rice-dish#meat#gluten-free

Ingredients

  • 200 gDried chickpeas (soaked 8–12 hours, then drained)
  • 1500 mlWater (for boiling chickpeas (add more as needed))
  • 1 leafBay leaf
  • 6 gKosher salt (for chickpea cooking water)
  • 500 gBasmati rice (rinsed until water runs mostly clear)
  • 900 gLamb shoulder, boneless (cut into 4–5 cm cubes (or beef chuck))
  • 250 gOnion (thinly sliced)
  • 18 gGarlic (6 cloves, finely grated or minced)
  • 45 gGhee (or neutral oil)
  • 3 gGround cumin (about 1 tsp)
  • 3 gGround coriander (about 1 tsp)
  • 2 gGround black pepper (about 1 tsp)
  • 1 gGround cinnamon (about 1/2 tsp)
  • 0.5 gGround cardamom (about 1/4 tsp)
  • 2 gTurmeric (about 1 tsp)
  • 4Whole cloves
  • 4 gBitter orange zest (finely grated (or use substitute listed))
  • 30 mlBitter orange juice (about 2 tbsp)
  • 180 gPitted dates (halved lengthwise)
  • 30 mlNeutral oil (for frying dates)
  • 0.2 gSaffron threads (about 1/8 tsp, crushed)
  • 60 mlHot water (to bloom saffron)
  • 360 mlMeat braising liquid (reserved) (about 1 1/2 cups, strained)

🔄 Substitutions

  • Bitter orange zest and juice→ Orange zest + 15 ml lemon juice (plus 15 ml orange juice)
  • Lamb shoulder→ Beef chuck
  • Ghee→ Neutral oil (sunflower, canola) or clarified butter

Instructions

  1. 1

    Soak the chickpeas in plenty of cool water for 8–12 hours at room temperature, then drain. In a pot, combine chickpeas, 1500 ml water, bay leaf, and 6 g salt. Bring to a boil, reduce to a steady simmer, and cook 45–75 minutes until tender but intact. Drain and discard bay leaf; set chickpeas aside.

  2. 2

    Cook the meat and build the broth: heat 45 g ghee in a heavy pot over medium-high heat. Add sliced onion and cook 8–10 minutes until deep golden. Add garlic and stir 30 seconds. Add lamb, 10 g salt, cumin, coriander, pepper, turmeric, cinnamon, cardamom, and cloves; brown 6–8 minutes, turning often.

  3. 3

    Add 1200 ml water, bitter orange zest, and bitter orange juice. Bring to a boil, then cover and simmer on low 75–90 minutes, stirring occasionally, until the meat is fork-tender. Uncover for the last 10 minutes to slightly reduce. Strain and reserve 360 ml braising liquid for rice; keep meat warm and moist with a little broth.

  4. 4

    Parboil the rice: bring 2500 ml water to a rolling boil and add 18 g salt. Add rinsed basmati rice and boil 6–8 minutes, stirring gently once or twice, until the grains are elongated but still firm in the center. Drain immediately and rinse quickly with 250 ml cool water to stop cooking; let drain 5 minutes.

  5. 5

    Bloom saffron by mixing crushed saffron with 60 ml hot water; rest 10 minutes. In a wide, heavy pot, warm 30 g melted ghee over medium. Spread half the rice in an even layer, then scatter the cooked chickpeas and the warm meat over it. Top with remaining rice, shaping into a gentle mound, and drizzle the saffron water and 360 ml reserved braising liquid evenly.

  6. 6

    Steam (dum) the pilaf: use the handle of a spoon to poke 5–6 holes down through the rice to help steam circulate. Cover the lid with a clean towel and seal the pot. Cook 10 minutes over medium to build steam, then reduce to low and steam 35–45 minutes. The rice should be fluffy and aromatic, not wet.

  7. 7

    Prepare the sweet topping: heat 30 ml neutral oil in a skillet over medium-low. Add halved dates and cook 2–3 minutes, turning, until glossy and lightly caramelized; do not burn. Off heat, toss with 2 g bitter orange zest. Keep warm. If desired, loosen dates with 1–2 tbsp hot water for a softer, saucier finish.

  8. 8

    Rest 10 minutes off the heat before serving. Fluff the rice gently with a fork, lifting from the edges to avoid crushing grains. Transfer to a platter, arranging meat and chickpeas through the rice. Spoon the fried dates over the top. Serve immediately while hot, with extra bitter orange zest at the table if you like.

🪪 Recipe Passport

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

Cultural Background

Kabuli Pilaf is widely served in Afghanistan for gatherings and special meals, valued for its layered aromas and careful steaming technique. Variations reflect household preferences and regional ingredient availability, especially in the choice of meat, dried fruit, and spice balance.

Regional Variations

Kabul and central Afghanistan: Often features a pronounced sweet-savory contrast, with dried fruits on top and a gentle, aromatic spice profile; meat may be lamb or beef depending on household preference.
Northern Afghanistan: May include more legumes and a deeper onion-browned broth, sometimes leaning heavier on cumin and black pepper for a more robust savory base.

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

820
Calories
37g
Protein
28g
Fat
105g
Carbs
10g
Fiber
920mg
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.