Yes you do need to give a 30 day notice period. Remember that your contract never actually ends, it runs for (usually) 18 months at a reduced rate and then reverts to a rolling contact at a higher rate, which continues until you actually cancel.
The best method is to write a letter (don't laugh) to VM at their Sunderland office (address somewhere on the website). In this letter state that you wish to cancel your contract as of xyz date (where this is at least 32 days after the posting of the letter - and this is legally significant, should push come to shove), include your name, address and account number. Do keep a copy of this letter, and also send it by recorded delivery, signed for.
And that should be it - it doesn't absolutely guarantee that VM will process and execute the cancellation properly, but does make you fairly bullet proof regarding compensation if they do mess it up!