Primeira etapa em linha desta edição do Giro, com a fuga a formar-se mal se deu o tiro de partida onde estavam Ben Gastauer, Mattia Bais, Alessandro Tonelli, Thomas de Gendt e Ettienne van Empel.
Primeiro INEOS Grenadiers e depois Sunweb, Bora-Hansgrohe e UAE Team Emirates mantiveram a fuga sempre perto, anulando-a a 9 quilómetros do final. No que se tinha disputado da etapa, notícia do abandono de Aleksandr Vlasov devido a problemas gástricos.
Com o aproximar da subida final, a luta pelo posicionamento era intensa. Foi a Groupama-FDJ a pegar na corrida a 3500 metros do fim, aparecendo a Mitchelton-Scott na parte mais dura da subida. A UAE Team Emirates não estava contente com o ritmo e aumentou-o muito bem perto do quilómetro final.
Luca Wackermann tentou a sua sorte à entrada do quilómetro final, com resposta de Diego Ulissi, Mikkel Honoré e, mais tarde, Peter Sagan também se chegava à frente. Não deixando Sagan respirar, o sprint foi lançado com Ulissi a passar rapidamente para a dianteira, conseguindo uma vitória fácil à frente de Sagan e Honoré. A 5 segundos, chegava o pelotão com Michael Matthews em 4º, Wackermann em 5º e João Almeida em 6º. Filippo Ganna sofreu, mas manteve-se no pelotão, mantendo a liderança do Giro.