Roger Federer came from a set down against Kei Nishikori to move into the semifinals with a historic 100th victory at Wimbledon.
Nishikori capitalised on a sloppy first set from the 20-time major champion to take the initiative on Wednesday, but normal service was resumed as the second seed triumphed 4-6 6-1 6-4 6-4.
It was another landmark day for the Swiss, who is the first man to claim a century of singles wins at a grand slam event.
Federer will take on old foe Rafael Nadal, who defeated Sam Querrey in straight sets, in the last four after striking 55 winners and 12 aces in another imperious Centre Court display.
Eighth seed Nishikori made a blistering start, breaking in the opening game with a volley after a sublime winner and he had three points for a 3-0 lead, but Federer dug in to get on the board.
Still, a composed Nishikori was in control, saving the only break point he faced in an opening set which he wrapped up when Federer was foxed by a looping forehand.
Federer was a different player at the start of the second, however, breaking to love in the opening game with a rasping inside-out forehand.
Nishikori was making too many unforced errors and Federer wasted no time in getting back on level terms, casually putting away a simple winner to make it a set apiece.
The world number seven fended off a break point in a long first game of the third set, but Federer's patience paid off when he went a break up at 4-3 with a searing forehand winner.
The eight-time champion steered away a volley to move a set away from victory and raised the roof with a majestic backhand winner on the run as he piled the pressure on.
He breezed through his service games but Nishikori put a fight, saving a string of break points until another unforced error put his opponent 5-4 up and on the brink of victory.
Federer duly served it out with ease, cruising into his 45th major semi-final and a 13th at SW19.
Roger Federer  bt Kei Nishikori  4-6 6-1 6-4 6-4
Federer - 55/32
Nishikori - 31/28
Federer - 12/4
Nishikori - 3/2
BREAK POINTS WON
Federer - 4/14
Nishikori - 1/6
FIRST SERVE PERCENTAGE
Federer - 66
Nishikori - 57
PERCENTAGE OF POINTS WON ON FIRST/SECOND SERVE
Federer - 81/58
Nishikori - 57/56
Federer - 138
Nishikori - 106