Heat the oil in a large frying pan, brown the chicken pieces on all sides then remove with a slotted spoon and set aside. Add the onion to the pan (add a little more oil if necessary) and cook till the onions are soft.
Add the green chilli, ginger and garlic and continue to cook, stirring for a further minute. Next add the chilli powder, turmeric, garam masala and sugar and cook, string for a minute to release the spices.
Tip in the tomatoes and coconut milk, return the chicken to the pan and add the cauliflower. Stir well and simmer for 10 mins until the cauliflower and chicken are cooked through. (add a little stock or water if the sauce gets too thick). Taste to check the seasoning then stir through the spinach until it just starts to wilt.
N.B. Serve with rice or flat breads. If you prefer you can use 3 tbsp masala curry paste rather than the separate elements in step 2.
For Vegetarians miss out the chicken and add a drained tin of chick peas at the same.