The Delicious Crescent

  • Recipes
  • About
    • Food Philosophy
  • Nutrition
    • Healthy Eating Tips
menu icon
go to homepage
  • Recipes
  • About
  • Contact
search icon
Homepage link
  • Recipes
  • About
  • Contact
×
Home » Recipes » Classic

Kalam Polo (Persian Cabbage Rice)

Head shot of Author Roxana Begum
Updated: Apr 23, 2026 by Roxana Begum · This post may contain affiliate links · Leave a Comment

Jump to Recipe Jump to Video
Kalam polo (Persian cabbage rice) pin image

Kalam Polo is a flavorful Persian cabbage rice with bite-sized meatballs. The rice is fragrant and fluffy, layered with fresh herbs, spiced cabbage, and pan-fried meatballs. It's a comforting, well-balanced dish with great texture in every bite-from the tender rice to the crispy tahdig at the bottom.

Kalam polo served on table with olives and red sauce

Kalam Polo (Kalam Polow)

Kalam Polo is a traditional Persian cabbage rice from the city of Shiraz in southwest Iran. In Persian, 'kalam' means cabbage and 'polo' refers to rice pilaf. This dish is made by layering long-grain rice with sautéed cabbage (or sometimes kohlrabi), fresh herbs, spices, and meat.

There are many regional variations across Iran. It may be prepared with tiny meatballs-traditionally described as the size of a sparrow's head (sar-e gonjeshk)-or with ground meat or small pieces of meat. The mix of herbs can also vary, often including dill, parsley, basil, chives, or tarragon.

The version I'm sharing here is one I learned from a lady from Ahvaz, another city in southwest Iran. It includes a few ingredients that aren't typical in the classic Shirazi version, such as ginger, red pepper flakes, and whole cumin seeds-likely reflecting regional influences. I loved her cabbage polo so much that I've made it many times over the years and am happy to share it here.

Front view of Persian cabbage rice with meatballs and tahdig

Why This Recipe

  • Regional twist: This recipe has the essence of traditional Kalam Polo while reflecting a unique flavor profile from the blend of spices.
  • Versatile and satisfying: With rice, herbs, vegetables, and meat, it's a complete and balanced meal. It works just as well for a special occasion as it does for a simple weeknight dinner, especially with a fresh side salad.
  • Accessible ingredients: Most ingredients are easy to find, with flexible substitutions if needed.

Key Ingredient Notes

Ingredients needed for Persian cabbage rice
  • Meat: I use ground meat to make small meatballs - lamb, beef, or veal all work well. Some traditional versions use small boneless meat cubes (about ½-inch). For a simpler approach, you can cook it with loose ground meat, similar to adas polo. Chicken can also be used as a substitute.
  • Vegetables: I've mostly made this dish with shredded green cabbage. You can also use julienned kohlrabi, or a combination of both.
  • Herbs: A mix of fresh herbs gives the best flavor. I use dill, basil, and chives (or green onions). You can also include or substitute parsley, cilantro, or tarragon depending on what you have.
  • Spices and Aromatics: This version uses ginger, advieh (Persian spice blend), and mild Aleppo-style chili flakes. The original recipe I learned included black cumin (shahjeera), but since it's less widely available, I use regular cumin seeds instead. This combination of spices is slightly different from the classic Shirazi version and reflects regional influences.
  • Basmati Rice: Use high-quality, aged long-grain basmati rice. Look for brands such as India Gate Classic, Royal Chef's Secret or Zebra. Rinse thoroughly to remove excess starch, then soak before cooking to help the grains stay long and separate. Parboil until just al dente so the rice finishes cooking perfectly during steaming.

Step-by-Step Overview

A quick visual guide - the full printable recipe is at the end of this post.

  • Rinse and soak rice until ready.
  • Mix and shape small meatballs.
  • Brown meatballs until golden; set aside.
Preparing and sauteing meatballs
  • Sauté spices, then cook cabbage until slightly tender.
  • Add herbs and meatballs to cabbage; set aside.
