For a straight-up clone I use Clonezilla. I've never had it fail. It's a bit of a faff because you have to create boot media and boot off that and you're back to the days of text only interface. You also have to take note of the drive names because that's all you'll have to go on when choosing source and target. My last cloning was from a 1TB WD HDD to a 1TB WD HDD of the same type, so the only difference was in one digit of the 15-digit alphanumeric drive name. Get it wrong and it will clone your blank drive onto your full drive, hard luck. But it's free and it works, every time.
For moving an OS, I use Paragon Migrate OS. If you're moving it to a drive with enough capacity to take the whole contents of the source drive (which you are, obviously), it's a straightforward cloning. You have to pay for it, but it's nicely done with a clear, easy to use interface that gives you relevant information and you can run it from within the OS installation that you're cloning. There are options for partitioning. IIRC if your source is a drive with a single partition for the whole drive the default settings will resize the partition to the full size of the target drive. There's definitely an option for it. I moved my Windows installation from a 1TB HDD with a single partition to a 500GB SSD on default settings and the partition was automatically resized to fit the target drive with a single partition.
I also have Paragon Hard Disk Manager 16, which amongst other things has a Migrate OS section that looks the same as Migrate OS. That failed to work. It also failed to clone the HDD to HDD that I then used Clonezilla for. I'm not impressed with it. Migrate OS, yes. Hard Disk Manager, no.