WATCH the ATP Tour LIVE on beIN SPORTS | available via Foxtel, Kayo Sports, Fetch TV & beIN SPORTS CONNECT
World number two Nadal, chasing a record-extending sixth title on home soil, advanced 6-3 6-3 in a time of one hour and two minutes on Thursday.
Popyrin, playing in his first last-16 match at a Masters 1000 event, broke Nadal in the sixth game of the opening set but the Spaniard otherwise looked comfortable.
Nadal converted four of his six break points to advance through to the last eight for a 15th time, where Alexander Zverev awaits.
"It was difficult," Nadal said in his on-court interview. "The court today was slippery, it was very fast, very dry conditions. The ball was flying a lot. The beginning was super tough.
"He was hitting every ball and hitting the spots. I'm happy with the victory. It was an important victory, he came here playing well. Every match is tough."
Zverev, who won the competition in 2018, beat British number one Dan Evans 6-3 7-6 (7-3) to set up a meeting with Nadal
However, second and fourth seeds Medvedev and Tsitsipas saw their participation come to an end at the hands of Cristian Garin and Casper Ruud respectively.
Medvedev, who is still yet to reach the quarters in Madrid, lost the only break of serve in the third game of the opening set but recovered by taking the second set in a tie-break.
Garin dominated the deciding set, the world number 25 breaking Medvedev twice and, after a short delay to fix a broken net, advanced 6-4 6-7 (7-2) 6-1.
Tsitsipas, who held championship point against Nadal in the Barcelona Open final, failed to break Ruud on a single occasion as he fell 7-6 (7-4) 6-4.
Alexander Bublik is next up for Ruud after beating Aslan Karatsev 6-4 6-3, while Matteo Berrettini - 7-6 (7-4) 6-4 winner against Federico Delbonis - will meet Garin.
Also vying for a place in the semi-finals are John Isner and Dominic Thiem, who are set to face off after beating sixth seed Andrey Rublev and Alex de Minaur respectively.