Heat the butter and oil in a saute pan, add the chicken and cook until golden on both sides, seasoning it as it cooks. (You only want to colour the outside, not cook the chicken through). Remove to a plate.
Add the onions and garlic to the pan and cook over a medium heat until soft, about 7 minutes.
Add the tomatoes and cook for another 3 minutes, stirring from time to time.
Stir in the curry paste and ginger. Cook for 2 minutes, until the spices have released their aroma. Add the stock, bring to the boil and boil until the liquid has been reduced by about half.
Turn the heat down, add the coconut and put the chicken back. Cook over a medium-low heat – don’t boil the dish – for 15 minutes. Add the mango so it can cook for the last 5 minutes.
Stir in the cream and add the citrus juice. Taste for seasoning. Simmer for about a minute to heat through, then add the coriander and serve with rice.
For more curry ideas, see our collection of Indian recipes.