Combine all the ingredients for the marinade together then add the chicken. Mix well then cover and refrigerate for at least 20 minutes but up to 24 hours.
To make the sauce, soak the almonds in the boiling water for 10 minutes. Transfer to a blender and blend until smooth, adding more water if necessary.
Melt the butter in a large pot set over medium-high heat. Add the onion, garlic and ginger and cook until fragrant.
Add the spices and sugar and cook for another minute.
Add the marinated chicken and cook until the chicken is starting to brown and the bottom of the pot becomes sticky. Pour in the chicken stock, cream and almond paste.
Reduce the heat, partially cover with a lid and allow to simmer for 20-30 minutes or until the sauce has thickened and the chicken is cooked through.