Novak Djokovic returned to a grand slam semi-final for the first time since 2016 after recording a hard-fought win over Kei Nishikori at Wimbledon.
The former world number one has struggled for both form and fitness during the past two seasons, with an elbow injury hindering the Serbian, while he was stunned by Marco Cecchinato at the French Open this year.
But Djokovic appears to be building towards somewhere near his best again and, while made to work hard by Nishikori, he was good value for a 6-3 3-6 6-2 6-2 triumph.
READ MORE: Wimbledon LIVE
Having reached the last four of 22 of the 24 majors between 2011 and 2016, Djokovic is now closing in on a first final appearance at a slam since losing to Stan Wawrinka at the US Open two years ago.
Either Rafael Nadal or Juan Martin del Potro will provide the next hurdle on Friday.
Djokovic created a first break point with an astonishing rally that concluded with a forehand down the line and a fist pump, before capitalising brilliantly at the second attempt.
Nishikori initially stayed with his opponent and hit back in another superb game - but a wild backhand late on handed Djokovic the first set.
However, the Japanese came through a tough start to hold early in the second, prompting a frustrated Djokovic to smash his racket against the ground before arguing with the chair umpire.
And Nishikori broke in front when a Djokovic drop shot caught the net, as the 24th seed kicked on to draw level in the match.
A tight third set turned in Djokovic's favour as Nishikori went wide and that was enough for the fired-up three-time champion to edge back in front as he served into a 2-1 lead.
Nishikori still would not fade and he forced Djokovic to go long for an early break in the fourth, but that advantage was swiftly cancelled out following another fine rally.
And when the world number 28 could not then beat the net, Djokovic seized the initiative and pressed on for a four-set win.
Djokovic  bt Nishikori  6-3 3-6 6-2 6-2
Djokovic - 39/21
Nishikori - 29/34
Djokovic - 6/3
Nishikori - 3/1
BREAK POINTS WON
Djokovic - 6/13
Nishikori - 3/7
FIRST SERVE PERCENTAGE
Djokovic - 67
Nishikori - 68
PERCENTAGE OF POINTS WON ON FIRST/SECOND SERVE
Djokovic - 85/40
Nishikori - 59/43
Djokovic - 117
Nishikori - 90