Tender pieces of chicken swim in a fragrant golden sauce perfumed by black pepper, cinnamon, cloves, cumin and coriander. If you make the curry ahead of time, and then warm it right before dinner, the flavors and aromas will have a chance to meld, producing a deep and resonantly rich flavor.
Warm the ghee in a Dutch oven over medium high heat. When it melts, toss in the chopped chicken. Sauté the chicken in the hot fat until it turns opaque, and then stir in the yellow onions. Turn down the heat to medium, and sprinkle the salt over the onions. Stir frequently and allow the onions to cook in the ghee until translucent, about 10 minutes.
Stir in the garlic, ginger, turmeric, cayenne and garam masala. Continue stirring the spices into the chicken and onions until they're completely coated. Then stir in the diced tomatoes and coconut milk.
Simmer the sauce over medium heat, stirring occasionally, until the chicken is fall-apart tender and the sauce thickens - about 20 minutes. Serve warm over rice with chopped cilantro.