Kyrgios, seeded sixth, clinched the first meeting between the two 7-6 7-5.
The 21-year-old hit 25 aces past the world number two who is renowned for his ability to return a serve.
Kyrgios will meet the American Sam Querrey for a place in the final.
For Djokovic, the loss is another setback. He was dethroned as world number one last November while playing at the Paris Masters. He lost to Andy Murray in the final at the 2016 season ending championships in London and went down in the second round at the Australian Open in January to the journeyman Denis Istomin.
Meanwhile second seed Rafael Nadal advanced to the last four by battling past Yoshihito Nishioka in straight sets. The 30-year-old Spaniard recovered from a break down in both sets to win 7-6 6-3.
Nadal, who is seeking a third title in Acapulco, admitted he had struggled for consistency. "He is so quick," Nadal said. "I felt I needed to choose the right shots to do the damage. I was trying to hit the winner too early sometimes and too late other times, so it was tough to get my rhythm."
Nadal will play Marin Cilic in the semi-final after the third seeded Croat progressed without hitting a ball. Opponent Steve Johnson withdrew from their quarter-final. The American cited a right ankle injury sustained during his last 16 victory over Ernesto Escobedo on Wednesday.