Heat olive oil in a skillet over medium heat and sauté onions until soft and golden.
Add garlic and ginger, cooking for another minute until fragrant.
Transfer the onion mixture to the crockpot. Add chicken, tomato sauce, cream, butter, and all the spices. Stir to combine.
Cover and cook on low for 6 hours or on high for 3 hours until the chicken is tender.
Taste and adjust seasoning with salt and pepper as needed.
Serve hot over rice and garnish with fresh cilantro.