He will now face Argentina's Juan Martin del Potro, the 2009 US Open champion and Rio 2016 Olympic silver medallist who came from behind to end the run of Serbia's Viktor Troicki. However, he was unable to convert three break points in the lengthy fourth game, allowing Harrison to narrowly get past his tough challenge for the tight service hold. "I would like to play and be 100 percent".
The Swiss tennis maestro dismantled Gasquet 7-5, 6-4 in a one-sided match that lasted more than an hour.
The world No.2 broke Gasquet at 5-5 to gain the advantage and went on to take the first set.
And he underlined his status as the man to beat in Shanghai as he battered the Italian Fognini 6-3, 6-1.
Nadal saved a break point at 2-2 in the decider, and is still to lose his serve in Shanghai, before breaking serve in the next game and going on to win to set up a semi-final clash with Marin Cilic.
Top seed Nadal is chasing a tour-leading seventh title this season, and beat Bulgaria's Dimitrov for the second time in a week following his semi-final victory at the China Open.
The world number two is competing in just his third tournament since winning Wimbledon in July, but the 36-year-old continues to defy his age with another appearance in the last four of a Masters Series event.
But the Bulgarian, who sent down 13 aces in the match, took the fight to the Spaniard in the second set, coming from 3-0 down in a tie-break to level. "But I think he's still very young and he needs to keep learning, as he's doing now", said the Argentine, 23 in the world.
Cilic advanced to his first Shanghai semifinal by beating Albert Ramos-Vinolas of Spain 6-3, 6-4.