Note that on a monthly contract they often give you a "free phone" but the contract can be £25 or £30 a month.
However all these companies have contracts that cost less than £25 or £30 a month, but don't always "push" them.
For example I am on one with TMobile for £10.75 a month with free calls, free texts and some data download, and my phone, a Samsung Galaxy S3, only cost me £90. Of course I don't get as many free calls or texts as a person paying £25 a month, but it is fine for me.
Over the two year life of the contract this will cost me far less than if I was paying £25 or £30 a month. Remember a £25 a month contract is going to cost you £600 over 2 years. Mine only costs £348 over the two years.
Whoever you go with, ask them what their costs per month are for a lower contact (less calls, less data etc).