In a Dutch oven or heavy bottom pan, mix all ingredients under the marinade section. Then, add the chicken pieces and mix well. Marinate for at least 30 minutes.
Slice the onions thin and evenly. Separate the layers so they fry well.
Heat oil in a large pan over medium-high heat. Add the onions and shallow fry for 12-15 minutes till they are golden brown, without burning them. Fry in batches if needed.
Soak saffron strands in warm milk. Set this aside for 10 minutes.
Add water to a large pot and bring it to a rolling boil. Add salt, whole spices, and basmati rice. Cook for 5 minutes, then drain the water immediately and spread the rice in a large plate or bowl
Place the pan or Dutch oven with the marinated chicken on medium-high heat. Cook the chicken for 8-10 minutes, stirring the chicken in between. Then, turn off the heat. The chicken is about 70% cooked by this time.
Spread half of the fried onions on top of the chicken. Then, spread half of the chopped mint and cilantro leaves.
Now, layer the parboiled rice on top evenly. Using a spatula, flat the surface. Now, drizzle the ghee over the rice. Then, drizzle the saffron milk all over the rice. Spread some more fried onions, mint leaves, and cilantro leaves on top.
Cover with a tight lid and cook on the lowest flame for 20 minutes. Remove from heat and let the biryani rest for 5-10 minutes. Garnish with fried onions and cilantro leaves. Serve with raita and salad!