Edmund, 23, recently jumped up to a career-high of 14 in the world and has now reached his second Masters quarter-final.
A tight first set went to a tie-break that Edmund edged to take a one-set lead.
Edmund's losing run continues in Cologne
The Brit was broken in his first service game of the second set but immediately broke back and then twice more to secure victory.
Victory puts Edmund temporarily 12th in the Race to London for the ATP Tour Finals.
He will now face 4th seed Zverev in the last eight on Friday.
The German booked his place in the quarters by easily seeing off Alex De Minaur 6-1, 6-4.
US Open men
Djokovic bounces back from losing first set to see off Edmund
ATP New York
Britain's Edmund wins New York Open title in straight sets