In a large mixing bowl, combine 1/2 cup full fat coconut milk (or coconut cream, or coconut yogurt), 1 tablespoon fresh lemon juice, 1 tablespoon minced fresh ginger, 1 1/2 tablespoons minced garlic, 2 teaspoons garam masala, 1/2 teaspoon ground black pepper, 1 teaspoon ground turmeric, and 1/2 teaspoon salt. Mix well to form the marinade. Add the diced chicken breast or thighs and mix until the pieces are fully coated. Cover and let the chicken marinate for at least 30 minutes, or up to 24 hours in the refrigerator. I find that letting it rest longer allows the flavors to soak in even deeper!
Heat 2 tablespoons of coconut oil in a large pot or skillet over medium-high heat. When the oil is hot and sizzles when you flick in a few drops of water, add the marinated chicken (from Step 1) in 2-3 batches to avoid overcrowding. Sear the chicken pieces on each side for about 3 minutes until browned. Remove the chicken from the pot and set aside; it will finish cooking in the sauce later.
Add the remaining 2 tablespoons of coconut oil to the same pot. Add the finely chopped onion and sauté over medium heat for 5-7 minutes until the onion becomes translucent. Stir in 5 minced garlic cloves, 4 teaspoons freshly grated ginger, and the minced, seeded chili pepper. Cook for about 1 minute until fragrant, stirring frequently.
Reduce heat to medium-low. Add 1/2 cup tomato paste, 1 tablespoon garam masala, 1 teaspoon ground coriander, 1/2 teaspoon ground cumin, and 1/2 teaspoon black pepper to the pot. Stir constantly for 2-3 seconds to bloom the spices. If the pot appears too dry, add 1-2 tablespoons of water. Pour in 1 1/2 cups water, 1 tablespoon granulated sugar, and 1 teaspoon salt. Bring to a gentle simmer over medium heat for at least 15 minutes, until the sauce thickens and turns a rich reddish-brown.
Remove the pot from the heat. Carefully transfer the sauce to a blender or food processor in batches, filling only halfway to avoid spills. Blend until completely smooth, then return the sauce to the pot. Alternatively, use an immersion blender directly in the pot or in a heat-safe bowl, blending until smooth before transferring the sauce back.
Stir in 1 cup of full fat coconut milk or coconut cream into the smooth sauce. Add the browned chicken pieces (from Step 2) and mix well to coat. Simmer over medium-low heat for 10 more minutes to finish cooking the chicken and allow the flavors to meld. Stir in 1/2 teaspoon dried fenugreek leaves (kasoori methi), if using. For extra silkiness, I like to add an extra splash of coconut cream at the end!
Serve the finished chicken curry hot, optionally topped with fresh cilantro, and enjoy with a side of rice or cauliflower rice. Store leftover curry in an airtight container in the fridge for up to five days.