
Friday, July 10: Stage 7, Hagetmau - Bordeaux, 175.1 km
Stage 7 map & profile | Stage 7 photos

Tim Merlier wins stage seven. Photo: ASO/Charly Lopez
Les Woodland's book Tour of Flanders: The Inside Story - The rocky roads of the Ronde van Vlaanderen is available in print, Kindle eBook and audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at the finish city of Bordeaux at 2:00 PM, local time: 37C (99F), sunny, With the wind from the southwest at 10 km/hr. There is a 50% chance of rain at 3:00 PM.
Rated ascent:
The stage: Tour boss Christian Prudhomme writes: With the Pyrenees behind it and its sights set on Bordeaux, the peloton will pass through the Landes’ forests, which offer a small opportunity for a breakaway to catch out the sprinters’ teams. But if they’re focused and totally committed to their objective, the sprint trains will arrive as scheduled on the banks of the Garonne for a high-speed showdown adjacent to Place des Quinconces. A classic stage of its kind.
The race: Torstein Traeen (Uno-X Mobility), who crashed badly descending the Tourmalet in stage 6, did not start. He was the GC leader and wore the yellow jersey in stages 5 & 6. That left 176 riders to start stage 7 at 1:23 PM.
His team posted: “Torstein passed the roadside concussion assessment after the crash and was able to continue,” his team reports. “However, following further assessment by the Uno-X Mobility medical staff, analysis of the data from his helmet sensor and x-rays in the medical truck, he has been diagnosed with a concussion and multiple rib fractures.”
“This is really not the ending we wanted for this yellow adventure,” says the team general manager Thor Hushovd in a press release. “Torstein has given the team a historic moment, and what he and the whole team have achieved these past days is something we will always be proud of. But after the further checks this evening, it was clear that he could not continue.”
Here's the race organizer's stage seven report:
Stage 7, heading to Bordeaux, smiled on sprinters, as the capital of Aquitaine often does on the roads of the Tour de France. Tim Merlier (Soudal Quick-Step) dominated his rivals in the bunch gallop, taking his fourth victory in the event after previous successes in 2021 and 2025. He claims Belgium’s 24th victory in Bordeaux, confirming the nation’s supremacy in the city just three years after Jasper Philipsen conquered it. This time, the Alpecin-Premier Tech sprinter had to settle for fifth place, while Soren Waerenskjold (Uno-X Mobility) and Biniam Girmay (NSN) completed the day’s top three. Merlier’s success means the Wolfpack have now won stages in every edition of the Tour since 2013. Tadej Pogacar (UAE Emirates-XRG) survived the traps of the day to retain the Maillot Jaune on the eve of another flat stage to Bergerac.
The stage:
After surviving the final Pyrenees showdown, sprinters eye their second opportunity of the Tour de France, a couple of days after Olav Kooij's victory in Pau. From Hagetmau to Bordeaux, the route is mostly flat, with just 850 metres of elevation gain (the lowest value in this Tour, excluding time trials). Côte de Béguey (cat. 4) is the only categorised ascent of the day, with its summit 37.8 kilometres from the finish.
Veistroffer is not alone
A 176-man peloton roll from Hagetmau in the absence of Torstein Træen (Uno-X Mobility) who doesn't start on the day after he crashed while defending the Maillot Jaune.
Just like he did en route to Pau, Baptiste Veistroffer (Lotto Intermarché) attacks as soon as the flag drops on the roads of the Landes department, a department associated with André Darrigade, whose tally of 22 Tour stage wins was surpassed the day before by Tadej Pogacar. The French baroudeur was alone two days befoearlierre. This time, he is joined at the front by Jake Otruba (Caja Rural-Seguros RGA) as they head to Mont-de-Marsan (km 25.9), Luis Ocaña’s adopted hometown.
Tim Merlier’s Soudal Quick-Step and Jasper Philipsen’s Alpecin-Premier Tech rapidly take the reins of the bunch to control the breakaway. The gap never gets higher than 1’35’’ (km 87). Given the tight situation, Uno-X Mobility and a handful of counter-attackers try to bridge the gap but they’ are rapidly neutralised.
Sprinters’ teams unite
Olav Kooij’s Decathlon CMA CGM and Biniam Girmay’s NSN also participate in the chase, although Soudal Quick-Step and Alpecin-Premier Tech are the most active at the front of the bunch. The latter can draw confidence from the last stage finish in Bordeaux, in 2023, when Philipsen powered to his fifth Tour win ahead of Mark Cavendish, the previous winner (in 2010) in a city that often smiles on sprinters.
Veistroffer is first across the intermediate sprint in Landiras (km 120.2), where Mads Pedersen (Lidl-Trek) gets the better of his rivals for the green jersey. The French baroudeur is also first atop the Côte de Béguey (km 137.3). He receives the combativity award for the second time in three days.
Merlier flies past Philipsen
Veistroffer and Otruba are eventually reeled in 18 kilometres away from the finish line. Anders Skaarseth and Jonas Abrahamsen (Uno-X Mobility) launch a couple more attacks, but sprinters’ teams react well to stay in control all the way to Bordeaux.
Alpecin-Premier Tech enter the final kilometre in the lead. Jasper Philipsen is still at the front when he opens up his sprint, with just over 200 metres to go. But he’s rapidly passed as his former teammate Tim Merlier flies past to take his fourth stage win in the Tour ahead of Soren Waersenkjold (Uno-X Mobility) and Biniam Girmay (NSN). With this new success, Soudal Quick-Step have now won in every Tour since 2013, with a total of 40 victories across 14 editions.
Complete results:
175.1 kilometers raced at an average speed of 46.832 km/hr
| 1 | Tim Merlier | Soudal Quick-Step | 3hr 44min 20sec |
| 2 | Søren Wærenskjold | Uno-X Mobility | s.t. |
| 3 | Biniam Girmay | NSN Cycling Team | s.t. |
| 4 | Max Kanter | XDS Astana Team | s.t. |
| 5 | Jasper Philipsen | Alpecin-Premier Tech | s.t. |
| 6 | Phil Bauhaus | Bahrain Victorious | s.t. |
| 7 | Huub Artz | Lotto-Intermarché | s.t. |
| 8 | Dorian Godon | Netcompany INEOS Cycling Team | s.t. |
| 9 | Mads Pedersen | Lidl-Trek | s.t. |
| 10 | Tom Van Asbroeck | NSN Cycling Team | s.t. |
| 11 | Pavel Bittner | Team Picnic PostNL | s.t. |
| 12 | Pascal Ackermann | Team Jayco-AlUla | s.t. |
| 13 | Milan Fretin | Cofidis | s.t. |
| 14 | Fernando Gaviria | Caja Rural-Seguros RGA | s.t. |
| 15 | Anthony Turgis | Team TotalEnergies | s.t. |
| 16 | Clément Russo | Groupama-FDJ United | s.t. |
| 17 | Jenno Berckmoes | Lotto-Intermarché | s.t. |
| 18 | Rick Pluimers | Tudor Pro Cycling Team | s.t. |
| 19 | Fred Wright | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 20 | Aaron Gate | XDS Astana Team | s.t. |
| 21 | Jonas Abrahamsen | Uno-X Mobility | s.t. |
| 22 | Mike Teunissen | XDS Astana Team | s.t. |
| 23 | Olav Kooij | Decathlon CMA CGM Team | s.t. |
| 24 | Robert Stannard | Bahrain Victorious | s.t. |
| 25 | Mathieu van der Poel | Alpecin-Premier Tech | s.t. |
| 26 | Tom Pidcock | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 27 | Harold Tejada | XDS Astana Team | s.t. |
| 28 | Nicolas Vinokurov | XDS Astana Team | s.t. |
| 29 | Brent Van Moer | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 30 | Anthon Charmig | Uno-X Mobility | s.t. |
| 31 | Jenthe Biermans | Cofidis | s.t. |
| 32 | Toms Skujins | Lidl-Trek | s.t. |
| 33 | Julius van den Berg | Team Picnic PostNL | s.t. |
| 34 | Tiesj Benoot | Decathlon CMA CGM Team | s.t. |
| 35 | Mathias Vacek | Lidl-Trek | s.t. |
| 36 | Kasper Asgreen | EF Education-EasyPost | s.t. |
| 37 | Nicolas Prodhomme | Decathlon CMA CGM Team | s.t. |
| 38 | Nelson Oliveira | Movistar Team | s.t. |
| 39 | Matej Mohoric | Bahrain Victorious | s.t. |
| 40 | Jasper Stuyven | Soudal Quick-Step | s.t. |
| 41 | Paul Seixas | Decathlon CMA CGM Team | s.t. |
| 42 | Maxim Van Gils | Red Bull-BORA-hansgrohe | s.t. |
| 43 | Anders Skaarseth | Uno-X Mobility | s.t. |
| 44 | Tim van Dijke | Red Bull-BORA-hansgrohe | s.t. |
| 45 | Yannis Voisard | Tudor Pro Cycling Team | s.t. |
| 46 | Davide Ballerini | XDS Astana Team | s.t. |
| 47 | Antonio Tiberi | Bahrain Victorious | s.t. |
| 48 | Florian Lipowitz | Red Bull-BORA-hansgrohe | s.t. |
| 49 | Nils Politt | UAE Team Emirates-XRG | s.t. |
| 50 | Brandon McNulty | UAE Team Emirates-XRG | s.t. |
| 51 | Adam Yates | UAE Team Emirates-XRG | s.t. |
| 52 | Remco Evenepoel | Red Bull-BORA-hansgrohe | s.t. |
| 53 | Georg Zimmermann | Lotto-Intermarché | s.t. |
| 54 | Lars Craps | Lotto-Intermarché | s.t. |
| 55 | Joris Delbove | Team TotalEnergies | s.t. |
| 56 | Tadej Pogacar | UAE Team Emirates-XRG | s.t. |
| 57 | Isaac del Toro | UAE Team Emirates-XRG | s.t. |
| 58 | Edoardo Affini | Team Visma | Lease a Bike | s.t. |
| 59 | Jonas Vingegaard | Team Visma | Lease a Bike | s.t. |
| 60 | Jordan Jegat | Team TotalEnergies | s.t. |
| 61 | Per Strand Hagenes | Team Visma | Lease a Bike | s.t. |
| 62 | Juan Ayuso | Lidl-Trek | s.t. |
| 63 | Mattias Skjelmose | Lidl-Trek | s.t. |
| 64 | Florian Vermeersch | UAE Team Emirates-XRG | s.t. |
| 65 | Xandro Meurisse | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 66 | Egan Bernal | Netcompany INEOS Cycling Team | s.t. |
| 67 | Ilan Van Wilder | Soudal Quick-Step | s.t. |
| 68 | Kévin Vauquelin | Netcompany INEOS Cycling Team | s.t. |
| 69 | Pablo Castrillo | Movistar Team | s.t. |
| 70 | Guillaume Martin-Guyonnet | Groupama-FDJ United | s.t. |
| 71 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
| 72 | Felix Grossschartner | UAE Team Emirates-XRG | s.t. |
| 73 | Tim Wellens | UAE Team Emirates-XRG | s.t. |
| 74 | Jake Stewart | NSN Cycling Team | s.t. |
| 75 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 76 | Davide Piganzoli | Team Visma | Lease a Bike | s.t. |
| 77 | Victor Campenaerts | Team Visma | Lease a Bike | s.t. |
| 78 | Niklas Märkl | Team Picnic PostNL | s.t. |
| 79 | Lorenzo Germani | Groupama-FDJ United | s.t. |
| 80 | Quentin Pacher | Groupama-FDJ United | s.t. |
| 81 | Quinten Hermans | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 82 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 83 | Lennert Van Eetvelt | Lotto-Intermarché | s.t. |
| 84 | Tobias Halland Johannessen | Uno-X Mobility | s.t. |
| 85 | Ramses Debruyne | Alpecin-Premier Tech | s.t. |
| 86 | Magnus Cort | Uno-X Mobility | s.t. |
| 87 | Derek Gee-West | Lidl-Trek | s.t. |
| 88 | Javier Romo | Movistar Team | s.t. |
| 89 | Mattia Cattaneo | Red Bull-BORA-hansgrohe | s.t. |
| 90 | Lenny Martinez | Bahrain Victorious | s.t. |
| 91 | Sean Quinn | EF Education-EasyPost | s.t. |
| 92 | Raúl García | Movistar Team | s.t. |
| 93 | Mattéo Vercher | Team TotalEnergies | s.t. |
| 94 | José Félix Parra | Caja Rural-Seguros RGA | s.t. |
| 95 | Nico Denz | Red Bull-BORA-hansgrohe | s.t. |
| 96 | Cees Bol | Decathlon CMA CGM Team | s.t. |
| 97 | Mathis Le Berre | Team TotalEnergies | s.t. |
| 98 | Edward Planckaert | Alpecin-Premier Tech | s.t. |
| 99 | Michal Kwiatkowski | Netcompany INEOS Cycling Team | s.t. |
| 100 | Jonas Rickaert | Alpecin-Premier Tech | s.t. |
| 101 | Matteo Trentin | Tudor Pro Cycling Team | @ 29sec |
| 102 | Damien Howson | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 103 | Stefano Oldani | Caja Rural-Seguros RGA | s.t. |
| 104 | Frits Biesterbos | Team Picnic PostNL | 0:37 |
| 105 | Clément Braz Afonso | Groupama-FDJ United | 0:46 |
| 106 | Alexandre Delettre | Team TotalEnergies | s.t. |
| 107 | Louis Vervaeke | Soudal Quick-Step | s.t. |
| 108 | Carlos Verona | Lidl-Trek | 1:03 |
| 109 | Frank van den Broek | Team Picnic PostNL | 1:06 |
| 110 | Ewen Costiou | Groupama-FDJ United | 1:13 |
| 111 | Alex Kirsch | Cofidis | s.t. |
| 112 | Tim Marsman | Alpecin-Premier Tech | s.t. |
| 113 | Piet Allegaert | Cofidis | s.t. |
| 114 | Julian Alaphilippe | Tudor Pro Cycling Team | s.t. |
| 115 | Felix Engelhardt | Team Jayco-AlUla | 1:23 |
| 116 | Ben O'Connor | Team Jayco-AlUla | s.t. |
| 117 | Warren Barguil | Team Picnic PostNL | s.t. |
| 118 | Thibault Guernalec | Team TotalEnergies | s.t. |
| 119 | John Degenkolb | Team Picnic PostNL | s.t. |
| 120 | Damiano Caruso | Bahrain Victorious | s.t. |
| 121 | Liam Slock | Lotto-Intermarché | s.t. |
| 122 | Tobias Foss | Netcompany INEOS Cycling Team | 1:37 |
| 123 | Hugo Page | Cofidis | 1:44 |
| 124 | Bruno Armirail | Team Visma | Lease a Bike | 1:58 |
| 125 | Thymen Arensman | Netcompany INEOS Cycling Team | s.t. |
| 126 | Baptiste Veistroffer | Lotto-Intermarché | 2:05 |
| 127 | Abel Balderstone | Caja Rural-Seguros RGA | s.t. |
| 128 | Romain Grégoire | Groupama-FDJ United | s.t. |
| 129 | Simone Velasco | XDS Astana Team | s.t. |
| 130 | Anders Halland Johannessen | Uno-X Mobility | s.t. |
| 131 | Georg Steinhauser | EF Education-EasyPost | s.t. |
| 132 | Mauro Schmid | Team Jayco-AlUla | s.t. |
| 133 | Einer Rubio | Movistar Team | s.t. |
| 134 | Matthew Riccitello | Decathlon CMA CGM Team | s.t. |
| 135 | Sergio Higuita | XDS Astana Team | s.t. |
| 136 | George Bennett | NSN Cycling Team | s.t. |
| 137 | Daan Hoole | Decathlon CMA CGM Team | s.t. |
| 138 | Michael Matthews | Team Jayco-AlUla | 2:18 |
| 139 | Joshua Tarling | Netcompany INEOS Cycling Team | s.t. |
| 140 | Quinn Simmons | Lidl-Trek | s.t. |
| 141 | Alex Baudin | EF Education-EasyPost | 2:39 |
| 142 | Krists Neilands | NSN Cycling Team | s.t. |
| 143 | Michael Valgren | EF Education-EasyPost | s.t. |
| 144 | Marco Haller | Tudor Pro Cycling Team | s.t. |
| 145 | Dylan van Baarle | Soudal Quick-Step | 2:43 |
| 146 | Pascal Eenkhoorn | Soudal Quick-Step | s.t. |
| 147 | Marc Hirschi | Tudor Pro Cycling Team | s.t. |
| 148 | Max Walker | EF Education-EasyPost | s.t. |
| 149 | Aurélien Paret-Peintre | Decathlon CMA CGM Team | s.t. |
| 150 | Silvan Dillier | Alpecin-Premier Tech | s.t. |
| 151 | Vlad Van Mechelen | Bahrain Victorious | 2:49 |
| 152 | Luke Plapp | Team Jayco-AlUla | s.t. |
| 153 | Luke Durbridge | Team Jayco-AlUla | s.t. |
| 154 | Jan Tratnik | Red Bull-BORA-hansgrohe | s.t. |
| 155 | Sebastian Berwick | Caja Rural-Seguros RGA | s.t. |
| 156 | Richard Carapaz | EF Education-EasyPost | s.t. |
| 157 | Jefferson Cepeda | Movistar Team | s.t. |
| 158 | Nicolas Breuillard | Team TotalEnergies | s.t. |
| 159 | Valentin Paret-Peintre | Soudal Quick-Step | s.t. |
| 160 | Robbe Dhondt | Team Picnic PostNL | s.t. |
| 161 | Ben Healy | EF Education-EasyPost | 2:59 |
| 162 | Michael Storer | Tudor Pro Cycling Team | 3:09 |
| 163 | Ion Izagirre | Cofidis | s.t. |
| 164 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 165 | Kamil Gradek | Bahrain Victorious | s.t. |
| 166 | Michel Hessmann | Movistar Team | 3:20 |
| 167 | Emiel Verstrynge | Alpecin-Premier Tech | s.t. |
| 168 | Chris Harper | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 169 | Lewis Askey | NSN Cycling Team | 3:30 |
| 170 | Matis Louvel | NSN Cycling Team | s.t. |
| 171 | Joel Nicolau | Caja Rural-Seguros RGA | 3:43 |
| 172 | Alex Aranburu | Cofidis | s.t. |
| 173 | Jakub Otruba | Caja Rural-Seguros RGA | s.t. |
| 174 | Filippo Ganna | Netcompany INEOS Cycling Team | s.t. |
| 175 | Benjamin Thomas | Cofidis | 4:22 |
| 176 | Marco Frigo | NSN Cycling Team | 5:07 |
GC after stage 7:
1,085.5 kilometers raced so far at an average speed of 43.528 km/hr
| 1 | Tadej Pogacar | UAE Team Emirates-XRG | 24hr 56min 17sec |
| 2 | Jonas Vingegaard | Team Visma | Lease a Bike | @ 2min 42sec |
| 3 | Isaac del Toro | UAE Team Emirates-XRG | 3:27 |
| 4 | Remco Evenepoel | Red Bull-BORA-hansgrohe | 3:30 |
| 5 | Juan Ayuso | Lidl-Trek | 3:34 |
| 6 | Paul Seixas | Decathlon CMA CGM Team | 3:55 |
| 7 | Florian Lipowitz | Red Bull-BORA-hansgrohe | 4:00 |
| 8 | Lenny Martinez | Bahrain Victorious | 4:21 |
| 9 | Mattias Skjelmose | Lidl-Trek | 4:57 |
| 10 | Mathias Vacek | Lidl-Trek | 7:10 |
| 11 | Egan Bernal | Netcompany INEOS Cycling Team | 9:12 |
| 12 | Sean Quinn | EF Education-EasyPost | 9:35 |
| 13 | Tobias Halland Johannessen | Uno-X Mobility | 9:42 |
| 14 | Ilan Van Wilder | Soudal Quick-Step | 9:45 |
| 15 | Tom Pidcock | Pinarello-Q36.5 Pro Cycling Team | 9:50 |
| 16 | Davide Piganzoli | Team Visma | Lease a Bike | 10:46 |
| 17 | Lennert Van Eetvelt | Lotto-Intermarché | 10:51 |
| 18 | Jordan Jegat | Team TotalEnergies | 10:56 |
| 19 | Ramses Debruyne | Alpecin-Premier Tech | 11:26 |
| 20 | Yannis Voisard | Tudor Pro Cycling Team | 12:21 |
| 21 | Harold Tejada | XDS Astana Team | 13:06 |
| 22 | Pablo Castrillo | Movistar Team | 13:24 |
| 23 | Sepp Kuss | Team Visma | Lease a Bike | 13:33 |
| 24 | Richard Carapaz | EF Education-EasyPost | 13:35 |
| 25 | Adam Yates | UAE Team Emirates-XRG | 14:31 |
| 26 | Brandon McNulty | UAE Team Emirates-XRG | 18:26 |
| 27 | Thymen Arensman | Netcompany INEOS Cycling Team | 21:17 |
| 28 | Tiesj Benoot | Decathlon CMA CGM Team | 25:06 |
| 29 | Jai Hindley | Red Bull-BORA-hansgrohe | 26:36 |
| 30 | Sergio Higuita | XDS Astana Team | 26:37 |
| 31 | Antonio Tiberi | Bahrain Victorious | 27:03 |
| 32 | José Félix Parra | Caja Rural-Seguros RGA | 30:31 |
| 33 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 31:22 |
| 34 | Matteo Jorgenson | Team Visma | Lease a Bike | 32:28 |
| 35 | Chris Harper | Pinarello-Q36.5 Pro Cycling Team | 32:43 |
| 36 | Nicolas Prodhomme | Decathlon CMA CGM Team | 33:39 |
| 37 | Raúl García | Movistar Team | 35:16 |
| 38 | Carlos Verona | Lidl-Trek | 37:33 |
| 39 | Ion Izagirre | Cofidis | 37:45 |
| 40 | Quinten Hermans | Pinarello-Q36.5 Pro Cycling Team | 38:30 |
| 41 | Kévin Vauquelin | Netcompany INEOS Cycling Team | 40:21 |
| 42 | Alex Baudin | EF Education-EasyPost | 41:54 |
| 43 | Maxim Van Gils | Red Bull-BORA-hansgrohe | 41:57 |
| 44 | Felix Grossschartner | UAE Team Emirates-XRG | 42:19 |
| 45 | Quinn Simmons | Lidl-Trek | 42:33 |
| 46 | Anders Skaarseth | Uno-X Mobility | 48:18 |
| 47 | Abel Balderstone | Caja Rural-Seguros RGA | 51:48 |
| 48 | Derek Gee-West | Lidl-Trek | 53:21 |
| 49 | Ben O'Connor | Team Jayco-AlUla | 54:04 |
| 50 | Valentin Paret-Peintre | Soudal Quick-Step | 54:05 |
| 51 | George Bennett | NSN Cycling Team | 55:49 |
| 52 | Romain Grégoire | Groupama-FDJ United | 56:28 |
| 53 | Javier Romo | Movistar Team | 56:58 |
| 54 | Marc Hirschi | Tudor Pro Cycling Team | 57:31 |
| 55 | Joris Delbove | Team TotalEnergies | 57:52 |
| 56 | Mattia Cattaneo | Red Bull-BORA-hansgrohe | s.t. |
| 57 | Xandro Meurisse | Pinarello-Q36.5 Pro Cycling Team | 1:00:23 |
| 58 | Damiano Caruso | Bahrain Victorious | 1:01:27 |
| 59 | Alexandre Delettre | Team TotalEnergies | 1:02:11 |
| 60 | Mattéo Vercher | Team TotalEnergies | 1:02:19 |
| 61 | Toms Skujins | Lidl-Trek | 1:03:03 |
| 62 | Aurélien Paret-Peintre | Decathlon CMA CGM Team | 1:03:10 |
| 63 | Einer Rubio | Movistar Team | 1:03:39 |
| 64 | Tim Wellens | UAE Team Emirates-XRG | 1:05:06 |
| 65 | Nicolas Breuillard | Team TotalEnergies | 1:05:13 |
| 66 | Georg Zimmermann | Lotto-Intermarché | 1:05:42 |
| 67 | Tobias Foss | Netcompany INEOS Cycling Team | s.t. |
| 68 | Nelson Oliveira | Movistar Team | 1:06:29 |
| 69 | Michael Valgren | EF Education-EasyPost | 1:07:51 |
| 70 | Clément Braz Afonso | Groupama-FDJ United | 1:07:59 |
| 71 | Vlad Van Mechelen | Bahrain Victorious | 1:08:15 |
| 72 | Michael Storer | Tudor Pro Cycling Team | 1:08:29 |
| 73 | Victor Campenaerts | Team Visma | Lease a Bike | 1:08:54 |
| 74 | Kasper Asgreen | EF Education-EasyPost | 1:09:30 |
| 75 | Nils Politt | UAE Team Emirates-XRG | 1:09:31 |
| 76 | Jefferson Cepeda | Movistar Team | 1:09:32 |
| 77 | Mathis Le Berre | Team TotalEnergies | 1:09:39 |
| 78 | Mathieu van der Poel | Alpecin-Premier Tech | 1:10:02 |
| 79 | Lorenzo Germani | Groupama-FDJ United | 1:10:18 |
| 80 | Sebastian Berwick | Caja Rural-Seguros RGA | 1:12:22 |
| 81 | Lars Craps | Lotto-Intermarché | 1:13:08 |
| 82 | Clément Russo | Groupama-FDJ United | 1:13:15 |
| 83 | Matthew Riccitello | Decathlon CMA CGM Team | 1:13:31 |
| 84 | Michael Matthews | Team Jayco-AlUla | 1:13:31 |
| 85 | Nico Denz | Red Bull-BORA-hansgrohe | 1:14:08 |
| 86 | Jasper Stuyven | Soudal Quick-Step | 1:14:16 |
| 87 | Mads Pedersen | Lidl-Trek | 1:15:01 |
| 88 | Frank van den Broek | Team Picnic PostNL | 1:15:08 |
| 89 | Marco Frigo | NSN Cycling Team | 1:15:32 |
| 90 | Alex Aranburu | Cofidis | 1:18:03 |
| 91 | Rick Pluimers | Tudor Pro Cycling Team | 1:18:20 |
| 92 | Magnus Cort | Uno-X Mobility | s.t. |
| 93 | Mauro Schmid | Team Jayco-AlUla | 1:18:38 |
| 94 | Edward Planckaert | Alpecin-Premier Tech | 1:18:49 |
| 95 | Ewen Costiou | Groupama-FDJ United | 1:19:11 |
| 96 | Jenno Berckmoes | Lotto-Intermarché | 1:19:33 |
| 97 | Luke Plapp | Team Jayco-AlUla | 1:19:42 |
| 98 | Brent Van Moer | Pinarello-Q36.5 Pro Cycling Team | 1:19:46 |
| 99 | Joel Nicolau | Caja Rural-Seguros RGA | s.t. |
| 100 | Jonas Abrahamsen | Uno-X Mobility | 1:20:20 |
| 101 | Pascal Eenkhoorn | Soudal Quick-Step | 1:20:34 |
| 102 | Louis Vervaeke | Soudal Quick-Step | 1:20:36 |
| 103 | Quentin Pacher | Groupama-FDJ United | 1:21:00 |
| 104 | Robert Stannard | Bahrain Victorious | 1:21:32 |
| 105 | Damien Howson | Pinarello-Q36.5 Pro Cycling Team | 1:21:40 |
| 106 | Anders Halland Johannessen | Uno-X Mobility | 1:21:47 |
| 107 | Aaron Gate | XDS Astana Team | 1:21:59 |
| 108 | Felix Engelhardt | Team Jayco-AlUla | 1:22:02 |
| 109 | Jonas Rickaert | Alpecin-Premier Tech | 1:23:02 |
| 110 | Georg Steinhauser | EF Education-EasyPost | 1:23:09 |
| 111 | Anthony Turgis | Team TotalEnergies | 1:23:24 |
| 112 | Emiel Verstrynge | Alpecin-Premier Tech | 1:23:26 |
| 113 | Ben Healy | EF Education-EasyPost | 1:23:45 |
| 114 | Simone Velasco | XDS Astana Team | s.t. |
| 115 | Matej Mohoric | Bahrain Victorious | 1:24:18 |
| 116 | Anthon Charmig | Uno-X Mobility | 1:24:27 |
| 117 | Alex Kirsch | Cofidis | 1:24:32 |
| 118 | Thibault Guernalec | Team TotalEnergies | 1:25:00 |
| 119 | Jan Tratnik | Red Bull-BORA-hansgrohe | 1:25:31 |
| 120 | Warren Barguil | Team Picnic PostNL | 1:25:56 |
| 121 | Krists Neilands | NSN Cycling Team | 1:26:13 |
| 122 | Nicolas Vinokurov | XDS Astana Team | 1:26:30 |
| 123 | Luke Durbridge | Team Jayco-AlUla | 1:27:13 |
| 124 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 1:27:24 |
| 125 | Bruno Armirail | Team Visma | Lease a Bike | 1:27:27 |
| 126 | Daan Hoole | Decathlon CMA CGM Team | 1:28:00 |
| 127 | Max Walker | EF Education-EasyPost | 1:28:02 |
| 128 | Michel Hessmann | Movistar Team | 1:28:08 |
| 129 | Benjamin Thomas | Cofidis | 1:28:58 |
| 130 | Julian Alaphilippe | Tudor Pro Cycling Team | 1:29:23 |
| 131 | Mike Teunissen | XDS Astana Team | 1:30:08 |
| 132 | Dylan van Baarle | Soudal Quick-Step | 1:30:13 |
| 133 | Jakub Otruba | Caja Rural-Seguros RGA | 1:32:21 |
| 134 | Max Kanter | XDS Astana Team | 1:32:34 |
| 135 | Biniam Girmay | NSN Cycling Team | 1:32:49 |
| 136 | Silvan Dillier | Alpecin-Premier Tech | 1:33:06 |
| 137 | Michal Kwiatkowski | Netcompany INEOS Cycling Team | 1:33:48 |
| 138 | Stefano Oldani | Caja Rural-Seguros RGA | 1:34:26 |
| 139 | Florian Vermeersch | UAE Team Emirates-XRG | 1:34:59 |
| 140 | Tom Van Asbroeck | NSN Cycling Team | 1:35:36 |
| 141 | Frits Biesterbos | Team Picnic PostNL | 1:36:07 |
| 142 | Robbe Dhondt | Team Picnic PostNL | 1:36:38 |
| 143 | Søren Wærenskjold | Uno-X Mobility | 1:36:43 |
| 144 | Jasper Philipsen | Alpecin-Premier Tech | 1:38:03 |
| 145 | Tim van Dijke | Red Bull-BORA-hansgrohe | 1:38:15 |
| 146 | Hugo Page | Cofidis | 1:38:19 |
| 147 | Jenthe Biermans | Cofidis | 1:38:56 |
| 148 | Niklas Märkl | Team Picnic PostNL | 1:39:03 |
| 149 | Tim Marsman | Alpecin-Premier Tech | 1:40:04 |
| 150 | Per Strand Hagenes | Team Visma | Lease a Bike | 1:40:08 |
| 151 | Fred Wright | Pinarello-Q36.5 Pro Cycling Team | 1:40:51 |
| 152 | Edoardo Affini | Team Visma | Lease a Bike | 1:41:07 |
| 153 | Matteo Trentin | Tudor Pro Cycling Team | 1:42:20 |
| 154 | Dorian Godon | Netcompany INEOS Cycling Team | 1:43:30 |
| 155 | Pavel Bittner | Team Picnic PostNL | 1:44:25 |
| 156 | Baptiste Veistroffer | Lotto-Intermarché | 1:44:32 |
| 157 | Julius van den Berg | Team Picnic PostNL | 1:45:02 |
| 158 | Milan Fretin | Cofidis | 1:46:05 |
| 159 | Jake Stewart | NSN Cycling Team | 1:46:06 |
| 160 | John Degenkolb | Team Picnic PostNL | 1:46:35 |
| 161 | Pascal Ackermann | Team Jayco-AlUla | 1:47:07 |
| 162 | Huub Artz | Lotto-Intermarché | 1:47:18 |
| 163 | Fernando Gaviria | Caja Rural-Seguros RGA | 1:48:41 |
| 164 | Tim Merlier | Soudal Quick-Step | 1:49:11 |
| 165 | Filippo Ganna | Netcompany INEOS Cycling Team | 1:49:20 |
| 166 | Phil Bauhaus | Bahrain Victorious | 1:49:36 |
| 167 | Davide Ballerini | XDS Astana Team | 1:49:41 |
| 168 | Joshua Tarling | Netcompany INEOS Cycling Team | 1:49:55 |
| 169 | Lewis Askey | NSN Cycling Team | 1:50:31 |
| 170 | Olav Kooij | Decathlon CMA CGM Team | 1:51:17 |
| 171 | Piet Allegaert | Cofidis | 1:51:59 |
| 172 | Cees Bol | Decathlon CMA CGM Team | 1:52:00 |
| 173 | Liam Slock | Lotto-Intermarché | 1:52:47 |
| 174 | Kamil Gradek | Bahrain Victorious | 1:52:49 |
| 175 | Matis Louvel | NSN Cycling Team | 1:55:20 |
| 176 | Marco Haller | Tudor Pro Cycling Team | 1:58:03 |
Stage 7 map & profile:

Stage 7 map

Stage 7 profile
Stage 7 photos by Fotoreporter Sirotti:

Julian Alaphilippe before the stage start.

Biniam Girmay heads to the start.

Marco Frigo

Fernando Gaviria

Team Movistar looks ready to race.

The race approaches the finish line. Llooks like Tim Merlier has this one won.

Tim Merlier wins stage seven.

Mads Pedersen is the points classification leader.

Stage winner Tim Merlier

Tadej Pogacar will start stage eight in yellow.