Roger Federer saved seven match points on his way to a dramatic five set comeback win over unseeded American Tennys Sandgren in the Australian Open quarter-finals.
Third seed Federer fought off fitness concerns to win in just under three and a half hours and set up a blockbuster semi-final meeting with defending champion Novak Djokovic.
Six-times champion Federer prevailed 6-3 2-6 2-6 7-6(8) 6-3 to reach his 46th Grand Slam semi-final.
The victory was Federer's 102nd at Melbourne.
Djokovic, chasing a record-extending eighth Australian Open title, withstood Canadian Milos Raonic's blistering serves to win 6-4 6-3 7-6(1).
The Serb maintained his perfect record against Raonic, extending his head-to-head advantage to 10-0.
"He is one of the all-time greats and the match-ups against Roger and Rafa have made me the player I am today," Djokovic said courtside.
"I hope I can get just one match point against him (Federer). Let the better player win."
Top seed Ash Barty became the first Australian woman to reach the semi-finals at her home Grand Slam for 36 years with a 7-6(6) 6-2 win over Czech Petra Kvitova.
The world number one was asked about the role her mother Josie plays in her career.
"To me she's mum. That's all she is... she wears a million hats for our family... does the exact same things for me as she does for my sisters. I love her just being mum," Barty said.
French Open champion Barty will next face American Sofia Kenin, who defeated Ons Jabeur 6-4 6-4 to reach her first major semi-final.