The 22-year-old Italian broke Djokovic's serve twice in each of the first two sets but missed a match point in the third set of a 6-1, 6-2, 6-7 (6), 6-3 victory that earned him a place in a Grand Slam final for the first time.
He'll play either third-seeded Daniil Medvedev or No. 6 Alexander Zverev for the championship on Sunday.
Djokovic's bid for a record-extending 11th Australian and 25th major title overall will have to wait.
He hadn't lost a match at Melbourne Park since 2018 and was on a 33-match winning streak at the season's first major. Every previous time he'd won a quarterfinal in Australia, Djokovic had gone on to win the hardcourt title.
Novak says "no" and saves match point! @bondisands • #staycoolunderpressure • #bondisands @wwos • @espn • @eurosport • @wowowtennis pic.twitter.com/64BbbSioNn
— #AusOpen (@AustralianOpen) January 26, 2024
FIRST GRAND SLAM FINAL!! #AusOpen • #AO2024 pic.twitter.com/OUV9Pd3IJI
— #AusOpen (@AustralianOpen) January 26, 2024