Warm a little oil in a large lidded frying pan, flameproof tagine dish or Dutch oven over medium heat. Add the onions and and cook and stir for 5 minutes until softened. Add garlic and cook, stirring frequently, for 1 to 2 minutes. Stir in garam masala spice blend and cayenne.
Add the chicken moving it around so the chicken is in direct contact with the bottom of the pan. Cook for about 5 minutes or until chicken is browned on all sides.
Add tomato, mangoes and coconut milk. Bring to a boil, stirring constantly. Cover with lid, reduce heat to low and simmer, stirring once, for 35 minutes or until the chicken is no longer pink in the centre. Serve with rice or vegetables.