Clonezilla, all the way. Works with any drive, has tons of options. It's free.
One of the main features I like is it allows to clone a smaller source drive to a larger target drive.
I think Acronis can do this, too, but I haven't tried it. Acronis has worked great for me, and it's pretty straightforward, but Clonezilla being open-source gives me the idea it might be set up even easier.
For separate drives, versus partitions on a drive,
make sure you know your hard drive names. Not letters designations, but the name on the drive itself.