Kyrgios, out of sorts as he dropped the first set, complained to trainers that he was feeling ill.
But he steeled himself to continue and all distractions were forgotten as he rallied from 6-3 down in the third-set tiebreaker to subdue the 17-time Grand Slam champion from Spain.
Nadal, winner in Acapulco in 2005 and 2013, was playing his first event since falling in the Australian Open final to Novak Djokovic.
He had chances to break Kyrgios in both the second and third sets but was unable to convert as both sets went on serve to the tiebreakers.
Kyrgios leveled his head-to-head record with Nadal at 3-3 and will play three-time Grand Slam champion Stan Wawrinka for a place in the semi-finals.
Switzerland’s Wawrinka, seeded third, defeated American Steve Johnson 7-6 (7/5), 6-4.
Women’s top seed Sloane Stephens also bowed out Wednesday, stunned by Brazilian qualifier Beatriz Haddad Maia 6-3, 6-3.
Haddad Maia’s victory over the fourth-ranked American was her first over a top-10 player in seven opportunities.
“It was just a tough match, obviously she played well,” said Stephens, who is playing in Acapulco for the first time since winning the 2016 title. “A tough day. But I’m not too sad about it.
“I’m just going to go back and work some more, practice some more and get ready for Indian Wells.”
Haddad Maia, 22, next faces China’s Want Yafan, who was leading Monica Puig 4-1 when the Puerto Rican retired with an injury.
Former world number one Victoria Azarenka of Belarus sailed into the quarter-finals, downing Tatjana Maria 6-2, 6-1.
Azarenka fired 20 winners to Maria’s 10, and took full advantage of the German’s 28 unforced errors.
Download our app and read this and other great stories on the move. Available for Android and iOS.