Place the saucepan containing the oil back over a medium-high heat and add the bay leaves, green and black cardamom pods and the cinnamon sticks. Let then crackle for 1 minute, stirring regularly.
Turn the heat down. Grate the garlic and the ginger to a fine paste add. Cook for 5 minutes, allowing the paste to brown but not burn.
Add the tomatoes, salt and chilli powder to the pan. Bring to a rapid simmer and cook until reduced by half, stirring regularly so that it doesn't catch.
Add the butter and simmer for 5 minutes.
Add the garam masala, sugar, honey, cumin, crispy garlic, dried fenugreek and fresh dill fronds and cook for a further 15 minutes.
Add the cream and simmer gently for 5 minutes.
Marinade and grilling
For the marinade, blitz the ingredients together in a blender to a smooth paste.
Cut the chicken into chunks, add to the marinade and turn to coat. Cover and leave to marinate in the fridge for 24 hours.
Heat the grill to medium-high. Place the marinated chicken on a rack in the grill pan, brush with the melted butter and grill for 8-10 minutes, until cooked.
Warm a large saucepan over a medium-low heat. Add the sauce, cream and grilled chicken and simmer very gently for 10 minutes.