in the UK, the AMEX British Airways Premium Plus card is the best I reckon.
1.5 miles per £ spend - double that on ££££ spent on British Airways.
Couple that with the free two-for-one flight voucher you get with every £15k spend you can effectively get as many as 6 miles per £ spent.