Kei Nishikori shocked 17-time major winner Roger Federer 3-6 7-5 6-4 on Wednesday to claim his second high-profile scalp in two days and reach the semi-finals of the Sony Open.             

After knocking out fourth seed Spaniard David Ferrer in a three-hour marathon on Tuesday, the 24-year-old was forced to go the distance again, surviving a two-hour centre court battle with Federer.             

Nishikori has been one of Federer's few bogeymen, having now gotten the better of the Swiss maestro in two of their three career meetings.    

Arriving in south Florida riding the momentum from a finals appearance at Indian Wells, Federer had been in superb form, cruising into the Miami quarter-finals without dropping a set, highlighted by a 49-minute fourth round win over Richard Gasquet.             

A two-time Miami champion, Federer convincingly won the opening set and looked ready for an easy night when he twice went up a break in the second.             

But each time, the feisty Nishikori would immediately answer back and then broke Federer again at 6-5 to level the match.             

With the third set heading towards a tie-break it was Federer who blinked while serving to stay in the match at 5-4, slamming an easy forehand into the net and then sending a return long to hand Nishikori triple match point.             

Federer would survive the first two but could not save the third, Nishikori whipping a forehand winner off the return to seal the upset.             

The victory setup a semi-final meeting against world number two Novak Djokovic, who ended Andy Murray's reign as Miami champion by easing past the sixth seed 7-5 6-3.             

For Djokovic, the victory over Murray was a small measure of revenge as they met for the first time since the Scotsman beat him in last year's Wimbledon final.             

Murray, playing his first event since splitting with coach Ivan Lendl last week, had looked increasingly comfortable and confident on his own but Djokovic kept him under almost constant pressure in blustery conditions.