In a large, frying pan, heat a little oil over a medium heat. Add the chicken and allow to brown. Remove to a dish while you cook the onion. Add a little more oil to the pan then add the onion and cook, stirring occasionally, until golden, about 10 minutes. Stir in the garlic and ginger, and fry, stirring occasionally, for another 1 minute. Add the cardamom seeds, coriander, turmeric and chilli powder. Cook for another minute, stirring all the time.
Then add back the chicken along with, passata, stock or water and the cinnamon sticks. Season with salt and black pepper. Bring to a simmer. Cook, stirring occasionally, until the mixture thickens, and the chicken is cooked. This will take about 20 minutes. Add the coconut milk and the garam masala and heat gently.
Meanwhile cook the rice: Melt the butter in a medium-sized saucepan. Add the diced onion, cinnamon stick, cloves, cardamom seeds, turmeric, salt and bay leaves. Cover with a lid and cook on a low heat for 5-10 minutes until the onions are very soft but not brown, stirring occasionally.
Add in the basmati rice and stir to coat the rice in the onions and spices. Pour in the boiling water and bring back to the boil. Cover with a lid and turn the heat right down. Continue cooking for 8 minutes or until all the water is absorbed.
Remove from the heat and allow the rice to steam, with the lid on, for 5 minutes.
Serving Suggestions
Remove the bay leaves and cinnamon sticks from the curry and the rice. Sprinkle chopped coriander leaves over the curry and serve with the rice and warm naan bread.