To make the marinade, combine: 2 tbsp lemon juice, 2 tsp garam masala, 1 tbsp cumin, 1 cup plain yogurt in a large bowl.
Place the chicken thighs in the bowl with the marinade, make sure they are all covered with the marinade, cover with plastic wrap, and refrigerate for 30 mins to overnight.
Heat a large skillet over medium-high heat and add one tbsp of vegetable oil. Working in batches if needed, brown the chicken pieces (make sure to remove the excess marinade first) on both sides for about 3-4 minutes on each side. Transfer to a plate and keep warm.
Add the butter to the same skillet and saute the chopped onion until translucent. Mix in the minced garlic, grated ginger, cumin, garam masala, coriander, chili powder, turmeric and cinnamon stick and cook for about a minute or until fragrant.
Pour in the chicken broth, crushed tomatoes, and sugar. Return the chicken to the skillet and simmer for about 10 minutes until the sauce is slightly thick. Mix in the heavy cream and simmer for 10 more minutes. Serve over freshly made basmati rice and top with fresh cilantro.