Mix ingredients for the first marinade. Add chicken pieces and marinate for 25-30 minutes. Dry-roast coriander seeds in frying pan over a medium-high heat for 2 minutes. Add cumin seeds and dry-roast for 30 seconds. Grind these spices in blender, or mortar & pestle, then mix them in non-metallic bowl with other ingredients for second marinade. Salt to taste, and add chicken pieces. Marinate in the refrigerator for at least 6 hours or overnight.
Thread the marinated chicken pieces onto metal or pre-soaked wooden skewers. Pre-heat a grill, chargrill or grill pan to hot. Grill the skewered chicken, turning a few times, so that the chicken gets cooked evenly from all sides. Remove the chicken from the grill. Take the pieces off the skewers and place on a plate.
For tomato masala heat ghee, or oil in frying pan. When the ghee is ready, turn the heat to medium-high and fry coriander seeds and cinnamon stick for 1 minute. Add bay leaves, cloves, green cardamoms and black peppercorns, and fry for 1 more minute. Now add halfed tomatoes and stir for 2-3 minutes. Add 125 ml of hot water, bring to the boil, reduce the heat to medium, and cover with a lid. After 20 minutes remove skin from the tomatoes and continue to simmer until the tomatoes have completely disintegrated. Now remove the cinnamon stick and bay leaves from tomato masala and blend it with a hand-held blender and pass it through a sieve to obtain smooth puree. Set this masala aside.
For the gravy heat the ghee in frying pan. When the ghee is hot, add the onions and reduce the heat to medium. Fry for 10-15 minutes, or until onions are tender and golden.
In the meantime, put almonds and desiccated coconut in blender and grind to powder. Now grind this almond-coconut powder with double cream and a little water to make a fine paste.
When the onions are golden add garlic, ginger, and green chillies, and fry for 1 minute. Then add turmeric, paprika and cumin and saute for 30 seconds. Put in the tomato masala, almond-coconut paste, tomato paste, honey and 125 ml of hot water. Cook for 10 minutes, or until sauce starts to thicken. Remove the curry sauce from the heat, and blend it again with the hand-held blender until smooth. Return to a clean pan, reheat again and add cheddar cheese. When the cheese is melted, slowly whisk in the cream. Add dry fenugreek leaves, garam masala and salt to taste. Put in the chicken pieces and stir for 3-4 minutes over medium heat.
To finish the dish, stir in the chopped coriander leaves. Serve with naan bread or pilau rice.