In Geneva, home favourite Wawrinka found the going hard early in the match as world number 33 Zverev broke his serve before taking the first set.
He lost serve in the final set but then broke Zverev three times on his way to securing his first title of the year.
Still, Zverev beat the third-ranked Wawrinka when they last played, at the Swiss Indoors in Basel in October. Zverev is looking for his first title at age 29.
"I would have hated you if you had beaten me in two tournaments", Wawrinka said to his opponent during the post-match ceremony. "I have never expected to be in a final in a clay-court tournament".
On Thursday, Nishikori produced a thrilling comeback to beat South African Kevin Anderson 2-6, 6-4, 7-6 (6).
"Playing on clay is usually not easy for me, but I really felt great here playing six matches this week and reaching my first semi-final and final on this surface".
World No. 1 Andy Murray is battling to recover from illness before the French Open begins on Sunday, according to British media reports. "I had a great week after a hard period on a physical level, picking up a shoulder injury while I was in fine form".
It was the 16th tour-level title for Wawrinka and first since winning the US Open a year ago.
The 13th-ranked French player will move up to 11th in the world in Monday's ATP rankings.
Meanwhile, France's Jo-Wilfried Tsonga reached his first claycourt final just ahead of the French Open by beating Georgian Nikoloz Basilashvili 6-2 3-6 6-1 at the Lyon Open on Friday.