Cut the chicken thighs into bite-sized pieces and place them in a bowl.
Finely grate two cloves of garlic and mince the remaining three, then add them to the chicken.
Peel the ginger root, grate one inch, and mince the rest; add this to the chicken as well.
Mix in ½ teaspoon garam masala, ½ teaspoon Kashmiri chili powder, and 2 tablespoons of yogurt; marinate for a few hours or overnight.
Remove the seeds from the plum tomatoes and dice them; set aside.
Dice the Spanish onion and mince the turmeric root; set these aside too.
Separate the green onions into whites and greens; keep them apart.
Heat a pan over medium heat and melt 2 tablespoons of ghee.
Add the marinated chicken to the pan and sear it on both sides, then remove and set aside.
In the same pan, add the garlic, ginger, turmeric, and the white parts of the green onions; sauté briefly.
Stir in the remaining chili powder, 1 teaspoon garam masala, and the cilantro stems; cook for about a minute.
Add the diced tomatoes, onion, and ½ cup of chicken stock; bring to a boil, then reduce to a simmer for 10 minutes.
Return the seared chicken to the pan and add 1 tablespoon of fenugreek leaves; let it simmer for about 5 minutes.
Turn off the heat and whisk in 4 tablespoons of cold unsalted butter until the sauce emulsifies.
If desired, stir in a little more yogurt for added richness.
Garnish with the dark green onion tops and fresh cilantro before serving.
