Wipe down the pot, or clean as needed to remove any brown bits that may have stuck to the bottom. Return to medium high heat.
Add 1 tablespoon of oil to the pan. Once hot, add the onions and sauté for 3-4 minutes, stirring frequently.
Add the salt and ginger and continue to cook for 2-3 minutes, stirring often to prevent the ginger from burning.
Reduce heat to medium-low. Add the garlic and paprika and cook for 2 minutes, stirring often to prevent the paprika from burning.
Finally, mix in the turmeric, garam masala, coriander, cumin, and cardamom powder. Cook for an additional two minutes, toasting the spices and stirring often.
Stir in the tomato puree and water with the onions and spices. Bring to a simmer, reduce heat to low, and cover. Allow mixture to simmer for approximately 10-15 minutes, stirring occasionally to prevent the sauce from burning to the bottom of the pot.
Remove from heat and transfer sauce to a large, high-speed blender. Process until smooth. Return the sauce back to the pot, making sure to return as much of the sauce stuck in the blender back to the pot as possible.
Return pot to low heat. Stir in the cream, sugar, and butter. Once the butter has melted, return the chicken to the pot and mix well to combine.
Allow the chicken to simmer for an additional 5-10 minutes, or until chicken is fully cooked. Take care not to boil the sauce. Season with additional salt and pepper, to taste.
Serve with warm naan or pita bread, if desired. Enjoy!