Roger Federer's supreme 2017 continues to defy all expectations as he booked a place in the Miami Open final and with it comes the 37th episode of his great rivalry with Rafael Nadal.

A repeat of the Australian Open final will have fans licking their lips, but it is Federer's semi-final win over Nick Kyrgios that may end up being remembered more fondly as the Swiss came through an epic battle 7-6 (11/9), 6-7 (11/9), 7-6 (7/5).

Federer, who chalks up his 18th victory of the year with just one loss, triumphed in three hours and 15 minutes and will now fight it out with Nadal for a third title of 2017 after shock wins in Melbourne and Indian Wells - coming after six months out last season.

His semi-final win was a match that had everything. The 35-year-old was his usual clinical, unflappable self, but Kyrgios went a long way to changing his bad boy reputation and will have picked up a whole host of new fans.

From acts of sportsmanship, where the Australian conceded a point after advising Federer to challenge, to a variety of second serves ranging from 126mph to 65mph, with plenty of his trademark 'tweeners' also thrown in, Kyrgios showcased the talent which has at times been overshadowed by his behaviour on-court.

Though Federer will now benefit from a day off, he could have got the job done much sooner had he converted two match points in the second-set tie-break.

Over an hour later he found himself two points away from defeat in the deciding tie-break but two Kyrgios errors and an unreturnable serve put Federer one win away from his first Miami crown since 2006.

Ivan Ljubicic, ironically now Federer's coach, was the opponent that day, but 12 months earlier a first Miami title came with victory over Nadal and the Spaniard is again waiting for him on Sunday.

Kyrgios conceded a point at one stage by advising Federer to challenge (Getty)

Nadal is bidding for first-time glory in Florida, having been a beaten finalist four times, and he got to the showpiece with a routine 6-1 7-5 win over unseeded Fabio Fognini.

The untroubled Spaniard never faced a break point in breezing past insipid Italian Fognini 6-1 7-5, and can now bid to end his Miami heartache and seek revenge for that epic defeat to his great rival in Australia, while Federer also beat him on his way to Indian Wells glory last month.