Heat the vegetable oil or ghee in a large pot over medium heat.
Add the chopped onions and cook until translucent.
Stir in the minced garlic and ginger, cooking for another minute until fragrant.
Add the chicken pieces and cook until browned on all sides.
Stir in the chopped tomatoes, tomato paste, cumin, coriander, turmeric, cinnamon, black pepper, and salt. Cook for about 5 minutes until the tomatoes are softened and the spices are well incorporated.
Pour in the chicken broth and add the saffron threads, cloves, and bay leaf if using. Bring to a boil.
Reduce the heat to low, cover the pot, and simmer for about 30 minutes, or until the chicken is cooked through and tender.
Rinse the basmati rice under cold water until the water runs clear.
Add the rice to the pot with the chicken. Stir to combine.
Cover the pot and cook on low heat for about 20-25 minutes, or until the rice is tender and the liquid is absorbed. If using raisins and slivered almonds, stir them in during the last 5 minutes of cooking.
Garnish with fried onions, fresh cilantro, or parsley if desired.
Enjoy your meal!