The first time I made biryani, I messed it up completely. The rice was mushy, the chicken was dry, and the whole thing tasted like I’d just thrown spices at rice and hoped for the best. That’s because I had.
Biryani isn’t just fried rice with extra steps. It’s a layered rice dish where everything cooks together in one pot, but somehow each element stays distinct. The rice stays fluffy, the meat stays tender, and the spices infuse everything without overwhelming it.
I’ve made this recipe probably 50 times now, tweaking it until I got it right. This version is manageable for a weeknight if you prep ahead, and it tastes legit.

What Biryani Is Actually For
This is celebration food in India. Weddings, festivals, special dinners. But it’s also completely practical for meal prep because it reheats beautifully and gets better the next day.
You can make it with chicken, lamb, goat, or keep it vegetarian with paneer and vegetables. The technique stays the same.
It’s a complete meal on its own. Rice, protein, aromatics. You don’t need much else, maybe some raita (yogurt sauce) on the side.
Storing Biryani
Keep it in an airtight container in the fridge for up to 4 days. The key is to not let it dry out.
When you reheat it, sprinkle a tablespoon of water or milk over the top and cover it. Microwave works, but the oven at 350°F for 15 minutes gives you better texture.
You can freeze biryani for up to 3 months. Let it thaw in the fridge overnight before reheating. The rice texture changes a bit when frozen, but the flavor stays strong.
Ingredients
For the Rice:
- 2 cups basmati rice
- 4 cups water
- 2 bay leaves
- 4 green cardamom pods
- 4 cloves
- 1 cinnamon stick
- 1 tablespoon salt
For the Chicken:
- 1.5 lbs chicken thighs, cut into chunks
- 1 cup plain yogurt
- 1 tablespoon ginger-garlic paste
- 1 teaspoon red chili powder
- 1/2 teaspoon turmeric
- 1 teaspoon garam masala
- Salt to taste
For Layering:
- 3 tablespoons ghee (or butter)
- 2 large onions, thinly sliced
- 1/2 cup chopped cilantro
- 1/2 cup chopped mint leaves
- 1/4 cup milk mixed with a pinch of saffron
- 2 tablespoons fried onions (store-bought is fine)

Instructions
- Soak the rice. Put the basmati rice in a bowl, cover it with cold water, and let it sit for 30 minutes. This step matters. It helps the grains stay separate and fluffy.
- Marinate the chicken. Mix the chicken with yogurt, ginger-garlic paste, chili powder, turmeric, garam masala, and salt. Let it sit while you prep everything else. If you can marinate it for 2 hours in the fridge, even better.
- Fry the onions. Heat the ghee in a large, heavy-bottomed pot. Add the sliced onions and cook them over medium heat until they’re deep golden brown. This takes about 15 minutes. Don’t rush it. These caramelized onions are a huge part of the flavor.
- Cook the chicken. Add the marinated chicken to the same pot with the onions. Cook for about 10 minutes until the chicken is mostly cooked through but not dry. It’ll finish cooking with the rice.
- Parboil the rice. Drain the soaked rice. Bring 4 cups of fresh water to a boil in a separate pot. Add the bay leaves, cardamom, cloves, cinnamon, and salt. Add the rice and boil for exactly 5 minutes. The rice should be about 70% cooked. It’ll still have a bite in the center. Drain immediately.
- Layer everything. Start with the chicken mixture at the bottom of your pot. Spread half the parboiled rice over the chicken. Sprinkle half the cilantro and mint on top. Add the rest of the rice. Top with the remaining herbs, the saffron milk, and fried onions.
- Steam it (the dum part). This is where the magic happens. Cover the pot with a tight lid. If your lid isn’t tight, put a clean kitchen towel between the pot and lid to seal it. Cook on the lowest possible heat for 25-30 minutes. Don’t peek. The steam is cooking everything together.
- Let it rest. Turn off the heat and let the pot sit, covered, for 10 minutes. This lets the moisture redistribute.
- Mix and serve. Gently fluff the biryani from the bottom up with a fork. You want to mix the layers together without breaking the rice grains. Serve hot.

