The tenth-seeded Frenchman, who was beaten by Djokovic in the final here in 2008 and had not advanced past the quarter-finals of a grand slam since, was in trouble after the third set.
The Serb, however, was ill shortly after the fourth set began, temporarily leaving the court after telling chair umpire John Blom that he needed to vomit.
The world No3 returned but his game melted away and Tsonga was able to speed through the final two sets to win after three hours 52 minutes.
“The match changed completely,” Tsonga said. “But I was in good shape and I played good tennis ... even if he was sick.”
It was the second successive five-set victory for Tsonga, who until his fourth-round win over Nicolas Almagro on Monday had never played a five-set match before. He now meets world No1 Roger Federer in the semi-final tomorrow after the Swiss came from a set down to defeat Russian Nikolay Davydenko in four sets.
“I feel good. I had good preparation and I hope I will have a lot of power against Roger. It’s a tough match, maybe the toughest,” said Tsonga. “He is maybe the best player ever. He played unbelievable today against Nikolay and it will be a tough match.”
After a tight first two sets when neither player was able to stamp his authority on the match, Djokovic raced through the third. Tsonga was constantly talking to himself and was tempted to throw his racket to the ground when Djokovic took the third set in 37 minutes.
But just as Djokovic had the Frenchman on the ropes and looked ready to deliver the knockout blow, his form disappeared after he left the court to deal with his illness.
Tsonga raced into a 5-0 lead and, while the Serb clawed back to 5-3, the world No10 did not waste a second chance to serve it out and send the match into a decider.
The 24-year-old Tsonga, riding the momentum of a boisterous French contingent on Rod Laver Arena, then charged to victory.