Place the chicken pieces in a mixing bowl and add all of the marinade ingredients up to and including the garlic, ginger and chilli paste. Rub the marinade right into the flesh and set aside to marinate for 20 minutes or just go straight to cooking.
Heat the oil or ghee in a large frying pan that has a lid over a medium-high heat. When visibly hot, add the chicken and fry for about 4 minutes and then turn the pieces to brown the other side.
Reduce the heat to low and cover the pan and cook for a further 10 minutes or until the chicken is about 80% cooked through. Transfer to a bowl and pour all the juices from the pan over the chicken. Set aside.
Now let’s make the curry! Heat the oil or ghee in a large frying pan over a medium-high heat. When visibly hot, stir in the chopped onions and ½ teaspoon salt and fry, stirring regularly for about 8 minutes or until they are golden brown in colour.
Add the garlic, ginger and chilli paste and fry for a further minute. Stir in the ground spices and then pour in about 70ml (1/4 cup) water or stock so that the spices don’t burn and bring to a simmer.
Now add the passata and bring to a simmer. Cover the pan and continue simmering over a medium heat for about 20 minutes. Your changezi gravy is ready and you could just stir in the yoghurt and cream and add the chicken and salt to taste at this point and enjoy. If you want to make it street food style, however, you have a few more steps.
In another large frying pan, heat 70ml mustard oil over a medium-high heat. When visibly hot, add the prepared gravy one ladle at a time and let it all come to a simmer. Stir in the yoghurt one tablespoon at a time and then stir in the cream.
Sprinkle in the garam masala and kasoori methi (dried fenugreek leaves) and season with salt to taste. Stir in the cooked chicken and bring the sauce to a bubbling simmer to heat the chicken through, ensuring the chicken is nicely coated with the sauce and then add all or some garnishes of your choice.