Shirazi Kalam Polo (کلم پلو شیرازی) — Herb-Scented Cabbage Rice with Meatballs
Kalam Polo is a beloved Shiraz specialty that layers fluffy basmati rice with sweet sautéed cabbage, fresh herbs, and tiny spiced meatballs. It’s a comforting Persian polow often finished with saffron and a crisp tahdig.

Printable Recipe Card
Servings: 6 · Total: 110 min · Difficulty: medium
Ingredients (quick list)
- 450 g Basmati rice, rinsed (Soak 30 minutes in 1500 ml water + 12 g salt)
- 12 g Salt (For soaking water)
- 2500 ml Water (For boiling rice)
- 600 g Cabbage, finely shredded (Green cabbage preferred)
- 200 g Yellow onion, finely chopped
- 45 ml Vegetable oil
- 2 tsp Turmeric powder
- 0.5 tsp Ground cinnamon
- 0.5 tsp Black pepper, ground
- 40 g Fresh dill, finely chopped (About 1 packed cup chopped)
- 40 g Fresh parsley, finely chopped (About 1 packed cup chopped)
- 400 g Ground lamb (Or 90/10 ground beef)
+ 4 more in the full ingredients section below.
Steps (summary)
- Rinse the basmati rice in several changes of water until the water runs mostly clear. Soak it for 30 minutes in 1500 ml water m…
- Make the meatball mixture by combining ground lamb, grated onion, reserved 30 ml onion juice, turmeric, cinnamon, black pepper,…
- Shape the mixture into small meatballs about 20 g each (roughly 20 pieces). Heat 15 ml oil in a skillet over medium-high heat a…
- In the same skillet, add 45 ml oil and the chopped 200 g onion, then sauté over medium heat for 6–8 minutes until translucent w…
- Season the cabbage with 2 tsp turmeric, 0.5 tsp cinnamon, 0.5 tsp black pepper, and 5 g salt, then cook 2 minutes to bloom the…
- Bring 2500 ml water to a rolling boil in a large pot and add 10 g salt from your pantry if needed to make the water pleasantly…
+ 3 more steps in the full instructions section below.
Cultural Background
Kalam Polo is strongly associated with Shiraz home cooking, where herbs and gentle spices perfume everyday meals. Like many Persian polow dishes, it celebrates layering, steaming, and the prized tahdig that anchors the pot.
Equipment
💡 Tips
- Keep meatballs small (about 20 g each) so they cook through during steaming without drying out.
- Cook the cabbage until it is soft but not mushy; 10–12 minutes keeps a pleasant bite and prevents a watery polo.
- For extra aroma, reserve 10 ml saffron water to drizzle on the serving platter right before bringing it to the table.
⚠️ Common Mistakes
❌ Boiling the rice until fully soft before steaming
✅ Fix: Drain when the grain is tender outside but firm in the center (6–8 minutes) so it finishes perfectly during steaming.
❌ Leaving cabbage watery, making the polo soggy
✅ Fix: Sauté cabbage long enough to evaporate moisture and concentrate flavor before layering.
❌ Burning the tahdig
✅ Fix: Use medium heat only for the first 10 minutes, then low heat for the remainder, and ensure the pot has enough oil (30 ml).
🧊 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 over low heat for 12–15 minutes, or microwave 2–3 minutes; crisp tahdig separately in a dry skillet for 2–3 minutes.
📅 Make Ahead
Shape the meatballs up to 24 hours ahead and refrigerate covered, or brown them and chill for faster assembly. You can also sauté the cabbage-herb mixture a day ahead; bring to room temperature before layering and steaming.
🍽️ Pairs Well With
- Mast-o-khiar
- Shirazi salad
- torshi
- pickled garlic
- doogh.
Regional Variations
- Shiraz-style often uses lots of fresh herbs and tiny meatballs, with cinnamon as a signature warm note.
- Some households add 1 tsp dried rose petals (gol mohammadi) to the cabbage layer for a floral Shirazi accent.
- A vegetarian version replaces meatballs with 250 g cooked chickpeas and increases herbs by 20 g total.
Ingredients
- 16 ozBasmati rice, rinsed (Soak 30 minutes in 1500 ml water + 12 g salt)
- 12 gSalt (For soaking water)
- 10.5 cupWater (For boiling rice)
- 1⅓ lbCabbage, finely shredded (Green cabbage preferred)
- 7.1 ozYellow onion, finely chopped
- 3 tbspVegetable oil
- 2 tspTurmeric powder
- ½ tspGround cinnamon
- ½ tspBlack pepper, ground
- 1⅜ ozFresh dill, finely chopped (About 1 packed cup chopped)
- 1⅜ ozFresh parsley, finely chopped (About 1 packed cup chopped)
- 14 ozGround lamb (Or 90/10 ground beef)
- 4¼ ozYellow onion, grated (Squeeze lightly; keep 30 ml onion juice)
- ¼ tspSaffron threads (Grind and bloom in hot water)
- 2 tbspHot water (For blooming saffron)
- 1Lavash bread (About 25 g, cut to fit pot base)
🔄 Substitutions
- Ground lamb→ 90/10 ground beef
- Lavash bread→ Potato slices
- Fresh dill→ Dried dill
Instructions
- 1
Rinse the basmati rice in several changes of water until the water runs mostly clear. Soak it for 30 minutes in 1500 ml water mixed with 12 g salt, then drain well so the grains cook evenly and stay long.
- 2
Make the meatball mixture by combining ground lamb, grated onion, reserved 30 ml onion juice, turmeric, cinnamon, black pepper, and 6 g salt in a bowl. Knead for 2 minutes until tacky and cohesive, then rest it for 10 minutes so the meatballs hold their shape.
- 3
Shape the mixture into small meatballs about 20 g each (roughly 20 pieces). Heat 15 ml oil in a skillet over medium-high heat and brown the meatballs for 6–8 minutes, turning to color at least two sides; they do not need to be fully cooked through. Transfer them to a plate so they stay juicy while you build the polo.
- 4
In the same skillet, add 45 ml oil and the chopped 200 g onion, then sauté over medium heat for 6–8 minutes until translucent with light golden edges. Add the shredded cabbage and cook for 10–12 minutes, stirring often, until it softens and loses its raw bite but still has some texture.
- 5
Season the cabbage with 2 tsp turmeric, 0.5 tsp cinnamon, 0.5 tsp black pepper, and 5 g salt, then cook 2 minutes to bloom the spices. Stir in the chopped dill and parsley and cook 1 minute more, just until fragrant, to keep the herbs bright. Turn off the heat and fold the browned meatballs into the cabbage mixture.
- 6
Bring 2500 ml water to a rolling boil in a large pot and add 10 g salt from your pantry if needed to make the water pleasantly salty. Add the drained rice and boil for 6–8 minutes, stirring gently once or twice, until the grains are tender on the outside but still firm in the center. Drain immediately and rinse quickly with 250 ml cool water to stop cooking and prevent clumping.
- 7
Bloom the saffron by grinding 0.25 tsp threads and mixing with 30 ml hot water, then set it aside for 5 minutes to deepen the color. In a clean nonstick pot, warm 30 ml oil over medium heat and lay the lavash piece flat on the bottom to create a crisp tahdig. Keep the heat moderate so the bread fries gently without burning.
- 8
Layer the polo by adding a thin layer of rice over the lavash, then a layer of the cabbage-herb-meatball mixture, repeating until everything is used and finishing with rice on top. Use the handle of a spoon to poke 5–6 steam holes down to the bottom so moisture escapes and the rice steams evenly. Drizzle 20 ml of the bloomed saffron water over the top and cover the lid with a clean towel to catch condensation.
- 9
Steam on medium heat for 10 minutes until you see strong steam, then reduce to low and cook 45 minutes for fully set layers and a golden tahdig. Turn off the heat and rest the pot, covered, for 10 minutes so the rice firms up and unmolds cleanly. To serve, invert the pot onto a platter to reveal the tahdig, or spoon out the rice and lift the crust separately.
🪪 Recipe Passport
Cultural Background
Kalam Polo is strongly associated with Shiraz home cooking, where herbs and gentle spices perfume everyday meals. Like many Persian polow dishes, it celebrates layering, steaming, and the prized tahdig that anchors the pot.
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

Chelo Kebab Koobideh (چلو کباب کوبیده) — Persian Minced Meat Skewers with Saffron Rice
Persian · Kebabs · 75 min

Koofteh Havij (کوفته هویج) — Persian Carrot Meatballs in Saffron-Tomato Broth
Persian · Main Courses · 120 min

Pan-Seared Joojeh Kebab (جوجه کباب تابهای) — Persian Saffron Skillet Chicken
Persian · Kebabs · 34 min

Bibimbap (비빔밥) — Korean Mixed Rice Bowl
Korean · Rice Dishes · 80 min

Valencian Paella (Paella Valenciana) — Saffron Rice with Rabbit, Chicken, and Beans
Spanish · Rice Dishes · 70 min

Turkish Tomato Soup (Domates Çorbası) — Velvety butter-finished grated tomato soup
Turkish · Soups · 35 min

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

Chelo and Polow (چلو و پلو) — Persian Steamed Rice & Mixed Rice Master Guide
Persian · 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.