Rinse the basmati rice under cold water until the water runs clear. Soak the rice in water for about 30 minutes. Drain and set aside.
In a large bowl, mix together the ground turmeric, ground cumin, ground coriander, ground cinnamon, ground cardamom, ground black pepper, ground cloves, ground nutmeg, and salt.
Rub the spice mixture all over the chicken pieces. Let it marinate for at least 30 minutes.
In a large pot or Dutch oven, heat the vegetable oil or ghee over medium-high heat.
Add the chicken pieces and brown on all sides. Remove the chicken and set aside.
In the same pot, add the chopped onions and sauté until golden brown, about 5-7 minutes.
Add the minced garlic and cook for another minute.
Stir in the chopped tomatoes and cook until they begin to break down, about 5 minutes.
Return the browned chicken to the pot.
Add the chicken broth or water, bay leaves, whole cardamom pods, and cinnamon stick.
Bring to a boil, then reduce the heat to low. Cover and simmer for about 30 minutes, or until the chicken is cooked through.
Remove the chicken pieces from the pot and set aside, keeping them warm.
Add the drained rice to the pot, spreading it evenly over the broth. Do not stir.
If using saffron, dissolve the saffron threads in warm milk and pour over the rice.
Cover the pot and cook on low heat for about 20-25 minutes, or until the rice is tender and has absorbed the liquid.
Fluff the rice with a fork.
Arrange the cooked chicken pieces on top of the rice.
Garnish with chopped fresh cilantro or parsley and toasted slivered almonds or pine nuts.
Enjoy your meal!