Nadal was threatening to roll over the 22-year-old from Greece, just as he had in the last four in Melbourne two years ago when he won 6-2 6-4 6-0.
But this time Tsitsipas had other ideas as he completed a stunning 3-6 2-6 7-6 (4) 6-4 7-5 victory to become only the second man, along with Fabio Fognini, to come from two sets down to beat Nadal at a grand slam.
Tsitsipas somehow clung on to edge the third set, even though Nadal dropped just one point on serve in taking it to a tie-break.
It was the first set Nadal had dropped at the tournament, and brought to an end a run of 35 consecutive sets won at grand slams.
Tsitsipas had his tail up and forced his first break – and the first by either player in two hours – for 5-4 before serving out and levelling the match.
The decider went with serve, with Tsitsipas firing down four aces to win one game, until three unforced Nadal errors gifted his opponent the break for 6-5.
Ever the fighter, Nadal saved two match points but Tsitsipas nailed the third to complete a landmark victory.
“I’m speechless, I have no words to describe what just happened,” said Tsitsipas on court afterwards.
“It’s an unbelievable feeling to be able to fight at such a level and give my all on court.
“I started very nervous but I don’t know what happened after the third set. I flew like a little bird.
“Everything was working for me and the emotions are indescribable. I’m really happy with the attitude I showed on court.”
Defeat meant Nadal will have to wait another year in his attempt to become the first man to win every grand slam title twice in the Open era.
He said: “Physically I was not fantastic but not bad. I was able to fight until the end, and that’s it.
“The whole issue is I missed an easy smash at the beginning of the third, an easy forehand at 2-1 in the tie-break, and then another smash in the tie-break.
“In that tie-break I made a couple of mistakes that I can’t make to win the match.”
In-form world number four Medvedev won the all-Russian clash with Andrey Rublev to reach his first Melbourne semi-final.
Medvedev, a former US Open finalist, stretched his current winning streak to 19 matches with a 7-5 6-3 6-2 victory against his ATP Cup team-mate.
Rublev, ranked eight in the world, was clearly struggling with the heat as the match wore on and is still yet to take a set off his friend and compatriot in five meetings.
Medvedev, who won the ATP Finals in London at the end of last year and went unbeaten through Russia’s ATP Cup triumph, needed treatment on his thigh after the match.
He said: “I started cramping in my quad. I saw he was cramping also so I tried not to show it. But I couldn’t really move my left leg at the end.
“It was super tough, we had some unbelievable rallies. I think I’m one of the first players to make Andrey tired on court so I’m quite happy about it.
“To play my friend? It’s never easy but we’re all super competitive. It was one of the best matches I’ve played lately. To beat him in three sets without a tie-break, I’m very happy about that.”
There was also good news for Australian Open organisers after it was confirmed that fans will be allowed back into Melbourne Park on Thursday after the city’s five-day coronavirus lockdown comes to an end.
The crowd will be capped at 7,477 for each session, which is approximately 50 per cent capacity in the Rod Laver Arena.