Kalam Polo recipe is a Persian dish where dime-sized turmeric-scented meatballs are nestled in saffron-flavoured cabbage rice mix. Kalam polo is best served with Shirazi salad and yoghurt. Step-by-step pictures included.

I have a handful of favourite accounts that I go to for inspiration on Instagram. One of them is @faridah88, who doesn't share recipes for all that she posts, but her pictures make you want to Google and find them! So all those studded mini meatball dishes made me look for Persian Polow recipes. Then I came across Sanam's My Persian Kitchen's Kalam Polow, which was so apt, as I had fresh cabbage!
Jump to:
What is Kalam Polo?
Kalam Polo Ba Zafaran and Kofte translates to cabbage rice with saffron and meatballs. You will find versions of this dish from easy, everyday to elaborate, festive! Basic ingredients like cabbage, meat, and rice are used in all versions.

Ingredients You Need
Look at this list! So few ingredients, but trust me, this is all that you need to make a delicious Persian meat and rice dish.
- ground meat: beef or lamb
- veggies: onion, garlic, and cabbage
- ground spices: turmeric and black pepper
- oil
- basmati rice
- saffron
Quick Look: How to make Kalam Polo?
The three primary ingredients of Kalam Polo are Cabbage, Rice and Meatballs. We prepare each separately and then cook them together to finish. Not to forget the Saffron that lends colour and flavour. But if you don't have it, you can mimic the colour by using turmeric.
- The first thing you will do is infuse the saffron so we get the maximum out of it.
- Then make tiny meatballs and keep them aside.
- Cook the cabbage and keep it aside.
- Brown the meatballs and keep them aside.
- Parboil the rice and mix it with cabbage and saffron.
- The petite koftes are browned in fat and then nestled into the rice along with the cabbage and slow-cooked to finish.
- Served with any salad and yoghurt.

In Photos: How to make Kalam Polo?
Prepare Meatballs

Recently, I came across another method. Add the fine saffron to ice cubes and let it sit overnight to brew. Both methods work, and the flavour always comes from the quality of the saffron. You may make a bigger batch and store it in the fridge for later.

Take a large bowl, add the chopped onion, grated garlic, turmeric, salt, pepper and the ground beef.

Mix thoroughly using your hands until well incorporated.

Make small meatballs about the size of a cherry (makes around 40 meatballs). Keep aside until needed.
Cook Cabbage

Chop the onions and cabbage to the same size, preferably diced thinly. Heat a tablespoon of any cooking oil in a thick-bottomed pan (you will use the same pan to fry the meatballs too). Add the chopped onions and saute until translucent.

Add the chopped cabbage, salt and turmeric.

Sauté until cabbage is cooked through. This will take anywhere between 10 and 15 minutes.

Transfer into a large mixing bowl.
Cook Meatballs

Add two tablespoons of oil to the same pan while still hot. Place all the meatballs carefully, or do them in batches.

Pan-fry the meatballs on medium to high flame for about 20 minutes or until cooked all the way through.

Remove the meatballs and reserve the leftover juices from the meatballs in the pan for deglazing.

Boil the rice in plenty of salted water until the grains are al dente or par-boiled, meaning not completely cooked. Drain the rice into a colander.
Mix Rice & Cabbage

Transfer the drained rice into the bowl of cabbage.

