Italian Open: Rafael Nadal to play Novak Djokovic in Rome
Rafael Nadal reached his first Italian Open semi-final since 2014 with a hard-fought victory against home player Fabio Fognini in Rome.
The Spanish world number two won 4-6 6-1 6-2 to set up a last-four clash with Novak Djokovic, who beat Kei Nishikori.
Former world number one Djokovic, now ranked 18 and playing his first ATP quarter-final of 2018, triumphed 2-6 6-1 6-3 in two hours and 21 minutes.
Croatian fourth seed Marin Cilic beat Spain's Pablo Carreno Busta 6-3 6-3.
Seven-time champion Nadal, 31, needs to win the Masters title to reclaim the world number one spot from Roger Federer.
Fognini, ranked 21st in the world, fought back from a 4-1 deficit to take the first set, but could not sustain that level of play as Nadal's quality shone through.
Nadal, who has lost twice to Fognini on clay, took his second match point to win in two hours and 14 minutes.
He now awaits a 51st ATP Tour meeting with 11th seed Djokovic, the four-time Italian Open champion, who holds a 26-24 record against the Spaniard.
Japan's Nishikori was seeking only his third win in 15 meetings with 30-year-old Djokovic, who has played in seven Grand Slam finals against Nadal.
Nishikori appeared to show signs of fatigue when, with the court at his mercy, he smashed a certain point into the net as the Serbian broke in the third game of the deciding set, but the world number 24 broke back immediately.
However, Djokovic prevailed to win his fourth successive match for the first time since Wimbledon last year.
Saturday's match will his first against Nadal since Madrid last year, when the Spaniard ended a run of seven consecutive Djokovic victories.
German second seed and defending champion Alexander Zverev, who beat British number one Kyle Edmund in the last 16, faces Cilic in the other semi-final.