The 24-year-old German, who finished as the runner-up at the Grand Slam tournament last year, saved a set point in the opener and went on to defeat Harris 7-6 (6), 6-3, 6-4 in their quarterfinals match in Flushing, N.Y.
The fourth-seeded Zverev -- riding a 16-match winning streak -- will face either No. 1 seed Novak Djokovic or No. 6 Matteo Berrettini in the semis. Djokovic is attempting to complete a calendar-year Grand Slam.
"I am going to watch it like everybody else, I guess," Zverev said of Wednesday night's match between Djokovic and Berrettini. "I hope it goes for eight hours and 30 minutes."
In the quarterfinals showdown, Harris broke to lead 5-3 in the opening frame and served for the set, but he got broken. In the tiebreaker, he held a set point at 6-5 but missed a forehand, dropping the next two points to cede the set.
Zverev then grabbed leads of 3-0 in the second set and 4-0 in the third to clinch the victory.
"Somehow managed to win that first set," said Zverev, who lost to Dominic Thiem in last year's championship match in New York. "Loosened me up a little bit."
On the women's side of the U.S. Open quarterfinals, 18-year-old Emma Raducanu of Great Britain continued her historic run with a 6-3, 6-4 victory over Tokyo Olympics gold medalist Belinda Bencic on Wednesday.
Raducanu became the first qualifier to reach the U.S. Open semifinals in the professional era. The 150th-ranked Raducanu also became the second teen in two days to advance to the final four, joining Canada's Leylah Fernandez.
"To have so many young players here doing so well, it just shows how strong the next generation is," Raducanu said. "Everyone's on their trajectory. ... It's my own journey at the end of the day."
Raducanu will play either No. 4 seed Karolina Pliskova of the Czech Republic or No. 17 Maria Sakkari of Greece in the semifinals.
The other women's semifinal match will be 73rd-ranked Fernandez against second-seeded Aryna Sabalenka.