1Place yoghurt and curry paste in a glass or ceramic dish. Add chicken. Stir to coat. Cover and refrigerate overnight.
2Remove the chicken, pat dry and toss in the gram flour. Dunk the chicken pieces back in the marinade.
3Heat oil and butter in a heavy-based saucepan over medium-high heat and cook sliced onion, stirring occasionally, for 3 to 4 minutes until softened.
4Add chicken pieces to pan. Cook, stirring, for 5 minutes or until chicken just starts to change colour.
5Add remaining marinade, tomatoes and stock. Cover. Bring to the boil. Reduce heat to low.
6Simmer, stirring occasionally, for 20 minutes until chicken is tender and mixture has thickened slightly.
7Stir in the cumin and garamasala and cook gently for another ten minutes.
8Stir in cream. Simmer for a further 5 minutes or until heated through.
9Serve with steamed rice and coriander leaves.