Gegen die Nummer 40 der Weltrangliste konnte Zverev, derzeit Sechster im ATP-Ranking, nicht an die Leistungen seiner bisherigen Matches in Los Cabos anknüpfen, die er jeweils glatt gewonnen hatte.
Der topgesetzte Hamburger warf in dem Duell, das am Abend begann und erst deutlich nach Mitternacht zu Ende ging, auch mal entnervt seinen Schläger. Im Entscheidungssatz wehrte der 26-Jährige beim Stand von 5:6 dann fünf Matchbälle ab und rettete sich noch in den Tie-Break - in diesem war der Halbfinalist der Australian Open allerdings chancenlos.
Thompson (29) bekommt es im Endspiel (Sonntag, 4.00 MEZ) mit dem Norweger Casper Ruud zu tun, der sich 6:4, 7:6 (7:4) gegen Titelverteidiger Stefanos Tsitsipas (Griechenland) durchsetzte.