Zverev led 4-0 in the first-set tiebreaker and later held a set point before Fritz took his chance to clinch it with an ace.
The 31st-ranked American got the only service break of the match in the third game of the second set and converted his first match point with a two-handed backhand winner.
The loss rules out a possible final against top-seeded Roger Federer, who part owns the agency which manages the sixth-ranked German’s career.
The defeat also harms Zverev’s chances of defending his ATP Finals title next month. He is seventh in the season-long standings to advance to the eight-man event in London.