Place the chicken & marinade ingredients (except the canola oil) into a large mixing bowl, mix to combine. Cover & place in the fridge to marinate for a minimum of 30 minutes up to 48 hours.
In a large high rimmed pan or pot, place over a high heat & once really hot pour in the canola oil, add the marinated chicken and sear in batches for 3-4 minutes on each side or until lightly golden. Remove & place in a bowl to rest.
Add the ghee or clarified butter to the same pot or pan, allow to melt. Add in the thinly sliced brown (yellow) onion & saute for 5 minutes or until deep golden, stirring frequently. Add in the garlic & ginger paste, saute for 45 seconds stirring the whole time to prevent it from burning.
Add in the ground cumin, ground coriander & red chilli powder (optional). Toast & saute for 45 seconds. Add in the canned tomatoes & water, mix well to combine & bring to a boil. Reduce heat to low & simmer for 8 minutes, stirring frequently.
After 8 minutes, take the pot or pan off the heat & blend using either an immersion blender or food processor (see notes below about the food processor.)
Once smooth, Place it back over high heat & bring it back to a boil. Once boiling, add in the garam masala, sugar, thickened cream, seared chicken along with any resting juices & seasoning to taste. Mix well to combine & bring back to a boil, reduce heat to low & simmer for 25-30 minutes or until the chicken is soft & tender. Remove from stovetop.
In the meantime, place a saucepan over high heat, add in all the rice ingredients & bring to a boil. Reduce heat to low, place on a lid and steam for 14 minutes undisturbed. Turn it off the heat, leave the lid on and steam for a further 4 minutes. Remove the lid, remove the spices & fluff with a spatula or fork. Remove from stovetop.
Place the rice into a serving bowl, place over the tender chicken thighs & cover with the tomato gravy. Garnish with fresh coriander (cilantro) & naan bread. Enjoy.