Sauteing cabbage with spices and then adding meatballs and herbs
  • Parboil rice until just tender; drain.
  • Prepare tahdig with rice, yogurt, and saffron.
Parboiling rice, making tahdig and assembling the Persian polo
  • Layer rice and cabbage-meatball mixture.
  • Drizzle oil and saffron; seal and steam.
  • Cook until rice is fluffy and crust forms.
  • Rest briefly, then plate and garnish.
Layering rice with cabbage-meatball mixture, steaming it and flipping to reveal crispy tahdig

★ DID YOU MAKE THIS RECIPE? PLEASE COMMENT AND GIVE IT A STAR RATING BELOW!

Close view of kalam polo served on table with olives and red sauce
No ratings yet

Persian Cabbage Rice (Kalam Polo)

Kalam Polo is a classic Persian rice dish made with herbs, spiced cabbage, and small meatballs. Fragrant basmati rice is layered and steamed to perfection, creating a fluffy texture with a crispy tahdig crust.
Prep Time30 minutes mins
Cook Time1 hour hr
Total Time1 hour hr 30 minutes mins
Print SaveSaved!
Course :Main Course
Cuisine :Persian
Servings: 6 Portions
Calories: 577kcal
Author: Roxana Begum

Ingredients

Meatballs

  • 1 lb ground beef veal, or lamb
  • 1 large onion grated
  • ¾ teaspoon salt
  • 1 teaspoon turmeric
  • 1 teaspoon freshly ground black pepper

Cabbage & Rice

  • 6 tablespoons olive oil divided
  • 1 tablespoon cumin seeds or 2 teaspoons ground cumin
  • 1½ tablespoons grated fresh ginger or 2 teaspoons ground ginger
  • 1 teaspoon red pepper flakes Aleppo-style preferred
  • 1 tablespoon advieh Persian spice blend
  • 1½ lbs green cabbage shredded (about 6 cups)
  • ½ teaspoon salt or to taste
  • 2 cups finely chopped fresh dill
  • 1 cup finely chopped cilantro or parsley
  • 1 cup finely chopped basil
  • 1 cup finely chopped chives or green onions

Rice

  • 2 cups long-grain basmati rice
  • 8 cups water
  • 1½ tablespoons salt for parboiling rice, excess will be drained

Tahdig (Rice Crust)

  • 2 tablespoons butter ghee, or oil
  • 2 tablespoons plain yogurt
  • ½ teaspoon ground saffron dissolved in 2 tablespoons hot water
US Customary - Metric

Equipment

  • Non Stick Pot (5-6 quarts) or Persian rice cooker
  • Cast Iron Skillet or nonstick skillet
  • Fine mesh colander
Prevent your screen from going dark

