Mix all marinade ingredients in a bowl. Add chicken and toss until evenly coated. Refrigerate for at least 30 minutes and up to 24 hours.
Wash basmati rice 2-3 times. Add water to cover and let it soak for 20 minutes before draining.
Heat water in a pot and add cloves, cardamom pods, bay leaves, cinnamon, star anise, and salt. Boil over high heat.
Add rice to boiling water. Bring rice to full boil before lowering heat to medium and cooking uncovered for 5-6 minutes. Rice should only be about 90% cooked. Drain rice and set it aside.
Add butter to a pan and melt over medium heat. Add onions and stir frequently until golden brown and starting to crisp up, around 15 minutes.
Remove onions and set aside. Add about ¼ of the onions to the chicken marinade mixture.
Melt 2 Tbsp of butter into pan used to cook onions. Add marinated chicken and cook over medium heat. Cook both sides of chicken for about 4-5 minutes.
Add rice over the chicken and top with crispy onions and saffron infused milk.
Cover the pot and seal it with aluminum foil, then place some weight over the lid. Cook on low heat for 20 minutes. Turn the heat off and wait another 10 minutes before opening the pot.
Allow to sit uncovered for 5 minutes before gently fluffing rice and then serving. Garnish with cilantro, raisins, and cashews.