Novak Djokovic has set up a tasty semi-final with Daniil Medvedev at the Adelaide International 1 after the Serb downed free-swinging Denis Shapovalov 6-3 6-4.
The world No.5 wasn't always at his best on Friday but got the job done in one hour and 56 minutes as he continues to tune up for the Australian Open.
"I think the scoreline doesn't give you the right idea of what happened on the court," Djokovic said.
"It was such a close match, almost two hours for two sets.
"But I am definitely pleased with the way I fought tonight."
The battle started with a 15-point, first-game epic, with two break points on offer for the Canadian.
But he failed to capitalise and missed out again in the fifth game before Djokovic put his foot down.
Djokovic broke in the eighth game and then served out the set to love.
Down a break in the second set, the world No.18 refused to yield, with two superb winners paving the way for him to level the scores at 3-3.
But his seven double faults across the match hurt and often came at the worst possible times, some loose forehands also hardly helping the left-hander's cause against the 21-time grand slam champion.
Djokovic broke Shapovalov in the ninth game and then served out the match.
Djokovic holds an 8-4 career record against Medvedev and is on a three-match run against the 2021 US Open champion.
The Russian's last win against Djokovic came at the 2021 US Open.
"I don't think there is going to be too many short points tomorrow," Djokovic said.
"We both serve well and normally when you play Daniil you have to be ready to go the distance - physically and mentally."