In a nonstick skillet, heat the coconut oil over medium high. Once hot, add the onion and cook until beginning to soften, about 5 minutes.
Add the ginger, garlic, curry, garam masala, chili powder, salt, and tomato paste. Cook about 30 seconds, until fragrant.
Transfer the onions to a 6-quart or larger slow cooker. Lay the chicken on top, then the cauliflower florets, and top with tomato sauce. Stir to combine the florets and sauce a bit, leaving the chicken pieces unmoved underneath. Scatter the butter pieces over the top.
Cover and cook on high for 1-1/2 to 2-1/2 hours or on low for 4 to 6 hours, until the chicken is cooked all the way through. The cooking time may vary based on your slow cooker, so check early to prevent it drying out. When the chicken is done, remove it to a cutting board and let cool slightly..
At this point, the cauliflower is probably isn't tender yet. Give the ingredients in the slow cooker a good stir to coat the florets with the sauce. Recover the slow cooker and cook on high until the florets are completely tender (about 30 minutes to 1 hour more).
Once the chicken is cool, cut it into bite-size pieces. Put it back in the slow cooker with the tender florets. Stir in the or coconut milk. Let cool for a while, then stir in the Greek yogurt. Don't stir in the yogurt too soon; you don't want it to curdle. Enjoy your butter chicken over quinoa, brown rice, or naan, sprinkled with fresh cilantro.