Cut chicken into bite-size pieces, finely chop onion, and mince garlic. Measure all spices, open tomato sauce, and have cream and sugar ready.
Melt ghee in large skillet over medium heat. Add onion and cook until translucent, about 5 minutes. Add garlic and cook for 1 minute until fragrant.
Add cumin, ginger, cayenne, cinnamon, turmeric, and salt to the skillet. Cook for 2 minutes while stirring constantly to bloom the spices.
Pour in tomato sauce and stir to combine. Bring to a gentle boil, then reduce heat to low and simmer for 10 minutes.
Stir in heavy cream, sugar, and paprika. Simmer for 10-15 minutes, stirring often, until sauce thickens and coats the back of a spoon.
Heat oil in separate skillet over medium heat. Add chicken in a single layer, sprinkle with garam masala, and sear for 3 minutes until lightly golden. Chicken does not need to cook through.
Transfer seared chicken and pan juices to the sauce. Simmer on low for 30 minutes, stirring occasionally, until chicken is cooked through and infused with flavor.
Taste and adjust with more salt or sugar. Remove from heat, garnish with fresh cilantro, and serve hot over basmati rice or with warm naan.