01 - Combine all marinade ingredients in a large bowl. Add chicken pieces and mix thoroughly to coat. Cover and refrigerate for at least 1 hour, up to overnight for maximum flavor penetration.
02 - Bring water, salt, bay leaves, cardamom pods, cloves, and cinnamon stick to a boil in a large pot. Add soaked rice and cook until 70% done, approximately 7-8 minutes. Drain thoroughly and set aside, removing whole spices if preferred.
03 - Heat butter and oil in a large skillet over medium heat. Sauté onions until golden brown, about 5-6 minutes. Add ginger and garlic paste, cooking for 1 minute until fragrant. Add marinated chicken and cook until lightly browned on all sides, 6-8 minutes.
04 - Sprinkle garam masala, cumin, paprika, and chili powder over the chicken, stirring to coat evenly. Add crushed tomatoes and simmer for 10 minutes. Pour in heavy cream and sugar, season with salt, and simmer until sauce thickens and chicken is fully cooked through, 10-15 minutes. Stir in chopped cilantro.
05 - In a large ovenproof Dutch oven or heavy pot, spread half the butter chicken sauce on the bottom. Top with half the partially cooked rice. Drizzle with half the saffron milk, melted butter or ghee, fried onions, cilantro, and mint. Repeat layers with remaining sauce, rice, saffron milk, butter, onions, and herbs.
06 - Cover tightly with aluminum foil or a tight-fitting lid. Bake at 350°F for 25 minutes, alternatively cook on the stovetop over the lowest possible heat for 25 minutes to allow flavors to meld and rice to finish cooking.
07 - Remove from heat and let rest for 10 minutes. Gently fluff the layers with a fork, being careful not to break the rice grains. Serve hot, garnished with additional fresh herbs if desired.