Heat oil & half the butter in a large, heavy based saucepan over high heat. Cook chicken in batches until browned & remove to a plate
Reduce heat to medium & add remaining butter. Add ginger & cook for 1 minute. Add coriander, cumin, garamasala & chilli powder & cook for 30 seconds. Add tomatoe puree & a pinch of salt & simmer for 10 minutes.
Return chicken to saucepan with yoghurt & cream. Simmer for 10 minutes or until the chicken is cooked.
Serve with rice and warm roti, garnish with ¼ cup toasted flaked almonds & coriander leaves.