Nadal’s 6-2, 6-3 win over the 13th-seeded Sock sets up a semi-final meeting with unseeded Italian Fabio Fognini who upset second ranked Kei Nishikori 6-4, 6-2 earlier in the day.
The Spaniard’s forehand was ominous as he neutralised Sock in one hour and 22 minutes.
Nadal was able to save six of seven break points earned by Sock as he kept control of the contest.
He broke Sock in the American’s first service game and swiftly established a 3-0 advantage and a second break at 5-2 wrapped up the opening set.
The American showed his spirit though as he broke Nadal at the start of the second but was unable to take advantage of a double break that could have put him 3-0 up.
Instead Nadal pulled back to 2-2 and with Sock failing to make the most of a chance of further break points it was comfortable in the end.
The 30-year-old Spaniard has never won in Miami despite being a four-time finalist and he expects plenty of work to get past Fognini and make it a fifth appearance.
“We know each other very well. He has beaten me a couple of times and so it will be a good test. I am happy to be the semi-finals but it will be a tough one and I will need to play my best,” said Nadal.
Fognini has three wins from ten meetings with the Spaniard, the most recent coming on clay in Rio de Janiero in 2015.
The 29-year-old world number 40 showed plenty of confidence as he took the game to his Japanese opponent from the outset.
It was the Italian’s first victory in three attempts over Nishikori and his first Masters series quarter-final win since 2013, when he reached the last four in Monte-Carlo.
Nishikori earlier said he had not felt fully in top shape for the contest.
“I wasn’t 100%, physically, I mean, it was tough conditions for me,” he said, referring to the heat on the mid-afternoon Key Biscayne centre court.
“But it was also same for him, too. He was playing a lot of the long matches, but I think he still played good enough to beat me today,” he added.
Fognini, who was cheered on by his friend, former Italy footballer Christian Vieri, said he had come through a demanding test.
“It wasn’t easy and I was just focused on my game. I am very happy, I’m in the semifinal, I’m playing well and I feel good again on the court,” he said.
On Thursday, Federer takes on Czech tenth-seed Tomas Berdych while the last quarter-final pits Germany’s Alexander Zverev against Australia’s Nick Kyrgios.