I'll suggest multiple ways:
Method 1: The Linux Way
Get a Live disk of any Linux OS. Boot into the Live CD.
Now make sure both the required hard drives are connected and identify the partitions on them by their block device ids.
Next open a terminal and type:
dd if=/dev/sdXY of=/dev/sdAB
sdXY is the block device id of the partition you wish to copy and
sdAB is the block device id of the partition to which you want to copy.
In most cases, A and X will be different values. And You will be copying from
Method 2: The Windows Way
Use GUI applications available for Windows.
DriveImage XML is a great application to use for this purpose. It runs from within Windows and it can copy directly from drive to drive. A lot of people rave about it after good experiences with the software.
DriveImage XML is an easy to use and reliable program for imaging and
backing up partitions and logical drives.
Image creation uses Microsoft's Volume Shadow Services (VSS), allowing
you to create safe "hot images" even from drives currently in use.
Images are stored in XML files, allowing you to process them with 3rd
party tools. Never again be stuck with a useless backup! Restore
images to drives without having to reboot. DriveImage XML is now
faster than ever, offering two different compression levels.
Method 3: A Bootable CD that does the job
EASEUS Disk Copy is a great alternative if you don't want to go for a 'hot' backup that runs from within Windows. Good review at lifehacker and on a par with DriveImage XML. They quite clearly state that it is ideal for moving from one disk to a larger one.
EASEUS Disk Copy is a potent freeware providing sector-by-sector
disk/partition clone regardless of your operating system, file systems
and partition scheme by creating a bootable CD. The sector-by-sector
method assures you a copy 100% identical to the original. Disk Copy
can be used for copy, cloning, or upgrading your original small hard
drive to a new larger drive. Simply speaking, it can copy anything
from the old hard drive including the deleted, lost files and
inaccessible data. So, the freeware is a perfect tool for Data
Recovery Wizard to recover files from a backup disk.
EDIT: Regarding your question on how to connect both HD's together. I am assuming both are internal drives. Most motherboards today come with multiple SATA interfaces that allow you to connect 2 or 3 drives to the system simultaneously. However, this is mostly applicable only to desktops.
In case of a laptop, you have two options:
There are converters available in the market that allow you to connect your SATA drives through a USB port
You first transfer the partition to a USB stick large enough, replace the drive and then transfer back.