Start by marinating the chicken. In a large bowl, combine the yogurt, almond flour, garlic, ginger, lemon juice, salt, sugar, chili powder, and garam masala. Mix thoroughly until well combined. Then, add the chicken pieces and stir until they are well coated in the marinade. Cover the bowl with plastic wrap and refrigerate for at least two hours or overnight for the best flavor.
Once your chicken has marinated, it's time to cook! Preheat your oven to broil or prepare your grill. If you're using the broiler, line a baking sheet with parchment paper and place the marinated chicken pieces on the sheet. Broil for about 10 to 12 minutes, or until they are nicely browned and cooked through. If grilling, cook until browned and charred.
While the chicken is cooking, melt the ghee in a large Dutch oven or skillet over medium-high heat. Add the finely chopped onion and sauté for about 5 to 7 minutes, or until the onion becomes soft and translucent, beginning to turn golden.
Next, add the remaining garlic and ginger to the pan, stirring for about a minute until fragrant. This step infuses your base with even more flavor.
Once the chicken is cooked, add it to the pan along with all of the marinade. Stir to combine everything well.
Pour in the tomato puree and add the optional black cardamom pod for an extra layer of flavor. Bring the mixture to a simmer, then reduce the heat to medium-low. Cover and let it simmer for about 25 minutes, stirring occasionally. The sauce will thicken and the flavors will develop beautifully.
After 25 minutes, remove the lid and add the butter and cream. Stir until the butter is melted and the sauce is creamy. Allow it to simmer for an additional minute until everything is heated through.
At this point, taste the sauce and add salt as needed. If you used the black cardamom pod, be sure to remove it before serving.
To serve, ladle the Butter Chicken over a bed of steamed jasmine or basmati rice, or alongside warm naan bread. Garnish with freshly chopped cilantro and a swirl of cream for presentation.
Lastly, enjoy the fruits of your labor! Note that the sauce tastes even better the next day, so consider making it a day in advance for the full flavor experience.