The talented but inconsistent Australian had slipped from a high of 13 to sit outside the world's top 50, but he will climb back to 31st after upsetting the world number three in straight sets in Acapulco.
Kyrgios held serve throughout the opening set of the decider on outdoor hard courts, saving three break points and breaking his German opponent once to take the initiative.
Zverev gave up another break in the opening game of the second set, and although the 21 year-old broke straight back, he surrendered his serve again in the fifth game.
Kyrgios proved dogged in defending his own serve, saving four more break points in the second set before holding in his final two service games to seal the victory on his first match point.
The victory marked a fifth title at ATP Tour level for Kyrgios, and his first since the Brisbane International on home soil in January 2018. It was the culmination of a memorable week for the 23-year-old, who accounted for Rafael Nadal and Stan Wawrinka en route to the final.
At the Brasil Open, Christian Garin reached his first final on the ATP Tour thanks to a 6-4 6-4 victory over Casper Ruud.
Chilean Garin had never made it to the last eight in a tour-level event prior to playing in Sao Paulo, yet showed few signs of nerves as he triumphed against his Norwegian opponent in 79 minutes.
Guido Pella - who overcame Laslo Djere 7-6 (12-10) 7-6 (7-1) - progressed from the other half of the draw, meaning there will be a first-time champion crowned in Sunday's final.