Cut chicken into chunks and marinate chicken with ginger garlic paste, yoghurt, chilli powder, garam masala, cumin powder, turmeric powder and salt for an hour or overnight in fridge.
In a heated pan, add oil and sear the chicken for 2-3 minutes over high heat till the sides turned brown. Remove from heat and set aside.
Using the same pan with the residue oil, sauté onions and ginger garlic paste. Add chillies and tomatoes in and continue frying for 3-5 minutes.
Add the chicken stock and tomato paste in and use a hand held blender to puree the gravy.
Add in the chicken cubes, bay leaf and cinnamon stick and simmer over low heat for 20 minutes.
Stir in the cream and butter and season with sugar and additional salt to taste.
Garnish with coriander leaves. Serve with basmati rice or naan.