Naan or cooked jasmine or basmati rice, for serving
Instructions
Make the chicken: Place the chicken in a large bowl and sprinkle evenly with the salt. Add the Kashmiri chili powder or cayenne, lemon zest, and lemon juice, and toss to combine. Add the yogurt, fenugreek, garam masala, and turmeric, and toss to combine.
Cover and marinate, refrigerated, for at least 2 hours and up to overnight.
Arrange a rack in the middle of the oven and heat the oven to 425ºF. Line a rimmed baking sheet with parchment paper.
Use your fingers to wipe off the excess marinade on the chicken back into the bowl, then transfer the chicken to the baking sheet in a single layer.
Roast until the internal temperature of the chicken registers 170°F, about 20 minutes. Transfer to a clean cutting board. When cool enough to handle, cut off the bone into bite-sized pieces.
Make the masala: Heat the vegetable oil in a large heavy skillet over medium-low heat until shimmering. Add the cloves, cinnamon stick, bay leaf, and cardamom pods, and cook, stirring occasionally, until fragrant. Add the cumin seeds and cook until starting to sizzle and just beginning to brown. Add the onion and 1/2 teaspoon of the salt and sauté until very well browned (this can take up to 20 minutes).
Add the turmeric and cook, stirring, for 20 seconds. Add garlic and ginger (or ginger-garlic paste) and cook, stirring frequently, for 3 to 4 minutes. Stir in the tomatoes and their juices, serrano peppers, ground coriander, ground fennel, ground cumin, cayenne pepper, and remaining 1/2 teaspoon salt.
Cook, scraping the skillet frequently, until the tomatoes are completely broken down and the mixture forms a paste, 10 to 15 minutes. (If time allows, add 1/2 cup water and allow the mixture to simmer, reduce, and become a thick paste again.) If desired, for a very smooth masala, discard the cinnamon and bay leaf and transfer the paste to a blender. Purée until smooth.
If the sauce was blended, scrape it back into the skillet. Stir in the water. Bring the mixture to a simmer and add the garam masala and ground fenugreek if using. Simmer for 10 minutes, adding a little water as needed and scraping the bottom of the skillet constantly to keep it from burning.
Add the cooked chicken along with the butter. Stir to combine and simmer for another few minutes. If desired, thin out with heavy cream. Taste and season with more salt as needed. Serve with cooked rice or naan.