There is a thread on here somewhere giving loads of details of various companies.
Try doing a search..........
Personally, I use Telediscount.
Never give any money up front!
Telediscount works by you dialling an access number from the Uk, then the Spanish number and is charge as a local call to your UK bill.
Here is there web link:
http://www.telediscount.co.uk/
The number I dial to access Spain is:
08452 441 441 - listen to instructions
Then the Spanish phone no.followed by the hash key, easy peasy!!!