Peel the ginger and garlic Roughly chop the ginger, and place garlic and chopped ginger in the bowl of a small food processor or blender with one or two tablespoons of water. Grind until smooth, drizzling in more water as necessary to blend the mixture. Set aside.
Rinse the food processor or blender, and add the almonds with a tablespoon or two of almond soaking water. Blend until smooth, adding more water as necessary to blend the mixture. Set aside.
Heat the butter in a heavy pot with high sides, such as a 5-quart enameled cast-iron dutch oven. Add green cardamom, black cardamom, cloves, and cinnamon stick. Sauté for a couple of minutes or until they start to sizzle and smell fragrant. Add the fenugreek seeds. When the fenugreek seeds sizzle, add the reserved ginger-garlic paste and the jalapenos. Cook in medium heat for 5-8 minutes, or until the water from the ginger-garlic paste evaporates.
Add tomato puree, cayenne pepper, and 1 teaspoon salt. Cook over medium heat for 15-20 minutes, or until the puree reduces to a thick paste and the butter separates from the sides of the pan. Set aside and cool for 15 minutes.
Transfer sauce to a blender (or use an immersion blender directly in pot--watch out for splatters!) and puree until smooth. Return sauce to pan and add 2 cups of water and reserved almond paste. Bring to a boil. Reduce heat and simmer for about 15 minutes until sauce reaches desired thickness. Add honey and crushed fenugreek leaves.
Strip chicken from bone and chop into large chunks. (Discard the bone.) Add chicken pieces to sauce and stir well to combine. Cover and simmer for 8-10 minutes at medium heat. Lower the heat and add garam masala and 1/2 cup plus 2 Tbsp. heavy cream, stir, and simmer for 5 more minutes. Add additional lemon juice, honey, and salt as needed.
For serving, garnish with fresh cilantro and drizzle with reserved 2 Tbsp. heavy cream. Serve with basmati rice and naan.