The world No 1, who had won the event twice before and will be looking to win a seventh Australian Open title later this month, won the first set but could not hold off the world No 24 in a 3-6 7-6 (8-6) 6-4 defeat.
It was only the second time the 30-year-old has beaten Djokovic, across nine matches, and he was clearly delighted with the victory.
Big Three snub ‘doesn’t make a difference’ to Tsitsipas
"I will remember this match for [the rest] of my life," he said after the match.
Serbia's Novak Djokovic reacts during his semi final match against Spain's Roberto Bautista Agut
Image credit: Reuters
"It was an unbelievable atmosphere. I work every day to play this tennis. I know it's difficult to play at this level. That's why Novak is number one in the world.
But I cannot be more happy than I am now.
In the final, on Saturday, the Spaniard will play either wildcard - and world No 71 - Tomas Berdych, 33, or 20th-ranked Marco Cecchinato.
Tiley denies Djokovic legal fees will be paid as deportation reasons revealed
Djokovic has 80% stake in firm working on Covid treatment, CEO reveals