Instructions

  • Prep the Rice: Rinse the rice 4-5 times until the water runs clear. Drain well and soak in fresh water for at least 1 hour.
  • Make the Meatballs: Squeeze excess liquid from the grated onion using a sieve. Combine the onion with ground meat, salt, turmeric, and black pepper. Knead until smooth. Shape into small, hazelnut-sized meatballs (about 60-65 total). [I divided the meat mixture into four portions, then divided each portion into 16 to make a total of 64 meatballs.]
  • Brown the Meatballs: Heat 1 tablespoon oil in a skillet over medium-high heat. Add the meatballs and cook until golden brown on all sides, about 4 minutes, shaking the pan occasionally. Set aside.
  • Sauté the Cabbage Mixture: Heat 3 tablespoons olive oil in a large pot or wok over medium-high heat. Add cumin seeds and sauté until aromatic, about 15 seconds. Add grated ginger and sauté until aromatic, about 30 seconds. Then add red pepper flakes and advieh and stir briefly. Add cabbage and cook until wilted but still slightly crisp, about 5-6 minutes. Season with salt. Stir in the meatballs, dill, cilantro, basil, and chives. Remove from heat and set aside.
  • Parboil the Rice: In a large pot, bring 8 cups of water and 1½ tablespoons salt to a rolling boil. Add the soaked rice and cook uncovered for 5-6 minutes on high heat, until the grains are slightly tender but still hold their shape, stirring occasionally. Drain immediately using a colander and set aside.
  • Prepare the Tahdig: Heat 2 tablespoons butter or oil in a nonstick pot over medium heat. In a bowl, gently mix 1 cup cooked rice, yogurt, and 1 tablespoon saffron water. Spread this mixture evenly over the bottom of the pot (about ¼-inch thick). Tip: Adjust the amount of oil, rice, yogurt, and saffron based on the pot size.
  • Layer the Rice: Spread ¼ of the rice in a layer, followed by ⅓ of the cabbage-meatball mixture. Repeat the layers 2 more times, finishing with rice on top. Drizzle the remaining olive oil and saffron water over the top. Poke a few holes in the rice with a wooden spoon. Wrap the lid with a kitchen towel (to absorb moisture) and place it firmly over the pot to create a tight seal.
  • Steam the Rice (Stovetop): Cook on medium heat for 10 minutes to set the crust. Reduce to medium-low and steam for 35 minutes until fully cooked and the rice at the edges turns crispy. Remove from heat and let rest for 5 minutes.
  • Serve: Scoop some saffron rice from the top and set aside for garnish. Gently mound the rice onto a serving platter. Remove the crust (tahdig) and serve on the side. Garnish with herbs and the reserved saffron rice. Serve with Mast-O-Musir (yogurt with shallots), pickles, and Shirazi salad.

Notes

  1. Advieh Substitute: Mix ½ teaspoon each of ground coriander, cumin, cardamom, and cinnamon, and ¼ teaspoon each of ground cloves and nutmeg.
  2. Make Ahead: Meatballs and the cabbage mixture can be made 1 day ahead and refrigerated. They can also be frozen and used later with rice.

  3. Storage: Refrigerate for up to 4-5 days. Freeze for up to 2 months. Thaw and reheat with a sprinkle of water.

  4. Oven Method: Preheat the oven to 350°F. Assemble the layers in an oven-safe dish. Cover with parchment and foil, then press the lid on tightly to seal (no kitchen towel). Bake for 50-60 minutes until steaming hot.

  5. Rice Cooker Method: Use a Persian-style rice cooker.

    • Cook rice with 3 cups water, 2 tablespoons oil, and ½ teaspoon salt. Remove rice to another dish.

    • Rice Crust (tahdig): Melt butter or ghee in the rice cooker and spread evenly. Mix 1 cup cooked rice with yogurt and 1 tablespoon saffron water, then spread over the melted butter. (Adjust oil, rice, yogurt, and saffron based on pot dimensions)

    • Layer the remaining cooked rice and cabbage-meatball mixture alternately in the pot. Drizzle saffron water over the top. Steam for about 20 minutes (varies by cooker), or until heated through.
  6. Nutrition facts are adjusted to reflect the approximate amount of salt absorbed while parboiling the rice.


Nutrition

Calories: 577kcal | Carbohydrates: 62g | Protein: 23g | Fat: 27g | Saturated Fat: 8g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 15g | Trans Fat: 1g | Cholesterol: 60mg | Sodium: 793mg | Potassium: 762mg | Fiber: 5g | Sugar: 5g | Vitamin A: 2238IU | Vitamin C: 62mg | Calcium: 166mg | Iron: 5mg
Did you make this recipe?I would love to know about it. Tag me @thedeliciouscrescent.

More Persian Rice Recipes

  • Sabzi Polo (Persian Herb Rice)
  • Lubia Polo (Persian Green Bean Rice)
  • Jeweled Rice (Morasa Polo)

