The bigger drive brands, like Seagate or Western Digital, offer software that you can download for FREE from their website. It's a customized version of Acronis True Image.
It does a compliance check when you install it, to ensure that you have a hard drive connected to the system that is of its brand.
I've used many many different cloning programs over the years, lots of open sourced ones, but I'll be honest...these tweaked Acronis ones are easy and very reliable. It's frequently updated...so you are less likely to run into issues with newer hardware (motherboards/drive controllers).
Download program.
Power down computer, connect "new" hard drive to a controller
Boot up, install program...and through Windows..run the program, run through the wizard.
Reboot computer...it does the cloning
Power off when done, unplug old drive, unplug new drive..connect to drive to primary controller
Power up Windows.....let new drive settle in, reboot for good measure, done!