The Russian struggled to find his usual fluid game in the first two sets but sprung to life in the third set to shake off the 36th-ranked Humbert and progress to his 10th semifinal of the year.
"I'm kind of happy that I managed to raise my level in important moments, except a game in the second set," Medvedev said. "It's great that I managed to still find in this tough match these moments of consistency, which is enough to win. That's what you have to do.
"The further we go, the tougher the matches, the tougher the opponents. That's normal."
Zverev has lost three times to Medvedev this year but flipped the script in their last meeting in Cincinnati.
"It seems like we have to play each other every tournament this year. It's the fifth time we're going to play each other," Zverev noted. "Every time we play, it's a battle."
Second-ranked, and top-seeded, Carlos Alcaraz beat seventh-seeded Casper Ruud 6-4, 6-2 in straight sets to seal his spot in the semifinals, where he'll meet Italian Jannik Sinner who topped Grigor Dimitrov 6-4, 3-6, 6-2 in their quarterfinal match.
The Pole fired 27 winners and made 25 unforced errors, breaking serve a total of seven times in the win.
"You have to be patient with her because she's running for every ball," Swiatek said of her No.55-ranked Spanish opponent. "I kind of wanted to just be solid and be intensive but not make too many mistakes with risking."
Swiatek will next face Varvara Gracheva.
Information from The Associated Press and Reuters contributed to this report.