Place chicken in a bowl. Add all the marinade ingredients- yogurt, garam masala, turmeric, ginger garlic paste, chili powder, lemon juice, salt- and mix together. Cover and refrigerate. Let marinate for up to 12 hours.
Add the cashews and tomato puree to a blender and blend until smooth. Set aside.
Add 1 tb of ghee to skillet over medium heat. Add chicken and cook until done. Set chicken aside.
Heat skillet over medium heat with ghee, cardamom pods, cinnamon stick, and cloves for about a minute. Add garlic ginger paste and green chilis. Cook until it becomes fragrant.
Next add the tomato cashew puree, salt, sugar, and red chili powder. Let simmer until it thickens, about 10 minutes.
Add 1 cup of water, more or less depending on your desired consistency. Bring to a boil and let simmer for 5 minutes. Taste for salt and add as needed.
Add chicken, garam masala, and coriander. Let simmer for 5 minutes.
Add dried fenugreek leaves. Pour in cold cream and remove from heat. Garnish with cilantro and more cream if desired. Serve with naan, paratha, or basmati rice.