Deux ascensions sont au programme : la fameuse côte de Cadoudal (1,7 km à 6,3 %), à Plumelec, et la côte de Pluméliau (2,2 km à 3,1 %). Le sprint intermédiaire est tracé à La Fourchette (km 118). Les quinze derniers kilomètres présentent une fin de parcours vallonnée, à majorité descendante, sur des routes étroites et sinueuses. La victoire d'étape est propice aux sprinteurs.
L'étape est marquée par de nombreuses averses. Le GalloisGeraint Thomas (INEOS Grenadiers) et le NéerlandaisRobert Gesink (Jumbo-Visma) sont victimes d'une chute à 145 kilomètres de l'arrivée. Ce dernier abandonne, tandis que Thomas reprend la route, son épaule luxée ayant été remise en place par le médecin du Tour[2].
Au sommet de la côte de Cadoudal (1,7 km à 6,3 %), Ide Schelling passe en tête avec un peu plus de deux minutes d'avance sur le peloton, il récupère par conséquent le maillot à pois de Mathieu van der Poel ; après l'ascension, le Néerlandais se relève. Au sprint intermédiaire de La Fourchette, Cyril Barthe passe en tête devant Maxime Chevalier ; derrière, c'est le sprinteur australienCaleb Ewan (Lotto-Soudal) qui devance le peloton. Au sommet de la côte de Pluméliau (2,2 km à 3,1 %), Jelle Wallays passe en tête, avec une minute et trente secondes d'avance sur le peloton. L'échappée est reprise à sept kilomètres de l'arrivée.
A 10 kilomètres de l'arrivée, le leaderSlovènePrimož Roglič (Jumbo-Visma) chute et ses équipiers l'attendent pour tenter de perdre un minimum de temps sur les autres prétendants à la victoire finale[3]. Le parcours, relativement descendant sur des routes étroites et sinueuses, devient de plus en plus dangereux pour les coureurs qui ne cessent de prendre des risques pour se placer du mieux possible à l'avant du peloton. A quatre kilomètres de l'arrivée, une sortie de route jettant au sol de nombreux coureurs, dont le sprinteur françaisArnaud Démare (Groupama-FDJ) et un des favoris à la victoire finale, l'australienJack Haig (Bahrain-Victorious), qui doit abandonner. Le peloton se retrouve diviser en de nombreux groupes, alors que l'échappée est reprise.
Mathieu van der Poel conserve son maillot jaune, tout comme Julian Alaphilippe avec le maillot vert et Tadej Pogacar avec le maillot blanc. Ide Schelling récupère le maillot à pois.