In a large skillet, heat the vegetable oil over medium heat. Add the chopped onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic and ginger, cooking for an additional 1-2 minutes until fragrant.
Add the chicken pieces to the skillet and cook until browned on all sides, about 5-7 minutes.
Sprinkle in the garam masala, cumin, coriander, paprika, turmeric, and cayenne pepper. Stir well to coat the chicken with the spices.
Pour in the tomato sauce and bring to a simmer. Cook for 10 minutes, allowing the flavors to meld.
Reduce the heat to low and stir in the heavy cream and sugar. Simmer for another 5 minutes, adjusting salt to taste.
Remove from heat and garnish with chopped cilantro before serving.