Put the oil and butter in a large frying pan over a medium-high heat. Season the chicken and fry until browned. Transfer to a plate.
Add the onion, ginger, garlic and chillies to the pan and cook for 2 minutes. Stir in the tomatoes and allow them to cook for a minute or two. Grind the dry spices to a powder in a pestle and mortar. Add to the tomato mixture and cook for a minute. Add the coconut milk to the pan along with the browned chicken breasts. Season and simmer for 30 minutes, turning occasionally until the chicken is cooked through. Add the lime juice and basil leaves just before serving.
Serve with rice and a green salad.