For the chicken, combine chicken, lemon juice and paprika in a large bowl. Toss to coat. Add remaining ingredients and toss until well combined. Stand for 30 minutes (this can also be done the night before and left, covered, in the fridge).
Heat 2 tbs ghee in a large non-stick frypan over high heat. Cook chicken, in 2 batches, for 3-4 minutes each side until golden. Set chicken aside.
Heat remaining ghee in a large saucepan over medium heat. Add ginger, garlic, cardamom, cloves, fresh chilli and cinnamon and cook, stirring occasionally, for 1-2 minutes until fragrant.
Add the passata, chickpeas, garam masala, chilli powder and fenugreek, if using. Cook for 5 minutes, then add chicken with ¼ cup (60ml) water. Simmer, partially covered and stirring occasionally, for 15-20 minutes until chicken is cooked through. Add cream, sugar and salt flakes to taste, and mix well.
For the flatbread, heat a large non-stick or cast-iron frypan over medium heat for 5 minutes. Combine all ingredients in a large bowl until a sticky dough (there’s no need to knead this dough; it becomes too tough). Divide into 8 equal-sized balls.
On a well-floured surface, flatten each ball until 3mm thick. Cook flatbreads, in batches, for 2-3 minutes each side until cooked and golden (keep warm, wrapped in a tea towel, until ready to serve).
Top butter chicken with pickled onions, coriander and a dollop of raita. Serve with steamed rice, warm flatbread to dip into the sauce and lime wedges alongside.
