Combine all the spice mix ingredients and set aside.
Pat the chicken pieces dry with a paper towel. Trim any excess skin (optional). Season both sides of the chicken pieces with salt, pepper, and Garam Masala. Heat half the ghee (or clarified butter) in a heavy-bottom pot and brown the chicken pieces on both sides (the chicken does not need to be cooked through, just browned). You may need to do this in batches. Remove chicken and set aside. Drain excess fat from the pan (but leave some in there, don't wipe it clean!)
In the same pot that the chicken was browned in, heat up the remaining ghee. Add onions and stir to loosen any fond and seasonings from the pot. Sweat the onions until softened.
Add the minced garlic and ginger. Your kitchen will smell nicely aromatic at this point!
Add the spice mixture and stir through.
Add coconut milk and tomato puree.
Mix the curry sauce well, and add the chicken thighs back in (along with any juices that may have accumulated). Bring to a low boil, then cover and simmer for 30-40 minutes, until the chicken is tender and cooked through.
Taste and adjust salt and pepper to your liking. Add the chopped cilantro and stir through.
Serve with rice; sprinkle with more cilantro over the top for a beautiful presentation!