Mix the chicken with yogurt, lime juice, and spices in a bowl. Give it a good toss and let it rest. If you’ve got 30 minutes, great. More time? Even better.
Melt butter in a pan. Add the chicken and cook it through until golden and a little crisp on the edges. Take it out and set aside.
Melt the remaining butter in the same pan. Add onions, tomatoes, green chili, ginger, cloves, cashews—basically everything left in the sauce list except the yogurt. Stir in the spices and simmer until everything softens.
Let the pan cool down a bit, then blend the sauce with yogurt until silky smooth.
Add the cooked chicken, return the sauce to the pan, and stir to coat. Let the flavors really settle in, allow it bubble gently for a few minutes.