Place chicken into a bowl along with the spices, salt and pepper and oil. Toss well to combine. Cover and chill until required. (This can be done up to 24hrs ahead of time but there is no need if your don't have the time)
Heat the oil in a large frying pan over medium-high heat. Add the chicken and cook, stirring often, for 5 minutes or until lightly golden in colour but not cooked through. Remove and set aside.
Add the butter to the pan and allow to melt over a medium heat. Add the onion, garlic and ginger. Cook for 5 minutes or until softened . Add the garam masala, cumin and curry powder, cook, stirring for 1 minute.
Add the tomato passata and sugar and bring to a simmer. Return chicken to the pan along with any juices and stir to combine. Add the coconut cream, and allow to simmer over low heat for 20 minutes or until sauce has thickened. Remove from heat and stir through coriander.
Serve curry over basmati rice and garnish as desired.