Grate the garlic and ginger and put to one side in a bowl. Chop the chillies as finely as possible and mix them in with the garlic and ginger. Heat a good splash of oil in a pan and add the mustard seeds. When they start to pop, add them to the ginger and garlic mixture along with the paprika, cumin, ground coriander and 2 T of the garam masala. Put half of this mix in a bowl, add the yogurt and the chicken pieces to it, stir and leave to marinate for about a half an hour.
Melt butter in the same saucepan the mustard seeds were in and add the sliced onions and the remaining half of the spice mix. Cook gently for about 15 minutes without browning too much. Add the tomato puree, ground nuts, 2 1/2 C of water and 1/2 t of salt. Stir well and simmer gently for a few minutes. Let this sauce reduce until it thickens slightly and then place to one side.
Put the marinated chicken on a hot griddle pan and sear until cooked through.
Warm the sauce and add the cream and the other T of garam masala. Taste and correct the seasoning if necessary. As soon as it boils, take off the heat and add the grilled chicken. Check the seasoning again and serve sprinkled with the chopped cilantro and the lime juice.