Add around 2 tablespoons of brewed saffron to the rice bowl and gently mix all together. (Gently, because you don't want to break the grains).

Take the same pot to prepare the Polow and add 2 tablespoons of water. Swirl the pan to ensure the surface is covered with the water. Layer the pot with some rice and place all the meatballs.

Cover the meatballs with the remaining rice.

Create four to five deep holes with the back of a ladle in the rice. Place the pot over a medium flame, cover and cook for 10 minutes. You may use a heat diffuser.

Meanwhile, add some hot water to the pan where the meatballs were sautéed and deglaze the pan on low flame.

Open the pot and pour the broth over the rice.

Cover the pot with foil or a cloth and close the lid tightly. Turn the flame to the lowest and let it cook for 20 or 30 minutes. Serve hot with cold salad and yoghurt or Laban.

Related Recipes
If you are looking to use up cabbage, then do try my chicken and cabbage meatballs served over Arabic rice.
Make Indian/Pakistani-style meatballs curry like Koftay ka Salan recipe!
More Persian Recipes
Enjoyed this Recipe?
Did you know that commenting and rating recipes is one of the best ways to support your favourite food bloggers? If you tried this recipe, please leave a review in the comments with your ⭐️⭐️⭐️⭐️⭐️ rating. Your feedback enables my small business to continue offering free, high-quality recipe content for you. It is the best way to help me thrive in an increasingly competitive AI world.
📖 Recipe Card

Kalam Polow Ba Zafaran and Kofte | Cabbage Rice With Saffron and Meatballs
Ingredients
For the meatballs
- 400 grams ground beef , or lamb
- 1 large onion, finely chopped (100 gms)
- 4 garlic cloves, grated
- ½ teaspoon turmeric powder
- Salt and pepper to taste
- Oil to pan fry
For the Cabbage mixture
- 160 grams shredded cabbage, (half of a medium-sized cabbage)
- 1 large onion, chopped
- ¼ teaspoon turmeric powder
- salt to taste
- Oil to pan fry
For the Polow
- 1 cup basmati rice, washed and soaked for 30 minutes
- 4 cups water , to parboil the rice
- Salt to taste
For the assembling and cooking further
- 2 tablespoon brewed saffron
- ¼ cup water , to deglaze the meatballs fried pan
Instructions
Brew saffron
- Take a pinch of saffron and pound to a powder using a mortar pestle or the back of the spoon with a dash of sugar.
- Add 2 to 3 tablespoons of boiling water and cover it. Let it sit overnight or for at least 2 hours.
Make meatballs
- In a large bowl, add the chopped onion, grated garlic, turmeric, salt, pepper and ground beef.1 large onion finely chopped (100 gms)4 garlic cloves grated½ teaspoon turmeric powderSalt and pepper to taste400 grams ground beef or lamb
- Mix thoroughly using your hands until well incorporated.
- Make small meatballs about the size of a cherry (makes around 40 meatballs). Keep aside until needed.
Prepare the Cabbage mixture
- Chop the onions and cabbage to the same size preferably diced thinly.
- Heat a tablespoon of any cooking oil in a thick-bottomed pan (you will use the same pan to fry the meatballs too).Oil to pan fry
- Add the chopped onions and saute until translucent.1 large onion chopped
- Add the chopped cabbage, salt and turmeric.160 grams shredded cabbage (half of a medium-sized cabbage)¼ teaspoon turmeric powdersalt to taste
- Sauté for about 20 minutes or until cabbage is cooked (you may cover and cook during the last few minutes). Transfer into a large mixing bowl.
Pan-fry the meatballs
- Add two tablespoons of oil to the same pan while still hot.Oil to pan fry
- Place all the meatballs carefully or do it in batches.
- Pan-fry the meatballs on medium to high flame for about 20 minutes or until cooked all the way through.
- Remove the meatballs and reserve the leftover juices from the meatballs in the pan for deglazing.
Parboil the Rice
- Bring to boil 4 to 5 cups of water in a pot.4 cups water to parboil the rice
- Add the drained rice and enough salt (more than usual).1 cup basmati rice washed and soaked for 30 minutesSalt to taste
- Bring to a rolling boil once again and then reduce the flame to low and let it boil for 2 to 5 minutes and switch off. We want almost cooked but not completely cooked rice.
- Drain the rice into a colander. Transfer the drained rice into the bowl of cabbage.
- Add around 2 tablespoons of brewed saffron to the rice and gently mix it all.2 tablespoon brewed saffron
Prepare Kalam Polow with Saffron
- Take the same pot to prepare the Polow and add 2 tablespoons of water and swirl the pan to ensure the surface is covered with the water.
- Layer the pot with rice, place all the meatballs, and then cover with the remaining rice.
- Create four to five deep holes with the back of a ladle in the rice.
- Place the pot over a medium flame and cover and cook for 10 minutes. (you may use a heat diffuser).
- Meanwhile, add some water to the pan where the meatballs were sautéed and deglaze the pan.¼ cup water to deglaze the meatballs fried pan
- Open the pot and pour the broth over the rice. Cover the pot with foil or cloth and close with the lid tightly. Turn the flame to the lowest and let it cook for 20 or 30 more minutes.
- Serve hot with cold salad and yoghurt or laban.










Famidha Ashraf says
This Persian cabbage rice with saffron‑kissed basmati and little meatballs is a family favourite. I served with some quick Shirazi salad and cooled yoghurt. Perfect dinner option during Ramadan!