Après vingt-deux kilomètres de course, l'Italien Diego Rosa (Eolo Kometa) s'échappe seul en tête. Son avance maximal avec le peloton n'excède pas les cinq minutes. Au sommet de la côte de l'aéroport militaire de Luigi Razza, Diego Rosa passe en tête, avec une avance de cinq minutes et quinze secondes sur le peloton ; au sprint intermédiaire de Vibo Valentina, il passe, cette fois-ci, avec trois minutes et quarante secondes d'avance sur un trio de la Drone Hopper-Androni Giocattoli, l'Argentin Eduardo Sepúlveda, les deux Italiens Simone Ravanelli et Filippo Tagliani, sortis du peloton deux kilomètres avant et repris dix kilomètres après, et quatre minutes et onze secondes sur le peloton, devancé par l'Erythréen Biniam Girmay (Intermarché-Wanty-Gobert Matériaux) et le Français Arnaud Démare (Groupama FDJ).
Au sprint intermédiaire de Guardia Piemontese Marina, Diego Rosa passe la ligne avec une minute et trente-six secondes d'avance sur le peloton, où Filippo Tagliani passe en tête devant l'Allemand Lennard Kämna (Bora-Hansgrohe). L'Italien est repris à vingt-huit kilomètres de l'arrivée.
Geré par les équipes de sprinteurs, le peloton reste groupé jusqu'à l'arrivée. Déjà vainqueur la veille, Arnaud Démare gagne l'étape au photo-finish face à l'Australien Caleb Ewan (Lotto Soudal). Derrière, le Britannique Mark Cavendish (Quick-Step Alpha Vinyl) termine troisième.
Rien ne change au niveau des différents classements : l'Espagnol Juan Pedro López (Trek-Segafredo) conserve son maillot rose et son maillot blanc ; Arnaud Démare, vainqueur de l'étape, fait de même avec son maillot violet ; tout comme l'Allemand Lennard Kämna (Bora-Hansgrohe) avec le maillot bleu. La Bora-Hansgrohe reste première au classement par équipes.