This recipe for Vegan Persian Kalam Polo is so delicious and flavorful. It is prepared by marinating and baking tofu, sauteing cabbage in saffron, and cooking with long-grain Basmati rice.
This page may use affiliate links. As an Amazon Associate, I earn a small commission from qualifying purchases.

Why You’ll Love Vegan Kalam Polo
- Kalam Polo is a Persian rice dish. Kalam is cabbage, and polo is rice in Farsi.
- It is traditionally made with meat, but our vegan version is made with tofu for that added protein. If tofu in Persian food is wrong, then I don’t want to be right.
- The cabbage is sauteed and cooked with saffron.
- The tofu is marinated with various spices, from cumin to cinnamon, baked in the oven, and then combined with the sauteed cabbage.
- The cabbage and tofu mixture is then layered with parboiled Basmati rice and steamed to create a delish, one-of-a-kind vegan Persian rice dish.
- We hope you try this recipe and enjoy the blending of various cultures and flavors.
Ingredients/Equipment Notes
To make this delicious Vegan Kalam Polo, you will need the following ingredients (full measurements are in the recipe card below):
- 1 14 oz package extra-firm tofu (pressed for 20 minutes to remove excess liquid)
Tofu Marinade
- 1 tsp turmeric
- 1 tsp cumin powder
- 1 tsp garlic powder
- 1 tsp onion powder
- 1 tsp paprika
- 1 tsp cinnamon
- 1/4 tsp curry powder
- 1/4 tsp black pepper
- 1/2 tsp salt
- 3 Tbsp tomato paste
- 1 Tbsp of soy sauce
Sauteed Cabbage
- 2 Tbsp oil
- 1/2 medium cabbage head, thinly sliced
- 1/2 tsp salt
- 4 Tbsp of Brewed Saffron
Basmati Rice and Tahdig
- 3 cups Basmati rice (washed)
- 1 Tbsp salt
- 1 Tbsp oil
- 2 Tbsp Brewed Saffron
- Flour tortilla or thinly sliced Russet potato for tahdig


You will also need the following equipment:
- Persian rice cooker or large non-stick pot with a tight-fitting lid. I like this Persian rice cooker on Amazon.
- Tofu press (optional) – I use this tofu press.
How to Make the Best Kalam Polo
Marinate Tofu
- Preheat oven to 375 F.
- Prepare “Tofu Marinade” by combining the ingredients.
- Add the pressed tofu to the marinade and use your hands or a fork to break apart the tofu into crumbles and combine well with the marinade.
- Put the marinated tofu crumbles on a parchment-lined baking sheet.
- Bake in the oven for 20 minutes (stirring the tofu in the middle of the cooking time). Set aside.
Prepare Sauteed Cabbage
- Add 2 Tbsp of oil to a large sauté pan on medium heat.
- Next, add the shredded cabbage and sauté until golden (about 20 minutes).
- Add the Brewed Saffron and salt. Keep sautéing another 5-10 minutes.
- Add the baked tofu to the sauteed cabbage and set aside.
Prepare Basmati Rice
- Fill a large pot with water (3/4 full) over high heat.
- Add the salt and bring to a boil.
- Once the water is boiling, add the Basmati rice and cook (uncovered) for 10 minutes.
- Drain the rice.
Combine Basmati Rice with Cabbage Mixture
- Add 1 Tbsp oil and 2 Tbsp Brewed Saffron to the bottom of a large Persian rice cooker or non-stick pot with lid.
- Add the flour tortilla (or a medium Russet potato, washed, peeled and cut into 4-5 slices for traditional tahdig).
- Add a layer of half the parboiled Basmati rice.
- Add the cabbage and tofu mixture.
- Add the remaining parboiled Basmati rice.
- Cook for 50-55 minutes in the Persian rice cooker (if using a non-stick pot, cook covered for 50-55 minutes on medium/low heat).
- Stir to combine the Persian rice mixture before serving.


