O dia de competição em Frankfurt começou com uma fuga relativamente fraca, composta por Evgeny Shalunov, Casper Pedersen, Dimitri Peyskens, Yoann Offredo, Sebastian Schonberger, Mathias van Gompel e Artyom Zakharov. O pelotão não deixou este grupo ganhar muito avanço, com as equipas que não tinham grandes sprinters a forçarem o ritmo.
As acelerações no pelotão começaram a 75 kms da meta, quando Francois Bidard, Davide Ballerini, Geoffrey Soupe e Kristian Sbaragli fizeram a ponte para a frente, onde só se aguentaram Peyskens e Shalunov. Na descida após a 2ª passagem pelo Mammolshain Matej Mohoric juntou-se a eles e assim mantiveram uma vantagem de cerca de 40 segundos.
Na última subida do percurso houve alguns ataques, mas nada de muito relevante, Geoffrey Soupe perdeu o contacto com a frente e assim se partiu para a longa descida a caminho de Frankfurt. O quinteto dianteiro entrou nos últimos 10 kms com 15 segundos de avanço mas a Bora-Hansgrohe teve sempre os fugitivos debaixo de olho e absorveu-os a 4 kms da meta.
A formação alemã continuou a fazer o lançamento do sprint e muito bem deixou Pascal Ackermann numa excelente posição. Davide Cimolai antecipou-se ao campeão alemão e parecia que ia para a vitória, mas os últimos 100 metros de Ackermann foram fortes demais para a concorrência, voltando assim à vitórias e mostrando-se pronto para o Giro. John Degenkolb foi 2º e Alexander Kristoff 3º.