In a large bowl, toss the chicken with the yogurt and half the spices. Let this sit while you prepare everything else.
Make basmati rice according to the directions to serve with the butter chicken.
Heat a large pot over medium heat. Drizzle in the olive oil and cook the chicken until it's done. Transfer the chicken to a plate and set aside.
Add the onion and butter to the pot and cook for 5 minutes, then add in the remaining spices, salt and garlic. Cook for 2 minutes and then add in the tomato paste. Cook for an additional minute.
Now add the chicken back to the pot with the juices, and add in the coconut milk and 1/2 cup of water. Mix well and bring to a simmer. Simmer with the lid on for 10 minutes.
Once the sauce is done, add the cilantro and then taste test. Add more salt as needed and more cayenne if you want more spice.
Serve over rice and with naan bread.
Notes
You can use more coconut milk instead of yogurt if needed. You can replace the coconut milk with half and half cream if you like. Ground cayenne pepper is very spicy, add just a pinch at a time and wait a minute before taste testing.