Rinse the rice until the water runs clear, then soak it for 20 minutes.
While it soaks, wash the chicken and drain the extra water.
Heat the oil. Add cloves, green cardamom, black cardamom, cinnamon, and bay leaves. Fry a few seconds.
Add sliced onions and green chillies. Fry until golden brown.
Add the chicken and fry on low to medium heat until golden brown.
Add the tomato, turmeric, black pepper, cumin, Kashmiri chilli powder, and salt. Mix well.
Add the garlic paste. Fry on low heat until the masala is cooked and the raw smell is gone.
Add ½ cup (120 ml) water. Cover and cook on low, stirring now and then.
Drain the soaked rice. Boil the 5 cups water, then add the rice.
Cook until the rice is about 90% done, then drain the extra water through a strainer.
Dry the rice on very low heat, covered, for 1 minute. Rest 2 to 3 minutes, then fluff with a fork.
Cook the curry until the chicken is soft and the gravy turns brown with oil on top. Add water for more gravy if you like.
Garnish with cilantro and serve hot over the rice.