The No. 4-seeded Zverev will take a 16-match winning streak into his match against either Novak Djokovic or Matteo Berrettini in the final four on Friday.
Zverev lost to Dominic Thiem in a fifth-set tiebreaker in last year's championship match at Flushing Meadows after taking the first two sets.
In the quarterfinals on Wednesday, Harris broke to lead 5-3 in the first set and served for the set but got broken. Then in the tiebreaker, he held a set point at 6-5 but he missed a forehand and dropped the next two points, too, to cede the set.
Zverev then took leads of 3-0 in the second set and 4-0 in the third.
The 46th-ranked Harris, a 24-year-old from South Africa, had eliminated three seeded opponents — No. 7 Denis Shapovalov, No. 22 Reilly Opelka and No. 25 Karen Khachanov — to reach his first Grand Slam quarterfinal.