Preheat oven to 350 degrees. In a small bowl combine warm milk with saffron threads. Let it steep at least 10 minutes.
Heat 3/4 tbs. oil in medium saucepan. Add cardamon pods,1/4 teaspoons cinnamon, bay leaf and black peppercorns. Cook over medium heat until sizzling, about 3 minutes. Add rice and stir to coat with oil. Add the water and 1 teaspoons of salt. Bring to boil. Cover and cook over low heat until the rice is tender and the water is absorbed. Fluff with fork and season with more salt if desired.
Meanwhile, heat 3/4 tbs. of oil in a skillet. Add the chopped onion and cook over medium heat until it begins to brown. Add the tomato and cook one minute. Add the garlic, ginger, garam masala, cayenne, turmeric, cloves, curry powder and 1/4 teaspoons cinnamon. Cook, stirring, until fragrant, about 2 minutes. Stir in the chicken, adding a few tbs. of water if it looks quite dry. Cover and cook on low, stirring occasionally, about 10 minutes. Stir in the cilantro and season with salt & pepper.
Spread half the rice in a casserole dish (sprayed with cooking spray if desired). Top with chicken mixture, then rest of rice. Drizzle the saffron milk over the rice and top with the ghee. Cover and bake for 30 minutes.
Meanwhile, heat the remaining 1/2 tbs. of oil in a skillet. Add the sliced onion and cook on medium heat until browned. Set them on paper towels to absorb any oil. Spread the onions over the cooked rice when you remove it from the oven.