Put the cubed chicken in a medium mixing bowl and then add the rest of the marinade ingredients. Stir until the chicken is well-coated, then cover the bowl and place it in the fridge. Allow the chicken to marinade overnight (preferably) but for a minimum of 2 hours.
Once the chicken is done marinating, melt 2 tablespoons of butter or ghee in a large pan.
Add the marinated chicken into the hot pan and stir until the outside of the chicken is cooked, about 5-7 minutes. The middle can still be raw. Remove the chicken and set aside.
Add another tablespoon of butter into the pan. Add the diced onion and stir until sauteed, scraping down the extra flavor into the pan. Saute until the onions soften.
Add the ginger and garlic paste and saute again for a minute.
Add the spices and mix until toasted, about 1 minute.
Add the tomato paste and mix for another minute until the mixture is fragrant.
Pour the diced tomatoes into the pan along with the cashews. Cover and let this simmer for about 10 minutes.
After 10 minutes, remove the sauce from the stove and allow it to cool for a few minutes (this is very important, as your blender can explode if the sauce is too hot). Once cooled, put the sauce in a blender and blend until smooth.
Pour the blended sauce back into the pan, then pour in the heavy cream and the granulated sugar. Mix until everything is combined, then add the chicken. Stir until the chicken is fully coated.
Cover and simmer for another 10 minutes until the chicken cooks through and reaches an internal temperature of 165 degrees Fahrenheit.
Sprinkle with fenugreek leaves, chopped cilantro, and an extra drizzle of heavy cream. Serve over basmati rice with garlic naan. Enjoy!