In a mixing bowl, combine the chicken pieces with yogurt, ginger-garlic paste, red chili powder, turmeric powder, cumin powder, and salt. Mix well, ensuring the chicken is coated evenly. Allow it to marinate for at least 30 minutes, or refrigerate overnight for the best results.
Rinse the basmati rice under cold water until the water runs clear.
In a large pot, bring 4 cups of water to a boil. Add the rice, green cardamom pods, cloves, bay leaf, and salt. Cook the rice until it's 70% cooked (still slightly firm in the center). Drain and set aside.
In a large, heavy-bottomed pan or Dutch oven, heat the cooking oil or ghee over medium heat.
Add the sliced onions and saut until they turn golden brown and caramelized.
Add the marinated chicken and cook until it's no longer pink and starts to brown.
Add the chopped tomatoes and cook until they soften and release their juices.
Sprinkle half of the chopped mint and coriander leaves over the chicken mixture.
Layer the partially cooked rice on top.
Sprinkle the remaining mint and coriander leaves over the rice.
Sprinkle half of the chopped mint and coriander leaves over the chicken mixture.
Layer the partially cooked rice on top.
Sprinkle the remaining mint and coriander leaves over the rice.
Drizzle the saffron milk on top and garnish with fried onions if desired.
Cover the pan with a tight-fitting lid or seal it with aluminum foil.
Gently fluff the Chicken Biryani with a fork, ensuring that you mix the layers while serving.
Serve hot with raita (yogurt sauce) or a side salad.