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.
Nadal, a five-time champion at the event, was a break up in the first set of his 15th quarter-final at Caja Magica but lost 6-4 6-4 in an hour and 44 minutes.
The win was the biggest of Zverev's career on clay and confirmed his rise to second in the ATP Rankings.
While Nadal said he was largely pleased with his displays in the Spanish capital, he was at a loss to explain the manner of his defeat on Friday.
"I'm leaving Madrid with an overall positive feeling, but at the same time with the ugly feeling of having played a match like this today against a great player," Nadal told a media conference.
"I think for most of the first set, I was playing better than him. And this is the negative part; while playing better than him in the first set, I still lost 6-4.
"This is very difficult to understand, especially for me. When this happens to me, it's usually in the opposite way. I find a way to win sets even though I'm not playing my best or as good as the opponent.
"I felt like I was playing better for much of the first set, but after a couple of errors – unjustifiable errors at the worst times – I found myself down a set.
"The outlook of the match changed there, both for me and for him. I knew then that a lot of suffering was waiting for me [in the second set], and for him, the knowledge that he just took a huge step forward during the match."
Zverev will face Dominic Thiem in the last four after the Austrian overcame John Isner 3-6 6-3 6-4 in an hour and 55 minutes.
Thiem, who has now made it to the past four Madrid Open semi-finals, said: "I think we all know that he is one of the best servers in history and the altitude here in Madrid makes it even tougher to return his serve.
"I was a little bit surprised by his return games. I think he actually attacked both of my serves, the first and the second, and it took me a while to get used to it."
Casper Ruud will meet Matteo Berrettini in the other semi-final.
Norwegian Ruud eased past Alexander Bublik 7-5 6-1 to make it three consecutive clay ATP Masters 1000 semis, while Berrettini beat Cristian Garin 5-7 6-3 6-0.
Nadal will return after close to a year on the sidelines at the Brisbane International, which runs from December 31 to January 7, as he targets a bid for a 23rd grand slam title at Melbourne Park later in January.
The 37-year-old has not competed since this year's edition of the Australian Open, having suffered a hip injury during a surprise second-round defeat to Mackenzie McDonald.
Nadal attempted to recover from his injury before the start of the French Open in May, only to be forced to withdraw from that tournament and undergo season-ending surgery.
The 'King of Clay' has said 2024 will likely be his final year on the tour, and while Rune accepts it will be difficult for Nadal to recapture his best form, the Dane is excited to see how he fares.
"It's great for tennis that Rafa is coming back," Rune said. "It brings even more fans to the tournaments and more excitement for the sport. I think this is good.
"We're going to have Novak [Djokovic], Rafa, [Carlos] Alcaraz, [Jannik] Sinner and more guys for the Australian Open. That's going to be super fun and it's exciting to see how it's going to go.
"You see some videos where he's practicing hard, but of course it's always difficult to come back and play after so long. But I'm excited to see it."
Jack Draper was the last player to lose to Nadal, going down in four sets in the first round of the 2023 Australian Open, and he is keen for a chance to avenge that defeat next year.
"I mean, I think it's amazing for tennis. Obviously, he's put in a lot of hard work to be back on tour, I'm seeing lots of videos of him training very intensely," Draper said.
"It's just good for the spectators, the players, that someone of his calibre – one of the greatest of all time – is back playing.
"I hope I get a chance to play him again because I think I was one of the last people to play him. It'll be amazing to have him back on the tour."
World number 32 Alexander Bublik echoed those sentiments, adding he was excited to see who will have the honour of being Nadal's final opponent if – as expected – he retires next year.
"Of course, it's very exciting that Rafa is coming back," Bublik said. "He's a legend of our game.
"But I just discussed it with Holger… I'm more excited to think who is going to play him in his last match, who he's going to finish such a legendary career against.
"So for me, it's an exciting time. We'll see how he comes back but he's going to bring a lot to the game."
Unseeded American Paul triumphed over the German 6-2 4-6 7-6 (7-2) in two hours and 17 minutes, rallying back from a break down in the final set.
Paul hit less winners, 26-21 to Zverev but made less unforced errors 25-19, while his serve and volley game was a key feature.
"I played a really high level today," Paul said during his on-court post-game interview. "The last time I played him, I played well, I put pressure on him so I knew how i wanted to play so I came out and executed him well.
"I played well when it came down to the breaker, so I'm pretty happy with my performance."
Zverev had not played since being expelled in Acapulco after a stunning outburst where he struck his racquet on the umpire chair several times after a doubles defeat.
Ninth seed Felix Auger-Aliassime was a major casualty, going down to Dutchman Botic van de Zandschulp 7-6 (7-4) 6-7 (4-7) 6-3 in three hours and 15 minutes.
The Canadian had 36-27 winners but was let down by 43-26 unforced errors, along with converting only two of his 10 break points.
Van de Zandschulp had failed to take three match points in the second set but showed composure to finish the job in the third.
Wild card Andy Murray was also eliminated in the second round, blowing three set points in the first set before going down to 31st seed Alexander Bublik 7-6 (11-9) 6-3 in two hours and one minute.
Last year's Wimbledon runner-up and Italian sixth seed Matteo Berrettini needed more than two hours to get past world number 86 Holger Rune 6-3 4-6 6-4.
Seventh seed Andrey Rublev defeated Dominik Koepfer 7-5 6-4 to extend his win streak to 10 matches, while 11th seed Hubert Hurkacz beat Oscar Otte 6-3 3-6 6-3.
Other seeds to be eliminated were 22nd seed Aslan Karatsev who went down 7-6 (7-5) 6-4 to American Steve Johnson, while 24th seed Marin Cilic lost 6-7 (7-9) 6-3 7-6 (8-6) to Miomir Kecmanovic.
Andrey Rublev was a surprise first-round loser at the Halle Open, while numerous seeds fell on the first day of the Queen's Club Championships.
Rublev came unstuck against Georgian Nikoloz Basilashvili, succumbing to a 7-6 (7-1) 6-4 loss as the world number eight crashed out in Germany.
Laslo Djere progressed after Henri Squire retired when 4-3 down, while sixth seed Pablo Carreno Busta secured a 6-3 7-6 (7-5) over French Open quarter-finalist Holger Rune.
Ugo Humber got the better of a topsy-turvy affair against qualifier Radu Albot, eventually triumphing 6-7 (4-7) 7-6 (7-4) 7-5 and Mackenzie McDonald defeated Marc-Andrea Huesler in straight sets.
Fourth favourite Taylor Fritz went down 6-3 6-3 against British wildcard Jack Draper, his first career win against a top-20 ranked player.
Reilly Opelka, the eighth seed, crashed out in the first round to New Zealand's Alex de Minaur, who claimed a straightforward 6-4 6-4 win.
Grigor Dimitrov, who won the event in 2014, battled past third seed Cameron Norrie 6-7 (2-7) 6-1 6-4, while Spaniard Alejandro Davidovich Fokina eased past compatriot Albert Ramos-Vinolas 7-5 6-4.
Alexander Bublik was 6-3 up before Italian Lorenzo Musetti retired, while seventh seed Marin Cilic capped the day's play in London by beating home hope Liam Broady 6-1 4-6 7-5.
Ruud, a French Open finalist and defending champion in Bastad , lacked his usual composure as world number 39 Cerundolo broke him three times to win 6-4 3-6 7-5 on Wednesday.
That marked a first top-10 career victory for Cerundolo after defeating world number five Ruud, guiding him to his first quarter-final appearance at the tournament.
"I'm feeling amazing, I'm really happy," said Cerundolo, whose previous best result was beating world number 24 Gael Monfils. "It's amazing getting my first Top 10 win. It's been the best year so far in my career.
"He's a French Open finalist and was the defending champion here, so it was a big challenge for me and I'm happy to go through."
Aslan Karatsev awaits in the quarter-finals Cerundolo after downing Frenchman Hugo Gaston 6-2 6-4.
Fifth seed Pablo Carreno Busta survived a first-set scare to defeat 2016 champion Albert Ramos-Vinolas 4-6 7-6 (7-5) 7-5.
The victory was Carreno Busta's 250th tour-level triumph and he will next face third favourite Diego Schwartzman, who overcame Elias Ymer in straight sets.
Third seed Alexander Bublik was made to work for a 6-3 3-6 6-2 second-round victory over Jack Sock in Newport and Andy Murray edged past Wimbledon doubles champion Max Purcell.
Murray needed almost two-and-a-half hours to get the better of Purcell, eventually triumphing 4-6 6-2 6-1 to tee up a last-eight meeting with Bublik.
Fourth favourite Maxime Cressy had little trouble in beating fellow American Mitchell Krueger 6-3 6-4 and will next face Steve Johnson, who progressed past seventh seed Jiri Vesely with a walkover.
Benjamin Bonzi, ranked as fifth seed in the United States, eased past Christopher Eubanks in straight sets, while James Duckworth triumphed 7-5 3-6 6-2 over Quentin Halys.
John Isner joined the list of favourites who made the third round in routine fashion, beating Peter Gojowczyk in straight sets 6-3 7-6 (8-6), before top seed Felix Auger-Aliassime faced some adversity against Jason Kubler following the Australian's strong run into the fourth round of Wimbledon.
Auger-Aliassime has a slight advantage, leading 6-4 3-6 6-5 before play was suspended due to poor light. When play resumes, Kubler will serve with a chance to force a third-set tiebreak.
In Metz, France, unseeded Italian Sonego swept to a 7-6 (7-3) 6-2 victory in the trophy match, collecting the third ATP title of his career.
He enjoyed a stellar week at the ATP 250 event, following up wins over Gilles Simon and Sebastian Korda with a semi-final victory against second seed Hubert Hurkacz, not dropping a set across his four matches.
Sonego, who reached a career-high ranking of 21st in February, had drifted to 65th in the months since, but the ATP said he would climb back into the top 50 as a result of his title run. The ATP's live rankings on Sunday showed him making a leap of 20 places to number 45.
Bublik, the seventh seed, had reached the final after Stan Wawrinka withdrew from their semi-final due to injury. He kept pace with Sonego on Sunday in a tight first set where serves dominated and neither man could force a break, with success for the Italian in the tie-break breaking the resistance of his Kazakh opponent.
The second set proved to be one-sided as Sonego added the title to his previous triumphs on tour, also extending his winning head-to-head record against Bublik to 4-0.
This indoor hardcourt success followed previous wins on grass in Antalya in 2019 and on clay in Cagliari last year.
Sonego said in an on-court interview: "This is a really emotional moment for me. I'm really happy because I played my best tennis this week. It's been a tough year and I want to enjoy this moment."
World number 84 Ruusuvuori saved a set point in the first-set tie-break on his way to a 7-6 (8-6) 6-4 victory and will now face Ilya Ivashka for a place in the semi-finals.
There was nearly another upset as home hopeful Alexander Bublik, seeded second, had to recover from a set down to overcome Miomir Kecmanovic 2-6 6-3 7-5.
Carlos Taberner awaits Bublik in the next round after the Spaniard beat Egor Gerasimov 5-7 7-6(5) 7-5.
Kwon Soon-woo and James Duckworth saw off Dusan Lajovic and Filip Krajinovic respectively in straight sets to remain a course for glory.
At the Moselle Open in Metz, meanwhile, Gael Monfils took out Philipp Kohlschreiber 7-6(2) 6-4 to reach the quarter-finals on home soil.
Tournament favourite Hubert Hurkacz made light work of 2016 champion Lucas Pouille with a 6-2 6-3 victory to set up a meeting with Andy Murray in the quarter-finals.
Elsewhere on Thursday, German qualifier Peter Gojowczyk proved too strong for Karen Khachanov and will now face Marcos Giron, who upset fourth seed Alex de Minaur.
On the same day fellow countryman Roger Federer would hang up his racquet at the Laver Cup, Wawrinka was forced to go all the way by his opponent in Metz, eventually winning 6-4 4-6 7-6 (7-5).
The three-time grand slam champion, whose injury struggles and form have seen him tumble to 284 in the world rankings, served up seven aces to Ymer's two, and made no double faults.
Victory moves him into the last four, where he will meet seventh seed Alexander Bublik after the Kazakh saw off Holger Rune in another three-set encounter with a 6-3 5-7 6-4 win.
Defending champion Hubert Hurkacz is also through to the semi-finals after making quick work of home favourite Arthur Rinderknech, winning 6-3 6-2.
The world number 10 will face Lorenzo Sonego next after the Italian also came through his quarter-final in straight sets against Sebastian Korda.
The top seed is seeking a 20th tour-level title and has yet to drop a set in his three matches in Montpellier after beating Bublik 6-1 6-3.
Ymer eliminated Gael Monfils and Richard Gasquet en route to the semi-finals, but the world number 83 struggled against Zverev in his third straight loss to the German.
Zverev was triumphant in his last appearance in this tournament five years ago and is the strong favourite heading into Sunday's final with Bublik.
"I am in the final and I am happy about that," Zverev said in his on-court interview. "I played a pretty good match. I think I played one bad game in the whole match.
"Overall I am happy to be in another final, playing against Alex who I have known since I was 12 years old, so hopefully it will be a fun match."
Bublik also claimed a routine win in his semi-final against Filip Krajinovic, the sixth seed prevailing 6-4 6-2 in a little over an hour.
The 24-year-old is through to his fifth ATP Tour final, having most recently gone all the way at the Singapore Open last February, where he lost to Alexei Popyrin.
At the Tata Open Maharashtra, Mikael's older brother Elias Ymer squandered three match points to lose 5-7 7-6 (7-4) 7-5 to Joao Sousa in Pune.
The Swedish qualifier had defied the odds to make it to the semi-finals and took the opening set against Sousa, before recovering from 4-1 down to level up the second set 4-4.
But Sousa edged the tie-break and survived three match points in the 10th game of the deciding set, which he would go on to win.
Sousa will face Emil Ruusuvuori in Sunday's final after the world number 87 overcame Kamil Majchrzak 6-3 7-6 (7-0) earlier in the day.
It marks the first tour final that Ruusuvuori has reached, while Sousa is in the hunt for a fourth title at this level.