Remove the skin from the chicken and slash each thigh two or three times. Put into a bowl or plastic container and toss with the lime juice and 1/2 tsp salt. Set aside while you make the marinade.
In a small food processor, blitz the ginger and garlic to make a paste, adding a splash of water if needed. Set aside half of the paste for the sauce. Tip the remaining marinade ingredients into the food processor, then blitz to a smooth paste. Pour the paste over the chicken and marinate for at least 4 hrs (overnight or 24 hrs is even better).
To make the sauce, heat 2 tbsp of the ghee or butter in a large shallow pan with a lid. Cook the onions for 15 mins over a medium heat until starting to brown. Add the spices and remaining garlic and ginger paste, and cook for 2 mins. Stir in the tomato purée, ground almonds, a pinch of sugar and vinegar. Cook for about 1 min. Pour in the passata, then fill the jar or carton halfway up with water and add this too. Bring to a gentle simmer, then cook for 2-3 hrs until you have a thick, red sauce. Can be kept chilled in the fridge for up to 48 hrs while you marinate the chicken.
Set the grill to its highest setting. Lift the chicken from the marinade, wiping off any excess back into the dish and reserve for the sauce. Arrange the chicken on a large baking tray cut-side up. Put under the grill for 10-15 mins until charred and starting to blacken. Remove the tray from the oven and set aside with the cooking juices. Reheat the sauce, adding the reserved marinade, then tip the chicken and any pan juices with the crème fraîche or cream into the curry sauce. Cook for 40 mins until the chicken is completely tender. Stir the remaining butter or ghee in at the end.
Leave the curry to sit for a few mins, then season with the garam masala and smoked salt, if using. Sprinkle with coriander and flaked almonds, then serve with naan bread and rice, if you like.