Kalam Polow Shirazi (کلم پلو شیرازی) — Shirazi Herb Cabbage Rice with Meatballs
Kalam Polow Shirazi is a signature layered rice from Shiraz, perfumed with fresh herbs and warm spices. Tender cabbage and small meatballs cook into the rice, creating a festive, aromatic dish often served for gatherings.

Printable Recipe Card
Servings: 6 · Total: 110 min · Difficulty: medium
Ingredients (quick list)
- 450 g Basmati rice, rinsed (Soak 30 minutes in 1.5 L water with 18 g salt)
- 18 g Sea salt (For soaking water)
- 650 g White cabbage, cored and thinly sliced
- 220 g Yellow onion, finely chopped
- 45 ml Vegetable oil
- 2 tsp Ground turmeric
- 1 tsp Black pepper, freshly ground
- 2 tsp Advieh (Persian rice spice) (Typically includes cinnamon, cardamom, rose, cumin)
- 40 g Fresh dill, finely chopped
- 70 g Leek (white and light green parts), finely sliced
- 25 g Fresh basil, finely chopped
- 35 g Fresh parsley, finely chopped
+ 4 more in the full ingredients section below.
Steps (summary)
- Rinse the basmati rice in several changes of cold water until the water runs mostly clear. Soak it for 30 minutes in 1.5 liters…
- Make the meatball mixture by combining the ground beef or lamb with the grated onion, 1 tsp turmeric, 1 tsp advieh, 0.5 tsp bla…
- Heat 15 ml vegetable oil in a wide skillet over medium-high heat. Brown the meatballs for 5–7 minutes, turning to color most si…
- In the same skillet, add 45 ml vegetable oil and the 220 g chopped onion, then sauté for 6–8 minutes until lightly golden. Add…
- Stir the chopped dill, leek, basil, and parsley into the cabbage and cook for 2 minutes to release their aroma without dulling…
- Bring a large pot of water (about 3 liters) to a rolling boil. Add the drained rice and boil for 6–8 minutes until the grains a…
+ 5 more steps in the full instructions section below.
Cultural Background
A beloved specialty of Shiraz, Kalam Polow is often cooked for family gatherings and shared tables, showcasing the city’s love of fragrant herbs and layered rice technique. Its balance of cabbage sweetness and advieh warmth makes it both comforting and celebratory.
Equipment
💡 Tips
- Slice the cabbage thinly (3–5 mm) so it softens and sweetens instead of staying watery or crunchy in the final steam.
- Keep the meatballs small (about 25 g each) so they finish cooking during steaming and stay juicy rather than dense.
- If your herbs are very wet after washing, pat them dry for 3 minutes; excess moisture can make the rice clumpy and soften the tahdig.
⚠️ Common Mistakes
❌ Overboiling the rice until fully cooked before steaming
✅ Fix: Parboil only 6–8 minutes so the grains finish cooking during the final steam and stay separate.
❌ Adding herbs too early and cooking them for a long time
✅ Fix: Stir herbs in at the end and cook only 2 minutes to keep the aroma bright and the color fresh.
❌ Wet cabbage and herbs making the rice clumpy and the tahdig soft
✅ Fix: Sauté cabbage until moisture evaporates and pat herbs dry; steam on low after the first 10 minutes to avoid condensation.
🧊 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.
📅 Make Ahead
Chop herbs and slice cabbage up to 24 hours ahead and refrigerate separately in sealed containers. Form meatballs up to 1 day ahead and keep chilled; parboil and steam the rice just before serving for best texture.
🍽️ Pairs Well With
- Shirazi salad
- mast-o-khiar
- torshi
- fresh herbs platter (sabzi khordan)
- doogh
Regional Variations
- Some Shirazi cooks add 30 ml verjuice (ab-ghooreh) to the cabbage for a brighter tang during sautéing.
- A meatless version replaces meatballs with 250 g cooked chickpeas and increases herbs by 20 g for a fuller flavor.
- In some households, a potato tahdig is made by lining the pot with 250 g thin potato slices instead of a rice base.
Ingredients
- 16 ozBasmati rice, rinsed (Soak 30 minutes in 1.5 L water with 18 g salt)
- 18 gSea salt (For soaking water)
- 1.4 lbWhite cabbage, cored and thinly sliced
- 7¾ ozYellow onion, finely chopped
- 3 tbspVegetable oil
- 2 tspGround turmeric
- 1 tspBlack pepper, freshly ground
- 2 tspAdvieh (Persian rice spice) (Typically includes cinnamon, cardamom, rose, cumin)
- 1⅜ ozFresh dill, finely chopped
- 2½ ozLeek (white and light green parts), finely sliced
- 25 gFresh basil, finely chopped
- 1¼ ozFresh parsley, finely chopped
- 16 ozGround beef or lamb (80–85% lean works best)
- 4¼ ozYellow onion, grated (Squeeze lightly to remove excess juice)
- 1 tspTurmeric
- ¼ cupWater (Mixed with oil to help steam the rice)
🔄 Substitutions
- Ground beef or lamb→ Ground turkey (93% lean)
- Fresh herbs (dill, leek, basil, parsley)→ Frozen mixed Persian herbs, thawed and squeezed dry
- Advieh (Persian rice spice)→ 1 tsp ground cumin + 1 tsp ground cinnamon
Instructions
- 1
Rinse the basmati rice in several changes of cold water until the water runs mostly clear. Soak it for 30 minutes in 1.5 liters of water mixed with 18 g sea salt, then drain well and set aside.
- 2
Make the meatball mixture by combining the ground beef or lamb with the grated onion, 1 tsp turmeric, 1 tsp advieh, 0.5 tsp black pepper, and 4 g of the 8 g seasoning salt. Knead for 2 minutes until tacky and cohesive, then form 24 small meatballs (about 25 g each) so they cook quickly and stay tender.
- 3
Heat 15 ml vegetable oil in a wide skillet over medium-high heat. Brown the meatballs for 5–7 minutes, turning to color most sides; they do not need to be fully cooked through, then transfer them to a plate.
- 4
In the same skillet, add 45 ml vegetable oil and the 220 g chopped onion, then sauté for 6–8 minutes until lightly golden. Add the sliced cabbage, 2 tsp turmeric, 1 tsp black pepper, 2 tsp advieh, and the remaining 4 g seasoning salt, then cook for 12–15 minutes until the cabbage is softened and lightly caramelized.
- 5
Stir the chopped dill, leek, basil, and parsley into the cabbage and cook for 2 minutes to release their aroma without dulling the color. Return the browned meatballs to the skillet and toss gently for 1 minute so everything is evenly seasoned, then remove from heat.
- 6
Bring a large pot of water (about 3 liters) to a rolling boil. Add the drained rice and boil for 6–8 minutes until the grains are softened on the outside but still firm in the center, then drain in a colander and rinse quickly with 250 ml cold water to stop overcooking.
- 7
Set a heavy-bottomed pot over medium heat and add 30 ml vegetable oil. Let the oil warm for 60 seconds, then add a thin layer of parboiled rice to cover the base; this helps form a crisp tahdig and prevents sticking.
- 8
Layer the dish by adding one-third of the rice, then half of the cabbage-herb-meatball mixture, then another third of the rice, then the remaining cabbage mixture, and finish with the last third of the rice. Shape the rice into a gentle mound and poke 5–6 holes with the handle of a spoon to create steam channels.
- 9
Mix 60 ml water with 15 ml of the oil left in the skillet if available, or use plain oil, then drizzle it evenly over the rice. Cover the lid with a clean towel, place it tightly on the pot, and steam on medium heat for 10 minutes to build initial steam.
- 10
Reduce the heat to low and continue steaming for 45 minutes until the rice is fully tender and aromatic. Turn off the heat and rest the pot, covered, for 10 minutes so the layers set and the tahdig releases more cleanly.
- 11
Spoon the rice onto a platter, mixing the layers lightly so the herbs and cabbage are evenly distributed without crushing the grains. Carefully lift out the tahdig and serve it alongside or on top for crunch.
🪪 Recipe Passport
Cultural Background
A beloved specialty of Shiraz, Kalam Polow is often cooked for family gatherings and shared tables, showcasing the city’s love of fragrant herbs and layered rice technique. Its balance of cabbage sweetness and advieh warmth makes it both comforting and celebratory.
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

Katteh Tond (کته تند) — Spicy Caspian-Style One-Pot Chicken Rice
Persian · Rice Dishes · 85 min

Saffron Sweet Rice (پلو شیرینی زعفرانی) — Festive Persian milk-saffron rice with nuts
Persian · Rice Dishes · 75 min

Ash-e Sak (آش ساک) — Gorgani Spinach and Lamb Ash
Persian · Soups · 175 min

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

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

Turkish Shish Kebab (Şiş Kebap) — Charcoal-Grilled Marinated Lamb Skewers
Turkish · Kebabs · 37 min

Urfa Kebab (اورفا کباب) — Mild Turkish minced skewer with sumac onions
Turkish · Kebabs · 37 min

Portuguese Salt Cod with Potatoes and Eggs (Bacalhau à Brás) — Lisbon-Style Comfort Classic
Portuguese · Main Courses · 70 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.