Macrium Reflect is my favorite (and it's also free!). It actually lets you skip the separate step of having to expand the partition when you're done... You can do the clone right on the target machine by creating a bootable CD/flash drive (WinPE) and booting right to it. Simply select the source drive, click "Clone this drive", then click "Cloned Drive Properties" and adjust the target partition size as desired. Then click Finish and let it do its thing. You can also image the source drive to a third drive (the image is stripped of space hogs like the page file and hiberfil.sys, and then compressed so the image will be much smaller than the source), and then restore it to the new drive.. This will give you a backup copy to restore from (albeit a snapshot from today unless you take periodic images) if the new drive fails down the road.