First marinate the chicken. Start by cutting the chicken into small, bite size pieces. Try to get all the pieces similar size so they will cook for the same amount of time.
Place in a mixing bowl and toss / stir with the kashmiri chili powder, salt, lemon juice, greek yogurt, garam masala and cumin. Cover and refrigerate for 30 minutes.
While the chicken marinates start the rice. I like to use a rice cooker. Next make the gravy / curry. Finely chop the onions, mince the garlic, peel and mince the ginger.
In a large pot or dutch oven melt the butter. Cook the onions over medium / high heat for 3-4 minutes until very soft and brown.
Toss in the cinnamon stick and cardamom pods. Then add the garlic and ginger and cook for another minute.
Reduce the heat to low and stir in the tomato sauce, tomato paste, kashmiri chili powder, garam masala, cumin, slat and sugar. Cover and allow to simmer while you cook the chicken.
Add the remaining butter to a large skillet and cook the chicken until it reaches 160°F internally (cooked through). If you don’t have a meat thermometer, I recommend it, but you can also cut open the largest/thickest piece to check it’s done. It should be white in color with no pink remaining. Returning to the gravy / curry. Remove the cinnamon stick and cardamom pods. Add the dried fenugreek leaves.
Use an immersion blender (or you can pour into a blender and then return to the pot) puree the sauce. Then stir in the cream and cooked chicken. I usually add 1/3 to 1/2 cup of water as well, as we like our sauce more on the thin side. But this is up to you.
Top with a chopped cilantro when serving.