Novak Djokovic has resisted a stirring fightback from Roger Federer to advance to a sixth Australian Open final at Melbourne Park.

Djokovic and Federer took tennis to extraordinary new levels at times before the Serbian prevailed 6-1 6-2 3-6 6-3 in an enthralling semi-final on Thursday night.

The rampant world No.1 was on track to dish out the heaviest hardcourt defeat of Federer's 1307-match career before the great Swiss thrilled fans at Rod Laver Arena — including Laver himself — to raise hopes of a famous comeback win.

But after a controversial 10-minute stoppage to close the roof amid forecasts of rain, Djokovic regained control to seal a spot in Sunday's night's championship decider.