In a heavy based pan, gently heat the butter and add, ginger, garlic, turmeric, salt and all the spices, reserving one teaspoon of garam masala for later. Cook for 1–2 minutes, until fragrant, and add the tomatoes. Cook over a low heat for 20–30 minutes, stirring occasionally, until the tomatoes have collapsed into the spiced butter.
Using a stick blender, blend the sauce until smooth. Stir in cream, chopped coriander, remaining 1 teaspoon garam masala and lemon or lime juice. Season to taste and serve with roasted chicken thighs and cauliflower rice.