Notes
Rice choice: Use basmati. Other long-grain rice doesn’t have the same aroma or texture. I like the aged basmati if you can find it.
The dum technique: If you’re worried about your seal, you can transfer everything to an oven-safe pot after layering and bake at 350°F for 30 minutes instead of stovetop.
Saffron: Real saffron is pricey. You can skip it or use a tiny bit of yellow food coloring in the milk. It’s mostly for color anyway.
Vegetarian version: Skip the chicken and use 2 cups of mixed vegetables (cauliflower, carrots, peas, potatoes) plus 1 cup cubed paneer. Cook the veggies until tender before layering.
This article is part of our comprehensive guide on Asian Cuisine. For more authentic Asian recipes and cooking techniques, visit the full guide.
Related recipes you might enjoy:
- Indian Butter Chicken pairs perfectly with biryani for a feast
- Indian Chana Masala for a vegetarian option with similar spices
- Korean Bibimbap Bowl another layered rice bowl with bold flavors
- Vietnamese Pho Ga if you want something lighter but equally aromatic
Indian Biryani Rice
Aromatic rice dish layered with spices, herbs, and tender protein
Ingredients
For the Rice:
- 2 cups basmati rice
- 4 cups water
- 2 bay leaves
- 4 green cardamom pods
- 4 cloves
- 1 cinnamon stick
- 1 tablespoon salt
For the Chicken:
- 1.5 lbs chicken thighs, cut into chunks
- 1 cup plain yogurt
- 1 tablespoon ginger-garlic paste
- 1 teaspoon red chili powder
- 1/2 teaspoon turmeric
- 1 teaspoon garam masala
- Salt to taste
For Layering:
- 3 tablespoons ghee or butter
- 2 large onions, thinly sliced
- 1/2 cup chopped cilantro
- 1/2 cup chopped mint leaves
- 1/4 cup milk mixed with a pinch of saffron
- 2 tablespoons fried onions (store-bought is fine)
Instructions
- Soak the rice. Put the basmati rice in a bowl, cover it with cold water, and let it sit for 30 minutes. This step matters. It helps the grains stay separate and fluffy.
- Marinate the chicken. Mix the chicken with yogurt, ginger-garlic paste, chili powder, turmeric, garam masala, and salt. Let it sit while you prep everything else. If you can marinate it for 2 hours in the fridge, even better.
- Fry the onions. Heat the ghee in a large, heavy-bottomed pot. Add the sliced onions and cook them over medium heat until they’re deep golden brown. This takes about 15 minutes. Don’t rush it. These caramelized onions are a huge part of the flavor.
- Cook the chicken. Add the marinated chicken to the same pot with the onions. Cook for about 10 minutes until the chicken is mostly cooked through but not dry. It’ll finish cooking with the rice.
- Parboil the rice. Drain the soaked rice. Bring 4 cups of fresh water to a boil in a separate pot. Add the bay leaves, cardamom, cloves, cinnamon, and salt. Add the rice and boil for exactly 5 minutes. The rice should be about 70% cooked. It’ll still have a bite in the center. Drain immediately.
- Layer everything. Start with the chicken mixture at the bottom of your pot. Spread half the parboiled rice over the chicken. Sprinkle half the cilantro and mint on top. Add the rest of the rice. Top with the remaining herbs, the saffron milk, and fried onions.
- Steam it (the dum part). This is where the magic happens. Cover the pot with a tight lid. If your lid isn’t tight, put a clean kitchen towel between the pot and lid to seal it. Cook on the lowest possible heat for 25-30 minutes. Don’t peek. The steam is cooking everything together.
- Let it rest. Turn off the heat and let the pot sit, covered, for 10 minutes. This lets the moisture redistribute.
- Mix and serve. Gently fluff the biryani from the bottom up with a fork. You want to mix the layers together without breaking the rice grains. Serve hot.
Nutrition Per Serving
Kitchen Notes
Rice choice: Use basmati. Other long-grain rice doesn’t have the same aroma or texture. Aged basmati is best if you can find it.
The dum technique: If worried about your seal, transfer everything to an oven-safe pot after layering and bake at 350°F for 30 minutes instead of stovetop.
Saffron: Real saffron is pricey. You can skip it or use a tiny bit of yellow food coloring in the milk. It’s mostly for color anyway.
Vegetarian version: Skip the chicken and use 2 cups mixed vegetables (cauliflower, carrots, peas, potatoes) plus 1 cup cubed paneer. Cook the veggies until tender before layering.
Storage: Keep in an airtight container in the fridge for up to 4 days. Sprinkle water or milk over top before reheating. Can freeze for up to 3 months.
