To make the marinade, mix all of the spices together in a large bowl. Stir in the coconut milk and mix until thoroughly combined. Add in the chicken pieces, and stir to cover with the marinade. Marinate for at least 6 hours, or preferably overnight.
To make the curry, remove the chicken pieces from the marinade, reserving the marinade. Heat the coconut oil in a wok or deep frying pan over a medium-high heat. In batches, brown the chicken then remove and set aside. Once all of the chicken pieces have been browned, return them to the pan with the remaining marinade. Stir in the tomato paste and lemon juice. Reduce the heat to low, and simmer for 10 minutes.
Meanwhile, make the cauliflower rice. Place the cauliflower florets in a food processor and blitz until it resembles rice. Be careful not to over process as it will turn the cauliflower into mush. Heat a wok over a high heat and melt the coconut oil. Add in the cauliflower, and stir-fry for 1-2 minutes. Stir in the spices and salt. Remove from the heat and stir in the chopped coriander.
To serve, place some cauliflower rice in a bowl and top with the butter chicken. Sprinkle with some extra chopped coriander. You could also serve this with some steamed vegetables.
Note: If you can tolerate rice, replace the cauliflower with 2 cups cooked basmati rice. This will make the recipe low FODMAP.