The victory allowed the 20-year-old Serbian to avenge a loss to Federer in last year's U.S. Open title match.
Djokovic kept his record of not having dropped a set in the event intact by hitting 50 winners and saved seven of nine Federer break-point chances.
"It's unbelievable to beat the No. 1 player in the world, probably the best this court has seen," said the third-seeded Djokovic after his second career victory in seven meetings against the Swiss great. "I am amazed at the way I coped with the pressure and I played my best tennis."
"He made the more important points today," Federer said.
The three-time Australian Open champion and 12-time Grand Slam winner had a 19-match winning streak in Melbourne and streak of 10 consecutive appearances in Grand Slam championship matches stopped.
Millions of Getty images now available for free via embed tool
Aaron Carter is still in love with Hilary Duff