Go for the BA AMEX card, which gives BA Miles on every pound spent - including on overseas purchases.
Alternatively, go for a Natwest card, which generally offers 1 Air Mile for every £20 (they also have a Black card, which gives 1 mile for every £15 spend).
In my opinion, the BA AMEX card is the best bet.