You'll need to be able to hook up your new drive to your machine and boot to the respective media to perform this operation, sorry laptop people...it's just not as easy for you.
CloneZilla - A great free utility to clone hard disks. However, one if its limitations it that you need to clone to a drive of the EXACT same size or larger for a clone to be successful. Additionally, when moving from a smaller drive to a larger you'll need to use a separate utility known as Diskpart to extend the partition to the end of the disk if you're on XP. Alternatively, there are open source tools such as Gparted that can help you with this. Windows 7 can extend partitions from within Disk Management.
Acronis - Pay-for software that offers a robust set of features. You can clone a hard disk and you can also have it take care of file backups. When using Acronis to clone you don't need to have a destination (new) hard disk that's larger than the source (old) so long as the used space on the old drive does not exceed the total size of the new drive. It can even take care of resizing the partition automatically to take advantage of a larger drive when migrating data.
There are many other tools you can use to accomplish these same tasks, however these are some of our favorites. Whenever working with partitions and/or hard disks the risk of data loss is high if operations are performed incorrectly or drives are mishandled. Always maintain current backups of all data and ensure the integrity of those backups before attempting any work involving your data.