Season chicken with salt, pepper, paprika, garam masala, and turmeric.
Heat oil in a skillet over medium-high heat and cook chicken for 5–6 minutes until mostly cooked. Remove and set aside.
Melt butter in the same pan, add onion, and cook 3–4 minutes until soft.
Add garlic and ginger and cook for 30 seconds until fragrant.
Stir in cumin, garam masala, and chili powder. Cook for 20 seconds.
Add tomato puree and simmer for 5 minutes.
Lower heat and stir in cream slowly. Add sugar/honey if using. Adjust salt.
Add chicken back in and simmer 5–7 minutes until fully cooked and sauce thickens.
Serve hot over rice with naan, and top with cilantro if desired.