The third seed, who also defeated Zverev in the Shanghai final last year, returned strongly throughout the match to take his first title of the year.
Medvedev, 24, had more energy in the deciding set and made the most of his opportunities against an inconsistent Zverev, who had won five of their six previous meetings.
A double fault earned the Russian his eighth ATP title after two hours and seven minutes.
Medvedev said he pulled off the win by making his “opponent crazy”.
Both players had a high first serve percentage early on, holding comfortably. Zverev went 40-0 up on the Russian’s serve at 6-5 to earn the first break points of the match.
Medvedev saved the first two by dictating the rallies, but he whacked a forehand long on the third and conceded his second set of the tournament.
Zverev faced his first break points in a fiercely contested third game in the second set, which he won, but he dropped serve in the ninth game when he sent a crosscourt backhand long.
Medvedev won his service game to love to level the match and send it into a decider.
He broke to love, held serve after saving four break points and broke again thanks to a booming service return as he moved 4-0 up.
With his confidence shattered, Zverev never looked capable of mounting a comeback as Medvedev added to his 2019 Shanghai and Cincinnati Masters titles.
Both players will take part in the season-ending ATP Tour Finals at the O2 in London from Nov. 15-22.
Medvedev, the fourth Russian player to win at Bercy after three-time champion Marat Safin, Nikolay Davydenko and Karen Khachanov, said he would go into the tournament full of confidence.
“I’m coming in better shape than last year. Last year I was real exhausted, I had lost in the first round in Paris. That’s when you lose your confidence,” he said.
“When you lose first round you always lose your confidence.” Reporting by Julien Pretot; Editing by Ed Osmond and Pritha Sarkar