In a bowl, combine the chicken pieces with the yogurt and marinade spices. Mix well and let it marinate for at least 30 minutes to several hours. The longer it marinades the better the flavor.
While the chicken is marinating, wash the rice and let it soak for 30 minutes.
Heat a large skillet over medium heat and add the olive oil or ghee.
Once the oil is warm, add the sliced onions and sauté until golden brown.
Add the marinated chicken to the skillet and cook until it's no longer pink and is golden brown on the outside, about 5-7 minutes.
Add the green chilies, cinnamon stick, cardamom pods, cloves, and bay leaf and sauté for 2-3 minutes, stirring frequently.
Add the drained rice and stir well to combine with the chicken, fried onions, and spices. Cook for about 2-3 minutes to lightly toast the rice.
Pour in the 2 cups water or chicken broth and add salt to taste. Bring the mixture to a boil, then reduce to low heat. Let simmer covered for 15-20 minutes, or until the rice is soft.
Fluff the rice with a fork and add whatever garnishes you prefer before serving.
Notes
You can also make this dish in the Instant Pot or pressure cooker too. See below for instructions.