Del Potro defeated Zverev 6-4 6-2 in the semi-final match that lasted just 90 minutes.
"I was very happy with how I played. I'm starting to play very well again, and that's all that matters for me," Zverev said post his defeat.
The Argentine will now take on fifth seed Anderson, who will look to bag a second consecutive title after winning the New York Open two weeks ago and fifth career ATP title.
Anderson, 31, defeated America's Jared Donaldson 6-3, 4-6, 6-3 in the first semi-final clash of the day to reach his third final of the season.
"When you're out there, you're not really thinking about finals and what happened before. In the heat of the battle, I thought it was a really tough match," he said.
Earlier, this year, the South African, who is now at a career-high No. 8 in the ATP Rankings, reached the finals of the Maharashtra Open in Pune, India. (ANI)