Place diced chicken in a bowl with yoghurt, garlic, ginger, lemon juice, coriander, turmeric, cumin, paprika, chilli powder, cinnamon, salt, and pepper.
Mix, cover, and marinate overnight.
After marinating, skewer and brush with oil.
Grill or griddle for 10 minutes.
Heat 2 more tablespoons oil in another deep pan with a lid and sauté the chopped garlic, ginger, green chilies, and onions until they brown.
Add ginger-garlic paste, spices, cashew paste, chopped tomatoes, and a pinch of salt. Sauté until tomatoes become soft and mushy.
Simmer for 5 minutes to thicken. Mix roasted chicken pieces until well coated. Simmer 10 minutes covered.
Add cream, dried fenugreek, lemon juice, and butter. Serve with rice or roti (flatbread).