Serbian great Novak Djokovic got off to a rocky start against Kei Nishikori before battling back to win 2-6, 6-1, 6-3 and set up an Italian Open semi-final showdown against seven-time champion Rafael Nadal of Spain.
Djokovic, a four-time champion at this clay-court ATP World Tour Masters 1000 event, was outplayed from the baseline in the early going by the Japanese star on Friday, reports Efe news agency.
But the Serbian settled in and started dictating the rallies in the second set, which he won handily.
He had a fight on his hands once again though in the third set and had to stave off a break point to avoid going down 4-2.
In the end, though, Djokovic's stellar groundstrokes, defense, and athleticism led him to his 13th win in 15 matches against Nishikori.
Djokovic, a 12-time Grand Slam champion who missed the latter part of last season with an elbow injury and has seen his ranking fall to No.18, is trying to get his game in shape in time for the French Open, which gets underway on May 27.
Nadal advanced to the semi-finals with a 4-6, 6-2, 6-1 victory earlier on Friday over Italy's Fabio Fognini.