Le début d'étape est animé par de nombreuses tentatives d'échappées. Il faut attendre 70 km pour qu'un groupe de vingt-cinq coureurs, dont Giulio Ciccone (Bardiani-CSF), Giovanni Visconti (Bahrain-Merida), Dayer Quintana (Movistar), Alessandro De Marchi (BMC), Diego Ulissi (UAE Emirates), Nico Denz et Mikaël Cherel (AG2R La Mondiale) parvienne à rester en tête. Leur avance, qui culmine à trois minutes, et réduite à une lorsque l'équipe EF Education First se porte en tête du peloton pour préparer l'attaque de Michael Woods, dans l'ascension des Tre Croci. Woods reste intercalé entre le peloton et l'échappée pendant 25 km, avant d'être repris par le peloton emmené par l'équipe Mitchelton-Scott. À l'avant de la course, le groupe s'est réduit à cinq coureurs, Ciccone, Quintana, Denz et Cherel, rejoints ensuite par Visconti. Ciccone tente ensuite sa chance seul.
À 17 km de l'arrivée, dans l'ascension de Costalissoio, Simon Yates fait rouler son équipier Jack Haig puis attaque et part seul, aucun de ses rivaux ne parvenant à le suivre. La mauvaise entente entre ses poursuivants, Thibaut Pinot, Domenico Pozzovivo, Miguel Angel Lopez et Richard Carapaz, affaiblit leur poursuite et permet à Yates de creuser l'écart. Un temps distancé, Tom Dumoulin parvient à revenir dans le groupe. Simon Yates s'impose avec 41 secondes d'avance sur ce groupe de cinq, réglé au sprint par Lopez devant Dumoulin. Moins en forme que la veille, Christopher Froome perd une minute et demie tandis que Fabio Aru, en difficulté dès le col de Sant'Antonio, est à 19 minutes et demie.
Yates est le premier porteur du maillot rose à remporter trois étapes depuis Gilberto Simoni en 2003. Il accroit à nouveau son avance au classement général. Tom Dumoulin, deuxième, a désormais 2 minutes et 11 secondes de retard, ce qui satisfait Yates qui craint de perdre du temps lors du contre-la-montre deux jours plus tard[1].