World number one Nadal blew away Fabio Fognini in 63 minutes and plays sixth seed Grigor Dimitrov as he pursues one of the few tournaments to have eluded him.
Timeless rival Federer was even faster, dismissing Ukrainian qualifier Alexandr Dolgopolov 6-4, 6-2 in 61 minutes.
The 31-year-old Spaniard Nadal, fresh off the back of triumphs at the US Open and China Open, anticipates a tough encounter against the Bulgarian Dimitrov.
“I played a very good match, I don t know how many mistakes I made, but very few,” said the 16-time Grand Slam winner and top seed in Shanghai.
“I have a tough match against Grigor and know I will have to play my best… but I am playing well.”
Nadal, enjoying a late-career flourish, defeated good friend Dimitrov on his way to winning the China Open on Sunday, his sixth title of the season.
And he underlined his status as the man to beat in Shanghai as he battered the Italian Fognini 6-3, 6-1.
Dimitrov, chasing a spot at the season-ending ATP Finals in London, beat American Sam Querrey to set up a Chinese reunion with Nadal.
Federer, the Swiss world number two, plays Richard Gasquet in the last eight on Friday after Gasquet outlasted fellow Frenchman Gilles Simon in a marathon three-setter.
A mouthwatering Nadal-Federer final on Sunday awaits if the celebrated pair continue at the current rate.
Gutsy Del Potro recovered from a set down to win 3-6, 7-6 (7/5), 6-4 against rising star Zverev and will play Serbia s Viktor Troicki, after he beat John Isner in the final match of the day.
The talented 20-year-old Zverev was going after his sixth title of a breakthrough season and was comfortable in the first set against Argentine Del Potro, the 2009 US Open champion and 16th seed.
The German prodigy and the 29-year-old, whose career has been beset by injury, went toe to toe in the second set and the tie break was just as tight until Del Potro grabbed the crucial mini-break.
And then came the turning point — and a flash of anger from third seed Zverev — as he yielded the crucial service break to go 3-2 down in the third set.
“Right now I m very pissed off, as you can probably tell,” said Zverev afterwards, having smashed the racquet on the court, then trodden on it, and brutalised it further as he stomped back to his chair.
A fan at least came away with a demolished racquet for a souvenir after the young German handed it to a spectator.
“I don t understand how I can lose a match where I get broken one time in three sets and not managed to get any chances on his serve,” said Zverev, who is tipped to one day make world number one.
“I m a bit pissed off because I feel like I played well and that s the upsetting part of it — I could have done great in this tournament.”
Del Potro, pushed to the brink of retirement by four wrist surgeries that saw his ranking slip as low as 1,045 at one point in his career, said Zverev would learn.
“I saw his frustration, for sure… 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.
“He has everything to be in the top positions in the future, but these things happen.
“Remember when Roger (Federer) was young? He broke racquets too.”
Fourth seed Marin Cilic and Spain s Albert Ramos-Vinolas go head to head in the other quarter-final.