Top Tips

  • Meatballs: Shallow-fry mini meatballs for 3-4 minutes-just enough to brown the outside. Don't overcook, or they'll dry out. The meatballs will finish cooking while the rice steams, so keeping them moist is key.
  • Optimal Flavor: Browning the meatballs well adds a lot of flavor. Use plenty of herbs-remember they shrink during cooking. Don't overcook the cabbage while sautéing, as it will continue to cook while steaming with the rice.
  • Rice: Follow the instructions carefully. Fluffy, separate, pearl-like rice is the hallmark of Persian rice dishes.

How To Serve

I like to serve Kalam Polo with Salad-e Shirazi (Persian tomato cucumber salad) or yogurt salads such as Mast Musir. Add some pickles on the side.

Persian cabbage rice with crispy tahdig on a light blue plate

Variations

  • Dietary Adjustments: This recipe is naturally gluten-free, egg-free, nut-free and soy-free. Reduce salt and add a splash of lemon juice for a lower-sodium version.
  • Vegan/Dairy-Free: Skip butter, ghee, or dairy yogurt for the rice crust, or use coconut yogurt. Replace meatballs with chickpeas or white beans.
  • Quinoa Version: Substitute quinoa for basmati rice; adjust cooking time accordingly.
  • With Zereshk (Barberries): Top the rice with barberries for a tart, festive touch similar to zereshk polo.

Nutrition Insight

Kalam Polo is a balanced, satisfying one-pot meal with protein, fiber, and fresh herbs. Each serving includes protein from the meatballs (rich in iron and B vitamins like B12), along with fiber-rich cabbage that provides vitamin C and K.

Fresh herbs add antioxidants and small amounts of vitamins A and C. The rice provides energy-rich carbohydrates, making the dish filling and comforting. Moderate fats come from oil and meat. For a lighter version, use lean ground meat and skip the tahdig.

Kalam polo with meatballs and tahdig

Frequently Asked Questions

Why does my polo turn out mushy or sticky?

This usually happens if the rice is overcooked. Always use aged, long-grain basmati rice. Rinse thoroughly to remove starch and soak before cooking. Boil in plenty of water and drain when slightly firm. Avoid stirring too much after layering.

How can I make the tahdig extra crispy?

Use enough butter or oil in the pot and let the rice steam undisturbed over medium heat at first to set the crust. Avoid stirring, and allow it to rest after cooking before serving so the crust can firm up.

« Persian Kashk (Stovetop, Oven, or Microwave)

Share the Post

Leave a Comment Cancel reply

Your email address will not be published. Required fields are marked *

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.

NICE TO MEET YOU!

Head shot of Roxana

Hi, I'm Roxana, registered dietitian and recipe developer. Here I share wholesome & delicious recipes with room for cravings. Healthy makeovers. Step-by-step photos & videos.
Read More…

Trending Recipes

  • Chicken biryani served in a plate.
    Easy Hyderabadi Chicken Biryani
  • Indian dal served in a bowl with bread.
    Dal Recipe (Indian Lentil Curry)
  • Haleem topped with fried onions, chili slices, herbs and lemon wedges.
    Hyderabadi Haleem Recipe
  • Persian love cake served with tea.
    Persian Love Cake Recipe
  • Close up view of Persian grilled chicken kabobs on skewers.
    Grilled Chicken Kabobs (Joojeh)
  • Close up view of Persian herb stew in a white pan.
    Ghormeh Sabzi (Persian Herb Stew)
  • Ash-e reshteh served in a bowl..
    Ash Reshteh (Persian Noodle Soup)
  • Close view of maamoul cookies dusted with powdered sugar.
    Maamoul (Date Filled Cookies)

Footer

^ back to top

About

  • About Us
  • Privacy Policy & Terms

Contact

  • Contact
  • Accessibility
As featured in image

As an Amazon Associate I earn from qualifying purchases.

Copyright © 2026 · THE DELICIOUS CRESCENT ·

Rate This Recipe

Your vote:




Let us know what you thought of this recipe:

This worked exactly as written, thanks!
My family loved this!
Thank you for sharing this recipe

Or write in your own words:

A rating is required
A name is required
An email is required