29 January 2020 12:07 am
The Serbian world number two, despite trouble with his contact lenses, tamed the big-serving Canadian 6-4, 6-3, 7-6 (7/1) as he targets an eighth Melbourne Park crown and 17th Grand Slam title.
Six-time champion Federer is next, after one of his most memorable comebacks against unseeded American Tennys Sandgren.
The 38-year-old great, the oldest man to reach the Melbourne semis since Ken Rosewall 43 years ago, came through an action-packed clash 6-3, 2-6, 2-6, 7-6 (10/8), 6-3.
He fended off seven match points and was slapped with a warning for swearing, while taking a rare medical timeout for a groin injury that hampered his movement.
But he dug deep to set up yet another showdown with his old rival Djokovic. The pair are all-conquering in Melbourne, sharing 12 of the last 14 titles between them.
They have played each other 49 times, with the Serb in front 26-23.