In a bowl, whisk together the yogurt, lemon juice, salt, turmeric, red chilli powder, garam masala, ginger paste and garlic paste until smooth.
Add the chicken pieces, turning to coat evenly. Cover and marinate in the fridge for at least 1 hour (preferably 3–4 hours or overnight for deeper flavour).
Meanwhile, soak the cashews in warm water for 15 minutes, then drain. Blend the cashews with 50 ml water into a smooth paste and set aside.
Heat half the butter and the oil in a heavy, wide pan over medium heat. Add the marinated chicken in a single layer (in batches if necessary) and sear until just browned on both sides but not fully cooked. Remove chicken and set aside.
In the same pan, add the remaining butter. Add the chopped onion and sliced green chilli. Sauté until the onion is soft and turning golden (about 6–7 minutes).
Add the tomato paste, then the canned tomatoes. Stir, bring to a gentle simmer, and cook for 5 minutes to reduce slightly.
Pour in the cashew paste and 100 ml of water (or stock), stirring well to combine. Simmer gently for 4 minutes, stirring to avoid sticking.
Return the chicken to the pan along with any juices. Stir gently, cover, and cook for 8–10 minutes or until the chicken is cooked through and tender.
Lower the heat, stir in the double cream, crushed kasuri methi, and sugar. Adjust salt if needed. Let it warm through without boiling (1–2 minutes).
Garnish with chopped coriander and serve hot with basmati rice or naan.