Preheat medium skillet on medium heat and add butter to melt. Add onion, garlic, ginger and saute for 5 minutes, stirring occasionally.
Then add curry powder, garam masala, chili powder, salt, pepper, and cook for another 30 seconds, stirring frequently. Transfer to a large slow cooker.
Add chicken, coconut milk, tomato paste on top and give it a stir.
Cover and cook on High heat for 2 hours or on Low heat for 4 hours.
In a small bowl, whisk cold water with cornstarch, add to slow cooker and stir. Cover with a lid and let butter chicken cook on High heat for 10 minutes or until thickened.
Serve butter chicken hot on a bed of rice garnished with cilantro.
Notes
Store: Refrigerate in an airtight container for up to 5 days or freeze leftovers for up to 3 months.
Make ahead: Follow steps 1-3, refrigerate in a container for up to 2 days. When ready to cook, start with Step 4 and cook as per further instructions.
Freezer meal: Follow the recipe up to and including step 3 and freeze uncooked. Thaw in the fridge for 24 hours before cooking. Cook on Low for 4-5 hours or on High for 2-3 hours.