Cut each chicken breast fillet into 3 pieces. Combine in a bowl with garam masala, coriander, chilli powder, ginger, garlic, vinegar, tomato paste and yoghurt and mix well. Marinated, covered, overnight in the fridge.
Melt the butter in a saucepan and add the onion, cinnamon and cardamom pods. Brown the onions lightly. Add the chicken and marinade and cook, stirring often, 5 minutes.
Add the salt, paprika, tomato puree and stock. Cook, stirring, 10 minutes. Add cream and simmer 10 more minutes. Serve!