I have no landline (cos i hate BT) so i have to call all 0845 and 0870 numbers from my mobile. Now i use this site www.18185.co.uk to get big reductions on the price - per minute - of these calls. This is just the site i use, as recommended on the Which? websit, but i'm guessing there must be others out there.
It's a faff we shouldn't have to go to of course, but it takes just a second to enter the 18185 prefix before you're call. You have to register on their website first.
Happy saving:)