La 7e étape relie Saint-Malo à Mûr-de-Bretagne sur une distance de 187 kilomètres. Traversant les départements de l'Ille-et-Vilaine et des Côtes-d'Armor, le parcours rend hommage à Bernard Hinault, avec un passage à Calorguen, son lieu de résidence, puis à Yffiniac, son village natal. L’étape s’annonce favorable aux puncheurs, avec un final nerveux et accidenté. Dans les derniers kilomètres, les coureurs graviront d’abord la côte du village de Mûr-de-Bretagne (1,6 km à 4,1 %, 4e catégorie), avant un premier passage sur la ligne d’arrivée située au sommet d’une côte plus difficile (2 km à 6,9 %, 3e catégorie). Après un tour de circuit, une ultime ascension de cette même rampe mènera à l’arrivée, jugée au sommet après une ligne droite finale de 300 mètres. Ce profil évoque la victoire de Mathieu van der Poel en 2021 sur la 2e étape sur ces mêmes pentes, et laisse présager une explication entre puncheurs ou une arrivée d’échappée, si le peloton laisse filer[2].
Dès le début de l'étape, Wout van Aert (Visma-Lease a Bike) et Mauro Schmid (Jayco AlUla) partent à l'attaque mais ce duo ne réussit à creuser qu'un écart d'une quinzaine de secondes et est repris une vingtaine de kilomètres plus loin. À 142 kilomètres de l'arrivée, après une heure de course, cinq hommes constituent l'échappée du jour. Ces cinq coureurs sont les Français Alex Baudin (EF Education-EasyPost) et Ewen Costiou (Arkéa-B&B Hotels), le Britannique Geraint Thomas (Ineos Grenadiers), l'Espagnol Iván García Cortina (Movistar) et l'Autrichien Marco Haller (Tudor). Toutefois, le peloton contrôle et ne laisse pas trop d'avance aux fuyards. Lors de la première ascension de Mûr-de-Bretagne, le groupe d'échappés implose et, au premier passage sur la ligne d'arrivée à 15 kilomètres du terme, seul Ewen Costiou réussit à conserver un avantage d'une vingtaine de secondes sur un peloton maillot jaune encore composé d'une quarantaine d'unités et emmené par l'équipe Visma-Lease a Bike. Costiou est repris trois kilomètres plus loin. À 6 kilomètres de l'arrivée, une chute survient dans le peloton, mettant à terre une dizaine de coureurs dont João Almeida (UAE Emirates XRG), Jack Haig et Santiago Buitrago (Bahrain Victorious), et Eddie Dunbar (Jayco AlUla). Lors de la montée finale, le peloton se scinde en plusieurs groupes. Le maillot jaune Mathieu van der Poel (Alpecin-Deceuninck) ne peut suivre. Alors que le groupe de tête ne compte plus que huit hommes, Tadej Pogačar (UAE Emirates XRG) place une attaque aux deux cents mètres et s'impose devant Jonas Vingegaard (Visma-Lease a Bike). Le champion du monde signe une deuxième victoire sur ce Tour et reprend le maillot jaune[3].
À 13h47 dans le bourg de Corseul, le peloton est lancé à la poursuite du groupe de cinq échappés passés là à 13h45.