Novak Djokovic was given a stern test by sixth seed Alexander Zverev, but the Serb battled through in ferocious fashion to reach the Australian Open semi-finals.
Djokovic, who is eyeing his ninth title at the event he has dominated for so long, dismissed the dangerous Zverev to set up an unexpected last-four clash with Russian qualifier Aslan Karatsev.
The top seed, who again played under the cloud of the abdominal issue he has endured at Melbourne Park, roared back after Zverev took the opening set in a tense tie-break.
The German's intensity dropped alarmingly in the second set as his slender advantage was swiftly erased and Djokovic capitalised to level up the match.
There was real drama in the third set as Djokovic, frustrated by his dip in play as Zverev broke early, obliterated his racket on the ground in fury at a poor return.
Bizarre scenes followed as both players stood and watched as a ball kid had to run onto the court and sweep up the debris on the court with a dustpan and brush.
The drama and subsequent delay appeared to give Djokovic the breathing space he needed and, as his level rose markedly once more, Zverev's dropped at what proved to be the crucial stage of the match.
There was nothing between the pair in a dramatic fourth set as the players traded breaks of serve, and it was Djokovic who had the all-important edge at the tail-end of the breaker.
The Serb clinched his 80th victory at Melbourne Park and will now have the improbable challenge of facing the qualifier Karatsev, who shocked Grigor Dimitrov, in what will be his ninth semi-final in Australia.
"I feel drained, honestly," Djokovic told Jim Courier in his on-court interview after the match. He will have to hope that he can regain his intensity for Friday's semi-final.