Blend the chilli powder, cumin, garam masala, coriander, 3 garlic cloves, turmeric, cinnamon, ginger and cashews to a fine purÃ©e in a food processor. Add half of the lemon juice and blitz once more until smooth. Stir in the yoghurt until well combined.
Put the chicken breasts in a bowl and pour over the marinade, mixing to coat. Marinate in the fridge for 1 hour.
Preheat the grill to its highest setting and place an oven shelf in the middle of the oven.
Transfer the marinated chicken to a grill tray lined with aluminium foil. Grill for 12-15 minutes, until the marinade has browned and the chicken is just cooked through.
Meanwhile, heat the oil in a frying pan over a medium heat. Add the cinnamon stick and cardamom pods and stir-fry for 1 minute, until fragrant. Add the remaining garlic, chillies and tomatoes and simmer for 4-5 minutes.
Add the grilled chicken and cook for a further 4-5 minutes, until the sauce has thickened slightly and the chicken is cooked through.
Whisk in the chilled butter a little at a time, then add the cream and simmer for another 2 minutes. Season, to taste, with salt and freshly ground black pepper. Keep warm.
Meanwhile, make some chapatis, pile the flour onto a clean work surface and make a well in the centre. Gradually and carefully add 250ml/9fl oz cold water, pulling the flour in from the inner edges of the well to combine, until the mixture comes together as a soft dough. Knead until soft, smooth and elastic.
Divide the dough into 4 pieces then roll each piece into a ball. Roll out the balls onto a floured work surface to form a flat disc 2-3mm thick.
Heat a griddle pan or non-stick frying pan over a high heat until very hot. Cook the chapatis one at a time until just charred, about 20 seconds on each side. When the chapati is cooked, bubbles will form at its surface. Brush the cooked chapatis with the melted butter.
Serve the butter chicken with the chapatis.