To marinate chicken, combine yoghurt, ginger, garlic, chilli powder, lime zest and juice, chicken and ½ tsp salt flakes in a bowl. Cover and chill overnight.
The next day, remove chicken from marinade, allowing excess to drip off. Heat ghee in a large, heavy-based saucepan over high heat. Add chicken and cook for 3 minutes each side or until golden and just cooked through. Remove from pan and set aside.
For the butter chicken sauce, return saucepan to medium-high heat and add ghee, onion, garlic, cinnamon, ginger and fresh chilli. Cook, stirring occasionally, for 5 minutes or until onion is softened. Add spices and ½ tsp ground black pepper, and cook, stirring, for 2 minutes to infuse. Add coconut, cashew, tomato, sugar, tamarind paste and cream. Reduce to a gentle simmer and cook, stirring occasionally, for 15 minutes to infuse. Discard cinnamon, transfer sauce to a blender and whiz until smooth. Chop chicken thighs into 3-4 pieces and stir through sauce.
To make the bechamel, melt butter in a medium saucepan over high heat. Stir in flour and cook, stirring constantly, for 3 minutes or until golden. Slowly whisk in milk and bring to a simmer, stirring, for 4-5 minutes or until bechamel thickens. Cover surface directly with plastic wrap and set aside until needed.
Preheat the oven to 220°C. Grease 2 baking trays and line with baking paper.
Arrange potato and eggplant separately on prepared trays in a single layer. Brush with oil and roast, with the potatoes on the higher shelf, for 30 minutes or until both are tender.
Spoon butter chicken into the 2.8L-capacity casserole dish or 6 separate dishes. Top with eggplant and potato, then bechamel and kefalograviera. Bake for 35-40 minutes or until golden.
Serve with papadums scattered with dried oregano.
