Heat the oil in a large pan, then add the finely diced onion and chopped garlic. Cook, stirring frequently, until the onion is soft and clear but has not browned (about 5 minutes). Add the ginger, curry powder, cumin, coriander, and cook, stirring constantly, for about a minute longer.
Add the chicken to the pan and cook, stirring occasionally, until it has lost its pinkness, then stir in the tomatoes (plus juice), evaporated milk and tomato paste. Allow the mixture to boil, then reduce the heat to a gentle simmer and cook for about 10 minutes, or until the chicken is cooked through.
Stir in the remaining ingredients, adding the salt only if required, and reheat without boiling. Serve over steamed rice, accompanied with poppadums and/or naan bread (Naan is now available frozen in many supermarkets).