Whisk together the lemon juice, turmeric, garam masala and cumin in a large bowl for the chicken thigh marinade.
Put the chicken in the marinade, and make sure it is evenly coated. Cover, and refrigerate for at least 1 hour and up to one day.
Preheat oven to 350 degrees.
In a large pan over medium heat, melt the butter in the oil until it starts to foam.
Remove chicken from marinade, and quickly brown chicken on all sides.
When chicken is browned, remove pan from heat. Do not clean out pan, we will make sauce in it.
Add chicken to a baking sheet with a metal rack placed over the top and bake until cooked through (when chicken reaches 175 internal temperature with a digital thermometer inserted into the thickest part of thigh (do not touch bone.)
Return pan to medium high heat.
Add the onions, and cook, stirring frequently, until translucent and soft.
Add the cumin seeds, garlic, and fresh ginger and cook until the onions turn lightly brown and are soft - be sure to stir occasionally and don't let garlic burn.
Add the cinnamon stick, tomatoes, chiles and salt, and cook until the chiles are soft, about 10 minutes.
Add chicken stock.
Bring the mixture to a boil, then lower the heat and simmer, uncovered, for approximately 30 minutes.
If you prefer a smooth sauce, add to blender and blend completely. While I prefer a slightly textured sauce, my kids prefer it to be very, very smooth. Return back to pan when desired texture is met. Sauce will be very liquid until cream and tomato paste are added.
With heat on low, stir in the cream and tomato paste, and add cooked chicken to pan, tossing to coat in sauce, and let sauce reduce approximately 10 to 15 minutes.
Remove from pan and plate with naan, rice, or riced cauliflower and garnish with the cilantro leaves.
Enjoy!