Le parcours de cette première étape prend place exclusivement dans le département du Finistère. Bien que les deux villes-étapes ne soit éloignées que de vingt kilomètres, le tracé traverse plusieurs hautes localités de Cornouaille comme Locronan, Quimper et Châteaulin. Les cinquante derniers kilomètres s'effectuent à travers le Parc naturel régional d'Armorique dans les zones ventées des monts d'Arrée avant de rejoindre l'arrivée tracée sur les hauteurs de Landerneau, ascension de trois kilomètres de long comprenant des passages jusqu'à 14 % de pente. Le tout premier maillot jaune de cette nouvelle édition est propice aux puncheurs.
Ce sont six ascensions qui sont jonchés tout le long du parcours : côte de Trébéolin (900 m à 5,1 %), côte de Rosnoën (3 km à 4 %), côte de Locronan (900 m à 9,3 %), côte de Stang Ar Garront (2 km à 3,4 %), côte de Saint-Rivoal (2,5 km à 3,9 %) et la côte de la Fosse aux Loups (3 km à 5,7 %), en haut duquel l'arrivée est située. Le sprint intermédiaire est tracé à Brasparts, au kilomètre 135.
Au kilomètre 28, Danny van Poppel passe au sommet de la côte de Rosnoën (3 km à 4 %). Au sommet de la côte de Locronan (900 m à 9,3 %), c'est Anthony Perez qui rafle les points pour le maillot blanc à pois rouges. Au passage dans Quimper, la deuxième ville la plus peuplée de Bretagne, l'échappée compte deux minutes d'avance sur le peloton. Sur les hauteurs de Châteaulin, Ide Schelling passe en tête au sommet de la côte de Stang Ar Garront (2 km à 3,4 %). Le Néerlandais poursuit son effort à l'avant, tandis que le reste de l'échappée est repris à 70 kilomètres de l'arrivée. Au sprint intermédiaire de Brasparts, Ide Schelling passe en tête avec une minute et quarante secondes d'avance sur le peloton. Derrière, les sprinteurs se disputent les points restants, l'AustralienCaleb Ewan (Lotto-Soudal) passe devant le SlovaquePeter Sagan (Bora-Hansgrohe). Schelling continue son périple solitaire, passant au sommet de la côte de Saint-Rivoal (2,5 km à 3,9 %), avec une minute et trente secondes d'avance sur le peloton, s'assurant le premier maillot à pois de ce Tour.
Au sommet de la côte de Saint-Rivoal, l'avant du peloton est victime d'une chute massive provoquée par une spectatrice brandissant une pancarte[3] : Allez Opi-Omi ! (Opi-Omi signifie Papy Mamie en allemand)[4]. Tous les coureurs se retrouvent arrêtés, tandis qu'Ide Schelling poursuit son aventure solitaire. Dans un chaos total, l'AllemandJasha Sütterlin (Team DSM) abandonne et plusieurs petits groupes se créent ; dans un geste de fair-play, l'équipe belgeDeceuninck-Quick Step, du champion du monde français Julian Alaphilippe, temporise devant afin que la quasi-totalité des coureurs se regroupent et reprennent la route dans de bonnes conditions. Responsable de cet accident de course, la spectatrice quittera les lieux avant de se rendre à la gendarmerie quatre jours après, pour son geste, elle sera condamnée à une amende de 1200€[5].
Ide Schelling est repris par le peloton à 28 kilomètres de l'arrivée. À l'abord de l'entrée dans Landerneau, une nouvelle chute a lieu et de nombreux coureurs sont affectés. Au pied de la côte de la Fosse aux Loups, c'est un groupe d'une quarantaine de coureurs qui se présente, toujours mené par la Deceuninck-Quick Step. À 2 300 mètres de l'arrivée, le champion du monde Julian Alaphilippe place une attaque foudroyante, tandis que Wout van Aert (Jumbo-Visma) mène le groupe. Le Français crée rapidement un écart suffisant pour venir s'imposer en solitaire sur les hauteurs de Landerneau. Derrière, les deux SlovènesPrimož Roglič (Jumbo-Visma) et le tenant du titreTadej Pogačar (UAE Emirates) parviennent également à s'extirper du groupe des favoris, mais c'est surtout le Français Pierre Latour (TotalEnergies) qui fait la plus belle impression, en étant un temps en mesure de revenir sur le champion du monde. Finalement, ces trois derniers s'écrasent sur la pente, alors que Julian Alaphilippe passe la ligne d'arrivée en tête avec huit secondes d'avance sur le groupe des favoris mené par l'AustralienMichael Matthews (BikeExchange) et Primož Roglič.