173 coureurs prennent le départ.
Philippe Gilbert et
Rafael Valls sont non-partants pour cause de blessures et
John Degenkolb étant arrivé hors des délais la veille est contraint de quitter la course. Dès le départ, huit coureurs s'échappent. On retrouve à l'avant
Matteo Trentin (CCC Team),
Kasper Asgreen (Deceuninck-Quick Step),
Lukas Pöstlberger, le porteur du maillot vert
Peter Sagan (
Bora-Hansgrohe),
Benoît Cosnefroy (
ALM),
Anthony Perez (
COF),
Michael Gogl (
NTT) et le
champion de Lettonie Toms Skujiņš (Trek-Segafredo), alors que
David Gaudu, tombé la veille, est en difficulté à l'arrière. Matteo Trentin devance au sprint intermédiaire Peter Sagan, juste avant de perdre sa place sur un ennui mécanique. Les hommes de tête vont ensuite se disputer le maillot à pois dans les deux premiers cols de la journée. Benoit Cosnefroy devance Anthony Perez et Michael Gogl au
col de la Colmiane, puis Perez devance Cosnefroy et Gogl au
col de Turini. Cosnefroy est le nouveau meilleur grimpeur, au bénéfice du classement général par rapport à Perez. Alors que les sprinteurs dont le maillot jaune sont distancés dans le col de Turini, les échappés sont revus au pied du
col d'Eze. Julian Alaphilippe attaque dès les premières pentes du col des Quatre chemins, suivi par
Marc Hirschi (Sunweb).
Adam Yates (
Mitchelton-Scott) rejoint le duo quelques hectomètres plus loin. Yates, Alaphilippe et Hirschi prennent respectivement 8, 5 et 2 secondes de bonification au sommet de l'ascension. Le trio va ensuite se disputer la victoire d'étape au sprint. Alaphilippe gagne juste devant Hirschi, une seconde devant Yates et deux secondes devant le peloton, réglé par le
champion olympique Greg Van Avermaet (CCC Team). Il prend également la tête du classement général, avec 4 secondes d'avance sur Yates, 7 sur le nouveau maillot blanc Hirschi et 17 secondes sur 32 coureurs, dont les favoris pour le classement général final.