Melt butter in a deep 10-12 inch frying pan or skillet over medium heat.
Add onions and cook slowly, stirring often, until they are tender and translucent.
While onions are cooking prepare the can of tomatoes (for the picky eaters in your family), by lightly blending with a hand blender, or mashing with a potato masher, eliminating as many chunks as possible.
Add garlic & gingerroot to the onions and saute for 1-2 minutes.
Stir in the chili powder, turmeric, cumin, cinnamon & coriander - Cook one more minute.
Pour in the can of tomatoes, whole, diced or blended... whatever floats your boat.
Stir in brown sugar, salt. pepper and tomato paste (if your sauce is too runny... I don't usually use the paste, but the tomatoes I use are quite hearty and meaty.
Cover, reduce heat and simmer for 15-20 minutes.
Just before serving, add the cream & yogurt (or sour cream) and stir until fully incorporated. Heat until hot, but do not simmer or the yogurt will separate.
Add the chicken to the sauce and heat through.
Serve over hot basmati rice with cilantro to top.