The 42nd-ranked Czech saved seven break points while converting his one chance, and took nearly two hours to put away the No. 3 seed.
Rosol, who lost in the final in Stuttgart against Roberto Bautista Agut on Sunday, will next play Philipp Kohlschreiber, the seventh-seeded German who defeated 2011 champion Gilles Simon of France 7-5, 6-3.
German wild card Tobias Kamke knocked out the fourth-seeded Alexandr Dolgopolov 7-5, 2-6, 7-5 in just over two hours.
The 83rd-ranked Kamke next faces 17-year-old Alexander Zverev, another Hamburg native, who defeated Santiago Giraldo of Colombia 6-4, 7-6 (6) to keep his breakthrough run going.
The 285th-ranked Zverev defeated No. 5 seed Mikhail Youzhny of Russia on Wednesday.
Also winners were Leonardo Mayer of Argentina, and Dusan Lajovic, against whom fellow Serb Filip Krajinovic retired in the first set due to illness.