Using a medium mixing bowl, combine all ingredients including chicken. Stir until chicken is well coated, cover and refrigerate overnight.
Using a large skillet, add vegetable oil and place over medium-high heat. Once hot, remove chicken from marinade and place in skillet. Sear chicken for 2-3 minutes per side, or until browned. Remove chicken from pan and cut into 1” pieces. (Note: Chicken will not be fully cooked yet.)
Using the same skillet, add butter and place back over medium-high heat. Once butter has melted, add sliced onions. Cook, stirring occasionally, for 3-4 minutes, or until onion just begins to soften.
Add garlic and ginger; stir and continue cooking for 1-2 more minutes.
Transfer onion, garlic and ginger from the skillet into the slow cooker. Add chicken (from above), tomato sauce, cumin, paprika, turmeric, garam masala, coriander, salt, pepper and cayenne; stir until well combined. Cover and cook on LOW for 4 hours.
Add heavy cream and sugar; stir until well combined. Continue cooking on LOW for 30 more minutes.
Divide rice onto plates and top with cubed chicken and sauce; garnish with cilantro.