If you are a BMI diamond club member or any * alliance programme member get a BMI credit card. I use mine for absolutely every purchase I can from blockbuster vid hire to Sainsburys food shopping, you get 1.5 miles for every £1 you spend and 3 miles for every £1 you spend with BMI. I am averaging around 1800 miles a month.
Also worth a try is persuading friends and family to sign up to BMI diamond club (you must be a member)you get a very generous 3000 miles per introduction.
I also have a BAA worldcard visa which earns 1 point for every £1 spent (more at BAA airports), you can convert these points into BMI miles - 500 worldpoints will get you 750 BMI miles or to Virgin's programme - 500 for 500. Also, you get an upgrade on the Heathrow express to first when paying with this card.