Skip to content
Zaffaron

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.

By Zaffaron Kitchen· Published April 6, 2026 Tested Recipe
Dairy-Free Nut-Free Halal
Contains: gluten
110 min total Prep 35m · Cook 75m 6 servings 640 cal
↓ Jump to Recipe
Shirazi Kalam Polo — Herb-Scented Cabbage Rice with Meatballs - authentic persian recipe

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)

  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 m…
  2. Make the meatball mixture by combining ground lamb, grated onion, reserved 30 ml onion juice, turmeric, cinnamon, black pepper,…
  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 a…
  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 w…
  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…
  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…

+ 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.

savorywarm-spicedgently sweetfluffy ricetender cabbagejuicy meatballscrisp tahdigsaffron warmthfresh dillsweet sautéed cabbage🌶 mild

Equipment

Large pot for parboiling riceFine-mesh strainerNonstick pot with tight lid (24–26 cm)SkilletMixing bowlKitchen towel for lid

💡 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.
everyday party nowruz
#classic#family-style

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 lamb90/10 ground beef
  • Lavash breadPotato slices
  • Fresh dillDried dill

Instructions

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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

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

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

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.

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

640
Calories
26g
Protein
24g
Fat
78g
Carbs
6g
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.