Step one
In a large bowl, combine the chicken, the 1 teaspoon ginger-garlic paste, the turmeric, garam masala, 1/2 teaspoon salt, and the lime juice. Toss to coat and set aside to marinate at room temperature for 30 minutes to 1 hour.
Step two
In a spice grinder, combine the cardamom, peppercorns, fennel, mace, cinnamon, and bay leaf and grind to a fine powder. Melt the oil in a large sauté pan over medium-high heat. When the oil is shimmering, add the fenugreek seeds and cook for about 30 seconds, until they darken a shade or two. Add the onion and a pinch of salt and cook, stirring often, until the onion begins to brown, about 7 minutes. Using a slotted spoon, transfer the onion to a plate and set aside, leaving the oil in the pan.
Step three
Add the spice powder to the pan along with the red chile powder, allspice, and the remaining 2 tablespoons ginger-garlic paste and cook over medium-high heat, stirring often, for about 1 minute, until aromatic. Add the chicken and marinade to the pan and stir to fully coat the meat with the spices. Add 1/2 teaspoon salt and cook for about 5 minutes, until the oil starts to separate out. Add the tomato puree and cook for 5 minutes, then add the coconut milk, bring to a simmer, and add the curry leaves.
Step four
Reduce the heat to medium-low and simmer for about 10 minutes, until the chicken is cooked through. Stir in the reserved onions, taste, and add more salt, as needed. Serve alongside or stuffed into your choice of dosas, with some cooling yogurt, if you like.