Turn your grill on at the maximum temperature. Place all "marinade" ingredients into a bowl and mix together. Ideally allow to marinade or 2-3 hours (overnight is best). Then, place the marinated chicken on a foil lined oven tray. Grill for 10-12 minutes or until just fully cooked (the chicken should be white all the way through with a slight char all over). Remove from grill and keep aside.
In a pan, heat the butter and allow to melt. Using a pestle & mortar, coarsely crush open the cloves and green cardamoms and add to the pan along with the nutmeg powder and cinnamon. Then, add the onion along with 1 tsp salt. Cook on a medium heat for 3-4 minutes until soft and translucent.
Now add the garlic and ginger and mix. Cook for 3-4 minutes until light golden in colour. Add the chillies and mix. Then gradually add the tomato passata and tomato puree. Now add the creamy cashew paste and mix well. Continue to cook for 3-4 minutes on a low/medium heat.
Add in half of the fresh coriander now. Then add the garam masala, coriander powder, Kashmiri chilli powder/paprika, turmeric, salt and sugar mix well. Add in 5-6 tbsp water and allow the spices to cook for 1-2 minutes. Now grind the the kasuri methi into a powder using your fingers and then add to the pan and mix.
Now add the cream and mix well. When you see the oil begin to separate from the masala paste, at the edges, add the grilled chicken as well as any juices on your grill tray.
Add ¼ cup (60ml) water and bring to boil (I like to deglaze the grill tray with water and use that for maximum flavour). Pop a lid on the pan and allow the chicken to absorb the flavour of the masala for 3-5 minutes on a medium heat.
Finish with black cardamom powder, lime and fresh coriander. Allow the butter chicken to rest for 5-10 minutes before digging in. Serve with steamed basmati rice or hot and fresh naans!