Various Options for Vegetarian or Vegan Kalam Polo
Here are additional options for vegetarian or vegan Kalam Polo:
- In this recipe, the meat is swapped for seasoned and baked tofu crumbles. Instead of baking the tofu, you could also season and fry the tofu.
- Moreover, you could swap the meat in a traditional Kalam Polo recipe for a plant-based meat alternative such as Beyond Meat.
Recipe Tips
- This recipe calls for extra-firm tofu, which is pressed, crumbled, seasoned, baked, and added to the sauteed cabbage mixture layered into the Persian Basmati rice. Don’t skip pressing the extra liquid from the tofu to get the most flavorful tofu crumble. I use this tofu press.
- I love my Persian rice cooker and highly recommend it for the perfect tahdig. This is my Persian rice cooker, which is available on Amazon.
- See my prior blog post on preparing Brewed Saffron as referenced in this recipe.
- Also, for anyone concerned about consuming soy and “phytoestrogen,” you can also read my blog post on soy as I discuss its health benefits and the bad rap it is given.
Did you make this recipe? Take a picture and tag us on Instagram @plant_basedpersian or share it on Pinterest!
Print
Vegan Kalam Polo (Persian Cabbage Rice Dish)
- Total Time: 2 hours 30 minutes
- Yield: 4–5 people 1x
- Diet: Vegan
Description
A vegan recipe for a Persian cabbage rice dish with tofu
Ingredients
- 1 14 oz package extra-firm tofu (pressed for 20 minutes to remove excess liquid)
Tofu Marinade
- 1 tsp turmeric
- 1 tsp cumin powder
- 1 tsp garlic powder
- 1 tsp onion powder
- 1 tsp paprika
- 1 tsp cinnamon
- 1/4 tsp curry powder
- 1/4 tsp black pepper
- 1/2 tsp salt
- 3 Tbsp tomato paste
- 1 Tbsp of soy sauce
Sauteed Cabbage
- 2 Tbsp oil
- 1/2 medium cabbage head, thinly sliced
- 1/2 tsp salt
- 4 Tbsp of Brewed Saffron
Basmati Rice and Tahdig
- 3 cups Basmati rice (washed)
- 1 Tbsp salt
- 1 Tbsp oil
- 2 Tbsp Brewed Saffron
- Flour tortilla or thinly sliced Russet potato for tahdig
Instructions
Prepare Tofu
- Preheat oven to 375 F.
- Prepare “Tofu Marinade”
- Add the pressed tofu to the marinade and use your hands or a fork to break apart the tofu into crumbles and combine well with the marinade.
- Put the marinated tofu crumbles on a parchment-lined baking sheet.
- Bake in the oven for 20 minutes (stirring the tofu in the middle of the cooking time). Set aside.
Prepare Sauteed Cabbage
- Add 2 Tbsp of oil to a large sauté pan on medium heat.
- Add the shredded cabbage and sauté until golden (about 20 minutes).
- Add the Brewed Saffron and salt. Keep sautéing another 5-10 minutes.
- Add the baked tofu to the sauteed cabbage, and set aside.
Prepare Basmati Rice
- Fill a large pot with water (3/4 full) over high heat.
- Add the salt and bring to a boil.
- Once the water is boiling, add the Basmati rice and cook (uncovered) for 10 minutes.
- Drain the rice.
Combine Basmati Rice with Cabbage Mixture
- Add 1 Tbsp oil and 2 Tbsp Brewed Saffron to the bottom of a large Persian rice cooker or non-stick pot with lid.
- Add the flour tortilla (or a medium Russet potato, washed, peeled and cut into 4-5 slices for traditional tahdig).
- Add a layer of half the Basmati rice.
- Add the cabbage and tofu mixture.
- Add the remaining Basmati rice.
- Cook for 50-55 minutes in the Persian rice cooker (if using a non-stick pot, cook covered for 50-55 minutes on medium/low heat).
- Stir to combine the Persian rice mixture before serving.
- Prep Time: 60 minutes
- Cook Time: 90 minutes
- Category: Main Dish
- Cuisine: Persian/Iranian
