1 tablespoon turmeric
1 tablespoon garam masala
2 teaspoons ground coriander
2 teaspoons ground cumin
2 teaspoons kosher salt
2 teaspoons Kashmiri red chile powder (or 1 teaspoon cayenne)
6 cloves garlic, minced
1/2-inch piece fresh ginger, grated (or 1/2 teaspoon ground ginger)
1 cup yogurt (plain or coconut)
3 pounds chicken breast, cut into large chunks
2 tablespoons ghee
1 onion, chopped
1 tablespoon tomato paste
5 tomatoes, chopped
3 green cardamom pods
1/2 teaspoon white pepper
1 cup heavy cream (or 1/4 cup coconut milk)
Salt to taste
1/2 cup fresh cilantro, chopped
Combine the turmeric, garam masala, coriander, cumin, salt and red chile powder to make a spice blend; divide the blend in half. Combine half of the spice blend with 4 minced cloves of garlic, ginger, yogurt and chicken; mix together by hand in a mixing bowl. Transfer to a resealable plastic bag and marinate for at least 6 hours (overnight preferred).
Warm the ghee in a skillet over medium heat. Add the onion and sauté until softened, about 5 minutes. Add the garlic and sauté until aromatic, another minute. Add the tomato paste, tomatoes, cardamom pods, white pepper and the other half of the spice blend. Stir to combine, then reduce heat to medium-low and gently simmer until dark and thick, about 40 minutes.
While the sauce is darkening, prepare the chicken. Skewer the chicken pieces and grill over direct high heat until cooked through, about 3 minutes per side, flipping once. Alternatively, broil in the oven, about 6 to 8 minutes per side. Allow the chicken to rest for 10 minutes, then remove from the skewers and set aside.
Once the sauce is dark, transfer to a blender and blend until smooth. Return to the skillet, straining through a mesh strainer to catch the cardamom shells and tomato skins. Stir in the cream; return to a simmer and cook until slightly darkened, about 10 minutes. Taste and add salt if needed.
Stir in the cilantro and chicken pieces and allow to simmer for another minute before serving.