Top seed Zverev crashes out in Munich to world 107 Ivashka
The 27-year-old is ranked 101 places below world number six Zverev, 24, who made numerous errors and rowed throughout the match with his coach, who is also his father, sat in the stands.
"This is a match I should never have lost - I'm sad and disappointed", admitted Germany's Zverev.
In Saturday's semis, Ivashka faces Germany's Jan-Lennard Struff who needed exactly three hours to seal a 6-4, 4-6, 7-6 (7/3) win over fourth-seed Filip Krajinovic.
"Ivashka is playing quite good tennis here," said Struff after the 27-year-old Belarusian "blew away" Finland's Emil Ruusuvuori 6-1, 6-2 in the first round.
This is the first time the 31-year-old Struff has reached the semis in Munich since 2014 and this will be his eighth attempt to reach the final of an ATP tournament for the first time.
"I haven't yet taken that final step to play for a title and, of course, I would like to do that," Struff added.