Place the yogurt, ground almonds, all the dry spices, ginger, garlic, tomatoes and salt in a mixing bowl and blend together thoroughly.
Put the chicken into a large mixing bowl and pour over the yogurt mixture. Set aside.
Melt together the butter and oil in a medium karahi, wok or frying pan. Add the onions and fry for about 3 minutes. Add the chicken mixture and stir-fry for about 7 to 10 minutes.
Stir in about half of the coriander and mix well. Pour over the cream and stir in well. Bring to the boil. Garnish the indian butter chicken with the remaining chopped coriander to serve the chicken curry.