Nick Kyrgios is through the semifinals at Miami Open following a three-set win over fellow young gun Alexander Zverev.

Kyrgios' 6-4, 6-7, 6-3 win sets up a semifinal showdown with 18-time Grand Slam champion, Roger Federer.

The 12th seeded Australia was at his enigmatic best, hitting a sublime tweener passing shot winner in the second set, before a missed tweener while he was set point down resulted in the loss of the second.

Kyrgios will now face Federer, who saved two match points before defeating Tomas Berdych 6-2, 3-6, 7-6.

Meanwhile, Fabio Fognini will face Rafael Nadal for a spot in the final in the bottom half of the draw.