Rome - World No 1 Novak Djokovic saved two match points against former US Open champion Juan Martin Del Potro to advance to the semi-finals of the Italian Open in a three-set Roman thriller on Friday as defending champion Rafael Nadal swept through without dropping a set.

But Swiss star Roger Federer and women's world number one Naomi Osaka both pulled out injured from the last warm-up tournament before the French Open starting in just over a week.

Djokovic saved match points in the second set tie-break before winning through 4-6, 7-6 (8/6), 6-4, sealing victory with an ace on his first match point after a three-hour battle.

"I had luck in the decisive moments in the second set tiebreak," said the 31-year-old.

"Towards the end of the first set he just started hitting the ball really well from both corners.

"Also backhand side, backhand down the line. He was playing really well. Gave me a lot of trouble. But I never lost faith," the four-time Rome winner said.

"I'm just really pleased to overcome."

Del Potro had pulled out of Indian Wells and Miami with a knee injury, but matched Madrid Open winner Nadal shot for shot, wrapping up the first set 6-4 in just over an hour.

The world No 9 received treatment on a bloodied big toe after Djokovic levelled one-set all.

But he kept up the pressure with Djokovic again needing to save three break points on his serve in the fourth game of the final set before breaking for 3-2 as the momentum swung his way.

Federer, a quarter-finalist in Madrid, was playing in the Italian capital to prepare for his return to the French Open for the first time since 2015.

"I am not 100 percent physically and after consultation with my team, it was determined that I not play," he said.

The 20-time Grand Slam champion had been on court for nearly four hours on Thursday, saving two match points to win through in three sets against Borna Coric after earlier easing to a straight sets win over Portugal's Joao Sousa.

The former world No 1 had been a late addition to the Rome tournament as he sought clay-court practice ahead of his bid to add to his lone French Open title from 2009.

In a battle between former women's world number ones, Karolina Pliskova won through against Victoria Azarenka 6-7 (5/7), 6-2, 6-2.

The Czech fourth seed next plays Maria Sakkari of Greece who also needed three sets to get past France's Kristina Mladenovic 5-7, 6-3, 6-0.

Pliskova and Sakkari last met in the second round at the Foro Italico when the Czech, furious at a line call, smashed a hole in the umpire's chair after losing in three sets.

Results from the ATP and WTA Italian Open in Rome on Friday (x denotes seeding):