Main Course
Kalam Polo with Beef: Persian Cabbage Rice with Tender Beef
Original name: Kalam Polo with Beef

About this dish
Kalam polo is a beloved Persian rice dish where saffron-scented basmati rice is layered with caramelized cabbage and tender beef, all slowly steamed until the flavors meld into a golden, fragrant masterpiece. The gentle sweetness of the cabbage, the warmth of cinnamon and turmeric, and the richness of beef broth create a comforting meal that feels both rustic and refined.
Perfect for a leisurely weekend dinner, this dish celebrates the art of slow cooking and the beauty of simple ingredients.
Ingredients
UK and US measurements are both included for every recipe.
basmati rice
grain3 cups (600 g)
Imperial measurement: 3 cups
beef chuck, cut into 1-inch cubes
protein450 g
Imperial measurement: 1 lb
green cabbage, thinly sliced
vegetable1 small head (about 700 g)
Imperial measurement: 1 small head (about 1.5 lb)
yellow onion, finely chopped
vegetable1 large (about 200 g)
Imperial measurement: 1 large
garlic, minced
herb3 cloves
ground turmeric
spice1 teaspoon
ground cinnamon
spice1/2 teaspoon
ground black pepper
spice1/2 teaspoon
salt
seasoning1 1/2 teaspoons, or to taste
saffron threads
spice1/2 teaspoon, ground and dissolved in 3 tablespoons hot water
Imperial measurement: 1/2 teaspoon
vegetable oil
fat5 tablespoons (75 ml)
Imperial measurement: 5 tablespoons
water
liquidfor blanching and steaming (as needed)
barberries, for garnish (optional)
fruit2 tablespoons
Method
Prepare the rice
30 minutesRinse the rice in cold water until the water runs clear. Soak in salted water (1 tablespoon salt per 4 cups water) for at least 30 minutes.
Brown the beef
10 minutesIn a large pot, heat 2 tablespoons of oil over medium heat. Add the beef cubes and brown on all sides, working in batches if needed. Remove the beef and set aside.
Sauté the aromatics
6 minutesIn the same pot, add the remaining 1 tablespoon oil and sauté the onion until soft and translucent, about 5 minutes. Add the garlic, turmeric, cinnamon, and black pepper, and cook for 1 minute until fragrant.
Simmer the beef
1 hourReturn the beef to the pot along with 2 cups of water and 1 teaspoon of salt. Bring to a boil, then reduce the heat to low, cover, and simmer for about 1 hour, until the beef is tender.
Blanch the cabbage
5 minutesWhile the beef simmers, bring a large pot of salted water to a boil. Add the sliced cabbage and blanch for 2 minutes. Drain well and set aside.
Cook the cabbage
10 minutesIn a large skillet, heat 1 tablespoon of oil over medium heat. Add the blanched cabbage and sauté for about 10 minutes, until it begins to caramelize and turn golden. Season with a pinch of salt. Set aside.
Partially cook the rice
10 minutesDrain the soaked rice. Bring a pot of salted water (about 8 cups) to a boil. Add the rice and cook for 5-6 minutes, until the grains are tender but still firm. Drain thoroughly.
Layer the rice
10 minutesIn a heavy-bottomed pot, heat 1 tablespoon oil over medium heat. Spread a layer of the par-cooked rice on the bottom. Add a layer of the sautéed cabbage, then a layer of beef cubes (reserve some for the top). Repeat the layers, ending with a final layer of rice. If you have any leftover cabbage, tuck it in.
Add the saffron and steam
2 minutesPour the saffron liquid over the top of the rice. Drizzle with the remaining 1 tablespoon oil. Add about 3 tablespoons of water around the edges.
Steam the rice
30 minutesWrap the pot lid in a clean kitchen towel and cover tightly. Steam over low heat for about 30 minutes, until the rice is tender and aromatic. The towel will absorb excess moisture.
Rest and serve
10 minutesAllow the dish to rest for 5-10 minutes. Gently fluff the rice with a fork, being careful not to break the grains. Transfer to a serving platter, arranging the beef on top. Garnish with barberries if using.
Equipment
- Large pot
- Colander
- Large skillet
- Rice spoon or spatula
- Pot with tight-fitting lid
Nutrition facts
Tips
- For the best texture, use high-quality basmati rice and do not skip the soaking – it helps the grains stay separate and fluffy.
- Blanching the cabbage before sautéing removes some of its raw tang and helps it soften without becoming mushy.
- If you prefer a crisp golden crust (tahdig), let the rice cook a few minutes longer on medium heat before steaming, until a gentle crust forms at the bottom.
- For a vegetarian version, you can replace the beef with mushrooms or use a vegetable broth and skip the meat, still keeping the aromatic spices.
Serving suggestions
- Serve kalam polo warm, alongside a simple cucumber yogurt salad (maast-o-khiar) and fresh herbs. It also pairs beautifully with grilled tomatoes or a light Shirazi salad.
Rate this recipe
No ratings yet. Be the first to rate it.

Recipe by
Eleni Demetriou
Specialises in Greek cuisineEleni Demetriou runs a food blog called 'Olive My Love'. She photographs every meal for 20 minutes before eating.
Describe yourself in three words: Romantic, slow, loves golden hour.