If your contract has just expired, there will be no charge for cancelling. You can just cancel the contract and then go wherever you like for a new one.
Have you tried telling Vodaphone what you want? I threatened to leave Orange 'cos they wouldn't let me have the upgrade phone I wanted for free - I threatened to leave and next minute it was being delivered the next day! They will also do it if you tell them you can get more minutes / texts etc elsewhere for less.