Stage 14
23 May 2026
GC · Jonas Vingegaard HansenPoints · Jhonatan NarvaezMountains · Jonas Vingegaard HansenYouth · Afonso Eulálio
Stage result
- 1
Jonas Vingegaard HansenTeam Visma | Lease A Bike3:53:01 - 2
Felix GallDecathlon CMA CGM Team+0:49 - 3
Jai HindleyRed Bull - Bora - Hansgrohe+0:58 - 4DPDavide PiganzoliTeam Visma | Lease A Bike+1:03
- 5
Giulio PellizzariRed Bull - Bora - Hansgrohe+1:03 - 6
Thymen ArensmanNetcompany INEOS+1:23 - 7
Michael StorerTudor Pro Cycling Team+1:35 - 8WPWouter PoelsUnibet Rose Rockets+2:08
- 9
Jan HirtNSN Cycling Team+2:08
- 10
Egan Arley Bernal GomezNetcompany INEOS+2:08 - 11
Einer Augusto Rubio ReyesMovistar Team+2:08 - 12
Derek GeeLidl - Trek+2:24 - 13
Mathys RondelTudor Pro Cycling Team+2:30 - 14
Sepp KussTeam Visma | Lease A Bike+2:46 - 15
Afonso EulálioBahrain Victorious+2:49 - 16
Ben O'connorTeam Jayco AlUla+2:55
- 17
Damiano CarusoBahrain Victorious+2:55 - 18
Gregor MühlbergerDecathlon CMA CGM Team+2:55
- 19
David De La Cruz MelgarejoPinarello-Q36.5 Pro Cycling Team+2:55 - 20
Aleksandr VlasovRed Bull - Bora - Hansgrohe+3:45 - 21CHChristopher HarperPinarello-Q36.5 Pro Cycling Team+4:06
- 22
Johannes KulsetUno-X Mobility+4:42 - 23
Igor Arrieta LizarragaUAE Team Emirates XRG+5:26 - 24
Giulio CicconeLidl - Trek+6:17 - 25
Enric Mas NicolauMovistar Team+6:17 - 26
Markel Beloki FernandezEF Education - EasyPost+7:36 - 27
Gianmarco GarofoliSoudal Quick-Step+7:36 - 28
Koen BouwmanTeam Jayco AlUla+7:51 - 29
Giovanni AleottiRed Bull - Bora - Hansgrohe+11:38 - 30
Embret Svestad-BårdsengNetcompany INEOS+14:11 - 31
Johannes Staune-MittetDecathlon CMA CGM Team+14:11
- 32
Callum ScotsonDecathlon CMA CGM Team+14:11 - 33
Juan Pedro Lopez PerezMovistar Team+14:11 - 34LCLudovico CrescioliTeam Polti VisitMalta+14:11
- 35
Bart LemmenTeam Visma | Lease A Bike+15:36 - 36
Victor CampenaertsTeam Visma | Lease A Bike+15:36 - 37
Ben ZwiehoffRed Bull - Bora - Hansgrohe+16:24 - 38
Florian StorkTudor Pro Cycling Team+16:24 - 39SGSimone GualdiLotto Intermarché+16:24
- 40
Jack HaigNetcompany INEOS+16:24 - 41
Mark DonovanPinarello-Q36.5 Pro Cycling Team+16:24 - 42
Lorenzo RotaLotto Intermarché+26:29 - 43
Edoardo ZambaniniBahrain Victorious+26:29 - 44
Magnus SheffieldNetcompany INEOS+26:29 - 45
Nelson OliveiraMovistar Team+26:29 - 46
Connor SwiftNetcompany INEOS+26:29 - 47
Lawrence WarbasseTudor Pro Cycling Team+26:29
- 48
Michael ValgrenEF Education - EasyPost+26:29 - 49WBWilliam BartaTudor Pro Cycling Team+26:29
- 50
Christopher JensenTeam Jayco AlUla+26:29 - 51
Jhonatan NarvaezUAE Team Emirates XRG+26:29 - 52
Matteo SobreroLidl - Trek+26:29 - 53
Amanuel GhebreigzabhierLidl - Trek+26:29 - 54
Nickolas ZukowskyPinarello-Q36.5 Pro Cycling Team+26:54
- 55
Diego UlissiXDS Astana Team+27:17 - 56
Alberto BettiolXDS Astana Team+27:17 - 57
James ShawEF Education - EasyPost+27:17 - 58
Brieuc RollandGroupama-FDJ United+27:17 - 59
Jonas RutschLotto Intermarché+29:40 - 60
Mathijs PaasschensBahrain Victorious+29:40 - 61
Tobias BayerAlpecin-Premier Tech+29:40 - 62
Alan HatherlyTeam Jayco AlUla+29:40 - 63
Lorenzo MilesiMovistar Team+29:51 - 64
Chris HamiltonTeam Picnic PostNL+30:00 - 65
Fran MiholjevićBahrain Victorious+31:12 - 66TRTim RexTeam Visma | Lease A Bike+31:17
- 67
Johan JacobsGroupama-FDJ United+31:17 - 68
Andreas LeknessundUno-X Mobility+32:46 - 69
Mick Van DijkeRed Bull - Bora - Hansgrohe+33:49 - 70
Gianni MosconRed Bull - Bora - Hansgrohe+33:49
- 71
Jardi Christiaan Van Der LeeEF Education - EasyPost+33:49 - 72
Darren RaffertyEF Education - EasyPost+33:49 - 73
Luca VergallitoAlpecin-Premier Tech+33:49 - 74
Warren BarguilTeam Picnic PostNL+33:55 - 75
Alec SegaertBelgium+35:32 - 76
Corbin John StrongNSN Cycling Team+35:55 - 77JKJoshua KenchGroupama-FDJ United+35:55
- 78NSNicholas SchultzNSN Cycling Team+35:55
- 79
Robert StannardBahrain Victorious+35:55 - 80
Fredrik DversnesUno-X Mobility+37:10
- 81
Rasmus PedersenDecathlon CMA CGM Team+38:30 - 82
Johan Price PejtersenAlpecin-Premier Tech+38:30 - 83TPThomas PesentiTeam Polti VisitMalta+38:30
- 84
Alessandro TonelliTeam Polti VisitMalta+38:30 - 85DGDavid Gonzalez LopezPinarello-Q36.5 Pro Cycling Team+38:30
- 86
Markus HoelgaardUno-X Mobility+38:30
- 87
Harold Martin Lopez GranizoXDS Astana Team+38:30 - 88
Guillermo Thomas Silva CoussanXDS Astana Team+38:30 - 89
Ivan Garcia CortinaMovistar Team+38:30
- 90APAlessandro PinarelloNSN Cycling Team+38:30
- 91
Diego Pablo Sevilla LopezTeam Polti VisitMalta+38:30
- 92
Orluis Alberto Aular SanabriaMovistar Team+38:30 - 93
Jefferson CepedaEF Education - EasyPost+38:30 - 94
Jasper StuyvenSoudal Quick-Step+39:38 - 95
Oliver NaesenDecathlon CMA CGM Team+39:38 - 96
Ben TurnerNetcompany INEOS+39:38 - 97
Jan ChristenUAE Team Emirates XRG+39:38 - 98
Filippo GannaNetcompany INEOS+39:38 - 99
António Tomas MorgadoUAE Team Emirates XRG+39:38 - 100
Martin MarcellusiBardiani Csf 7 Saber+39:38 - 101
Toon AertsLotto Intermarché+39:38 - 102
Timo KielichTeam Visma | Lease A Bike+40:22 - 103
Jonas GeensAlpecin-Premier Tech+40:22 - 104FTFilippo TurconiBardiani Csf 7 Saber+40:22
- 105
Nikita TsvetkovBardiani Csf 7 Saber+40:22 - 106LPLuca PalettiBardiani Csf 7 Saber+40:22
- 107
Cyril BartheGroupama-FDJ United+40:22 - 108
Mattia BaisTeam Polti VisitMalta+40:22 - 109
Mirco MaestriTeam Polti VisitMalta+40:22 - 110
Francesco BusattoAlpecin-Premier Tech+40:22 - 111
Madis MihkelsEF Education - EasyPost+40:22 - 112
Gijs LeemreizeTeam Picnic PostNL+40:22 - 113
Filippo ZanaSoudal Quick-Step+40:22 - 114
Andrea Raccagni NovieroSoudal Quick-Step+40:31 - 115
Rémi CavagnaGroupama-FDJ United+40:44 - 116
Axel HuensGroupama-FDJ United+40:49 - 117
Giovanni LonardiTeam Polti VisitMalta+40:58 - 118
Vicente Rojas NaranjoBardiani Csf 7 Saber+41:47 - 119
Rémy RochasGroupama-FDJ United+41:47 - 120
Paul PenhoetGroupama-FDJ United+41:47
- 121
Andréa MifsudTeam Polti VisitMalta+41:50 - 122
Jonathan MilanLidl - Trek+42:59 - 123RDRobert DonaldsonTeam Jayco AlUla+43:34
- 124
Jensen PlowrightAlpecin-Premier Tech+43:34 - 125
Hartthijs De VriesUnibet Rose Rockets+43:41
- 126
Enrico ZanoncelloBardiani Csf 7 Saber+43:52
- 127
Manuele TarozziBardiani Csf 7 Saber+43:52 - 128
Pascal AckermannTeam Jayco AlUla+43:57 - 129
Ryan MullenNSN Cycling Team+44:01 - 130
Dion Allan SmithNSN Cycling Team+44:01 - 131
Ethan VernonNSN Cycling Team+44:03 - 132MRMaximilian Richard WalscheidLidl - Trek+44:03
- 133
Frank Van Den BroekTeam Picnic PostNL+44:03 - 134
Sean FlynnTeam Picnic PostNL+44:03 - 135
Tim Torn TeutenbergLidl - Trek+44:03 - 136
Tim NabermanTeam Picnic PostNL+44:09 - 137
Casper Cornelis Van UdenTeam Picnic PostNL+44:09 - 138
Fabian LienhardTudor Pro Cycling Team+44:09
- 139
Robin FroidevauxTudor Pro Cycling Team+44:09 - 140
Arjen LivynsXDS Astana Team+44:09
- 141
Nico DenzRed Bull - Bora - Hansgrohe+44:09 - 142
Dries Van GestelSoudal Quick-Step+44:09 - 143
Paul MagnierSoudal Quick-Step+44:09 - 144
Tomas KopeckýUnibet Rose Rockets+44:09 - 145
Matyáš KopeckýUnibet Rose Rockets+44:09 - 146
Fabio Van Den BosscheSoudal Quick-Step+44:09 - 147
Mikkel Norsgaard BjergUAE Team Emirates XRG+44:09 - 148
Ayco BastiaensSoudal Quick-Step+44:09 - 149
Niklas LarsenUnibet Rose Rockets+44:09 - 150
Tord GudmestadDecathlon CMA CGM Team+44:39 - 151
Sakarias Koller LølandUno-X Mobility+44:39 - 152
Simone ConsonniLidl - Trek+44:39 - 153
Luca MozzatoTudor Pro Cycling Team+44:39 - 154
Filippo MagliBardiani Csf 7 Saber+45:03
- 155
Matteo MalucelliXDS Astana Team+45:14 - 156
Elmar ReindersUnibet Rose Rockets+45:27
- 157
Lukáš KubišUnibet Rose Rockets+45:27 - 158
Dylan GroenewegenUnibet Rose Rockets+45:27 - 159
Tobias Lund AndresenDecathlon CMA CGM Team+45:27 - DNF
Christian ScaroniXDS Astana TeamDNF
General classification
- 1
Jonas Vingegaard HansenTeam Visma | Lease A Bike56:08:41 - 2
Afonso EulálioBahrain Victorious+2:26 - 3
Felix GallDecathlon CMA CGM Team+2:50 - 4
Thymen ArensmanNetcompany INEOS+3:03 - 5
Jai HindleyRed Bull - Bora - Hansgrohe+3:43 - 6
Giulio PellizzariRed Bull - Bora - Hansgrohe+4:22 - 7
Michael StorerTudor Pro Cycling Team+4:46 - 8
Ben O'connorTeam Jayco AlUla+5:22
- 9
Derek GeeLidl - Trek+5:41 - 10DPDavide PiganzoliTeam Visma | Lease A Bike+6:13
- 11
Mathys RondelTudor Pro Cycling Team+6:58 - 12
Egan Arley Bernal GomezNetcompany INEOS+7:30 - 13CHChristopher HarperPinarello-Q36.5 Pro Cycling Team+7:58
- 14
Damiano CarusoBahrain Victorious+8:49 - 15
David De La Cruz MelgarejoPinarello-Q36.5 Pro Cycling Team+9:09 - 16
Jan HirtNSN Cycling Team+9:34
- 17
Sepp KussTeam Visma | Lease A Bike+11:22 - 18
Markel Beloki FernandezEF Education - EasyPost+11:33 - 19
Gregor MühlbergerDecathlon CMA CGM Team+12:56
- 20
Igor Arrieta LizarragaUAE Team Emirates XRG+14:17 - 21
Johannes KulsetUno-X Mobility+14:25 - 22
Giulio CicconeLidl - Trek+24:10 - 23
Enric Mas NicolauMovistar Team+29:16 - 24
Giovanni AleottiRed Bull - Bora - Hansgrohe+31:46 - 25
Aleksandr VlasovRed Bull - Bora - Hansgrohe+32:31 - 26WPWouter PoelsUnibet Rose Rockets+39:58
- 27JKJoshua KenchGroupama-FDJ United+43:56
- 28LCLudovico CrescioliTeam Polti VisitMalta+45:01
- 29
Harold Martin Lopez GranizoXDS Astana Team+47:56 - 30
Gianmarco GarofoliSoudal Quick-Step+48:53 - 31
Einer Augusto Rubio ReyesMovistar Team+49:12 - 32
Embret Svestad-BårdsengNetcompany INEOS+49:23 - 33
Koen BouwmanTeam Jayco AlUla+50:50 - 34
Juan Pedro Lopez PerezMovistar Team+54:45 - 35
Callum ScotsonDecathlon CMA CGM Team+55:55 - 36
Mark DonovanPinarello-Q36.5 Pro Cycling Team+57:20 - 37
Alan HatherlyTeam Jayco AlUla+1:01:17 - 38
Ben ZwiehoffRed Bull - Bora - Hansgrohe+1:03:41 - 39WBWilliam BartaTudor Pro Cycling Team+1:04:56
- 40
Diego UlissiXDS Astana Team+1:07:26 - 41
Jhonatan NarvaezUAE Team Emirates XRG+1:09:21 - 42
Johannes Staune-MittetDecathlon CMA CGM Team+1:11:41
- 43
Jack HaigNetcompany INEOS+1:12:08 - 44
Bart LemmenTeam Visma | Lease A Bike+1:12:27 - 45
Nickolas ZukowskyPinarello-Q36.5 Pro Cycling Team+1:13:14
- 46
Andreas LeknessundUno-X Mobility+1:16:12 - 47
Victor CampenaertsTeam Visma | Lease A Bike+1:17:17 - 48SGSimone GualdiLotto Intermarché+1:18:56
- 49
Florian StorkTudor Pro Cycling Team+1:20:55 - 50
Magnus SheffieldNetcompany INEOS+1:22:42 - 51
Edoardo ZambaniniBahrain Victorious+1:27:15 - 52
Lorenzo MilesiMovistar Team+1:27:24 - 53
Alessandro TonelliTeam Polti VisitMalta+1:28:17 - 54
Lawrence WarbasseTudor Pro Cycling Team+1:28:32
- 55
Jefferson CepedaEF Education - EasyPost+1:29:18 - 56
Jan ChristenUAE Team Emirates XRG+1:29:50 - 57
Brieuc RollandGroupama-FDJ United+1:35:12 - 58
Filippo ZanaSoudal Quick-Step+1:36:50 - 59
Andrea Raccagni NovieroSoudal Quick-Step+1:40:42 - 60
Michael ValgrenEF Education - EasyPost+1:44:54 - 61
Rémy RochasGroupama-FDJ United+1:46:18 - 62
Matteo SobreroLidl - Trek+1:48:24 - 63
Alberto BettiolXDS Astana Team+1:51:23 - 64NSNicholas SchultzNSN Cycling Team+1:52:28
- 65
Nelson OliveiraMovistar Team+1:54:27 - 66
Jasper StuyvenSoudal Quick-Step+1:56:11 - 67
Toon AertsLotto Intermarché+1:57:00 - 68
Warren BarguilTeam Picnic PostNL+2:00:10 - 69
Guillermo Thomas Silva CoussanXDS Astana Team+2:02:31 - 70
Ben TurnerNetcompany INEOS+2:03:13 - 71TPThomas PesentiTeam Polti VisitMalta+2:03:42
- 72
Francesco BusattoAlpecin-Premier Tech+2:05:42 - 73
Alec SegaertBelgium+2:07:11 - 74APAlessandro PinarelloNSN Cycling Team+2:07:38
- 75
Lorenzo RotaLotto Intermarché+2:11:25 - 76
Andréa MifsudTeam Polti VisitMalta+2:14:37 - 77
Corbin John StrongNSN Cycling Team+2:16:51 - 78
Gianni MosconRed Bull - Bora - Hansgrohe+2:17:43
- 79
Markus HoelgaardUno-X Mobility+2:19:20
- 80
Gijs LeemreizeTeam Picnic PostNL+2:19:54 - 81
Johan JacobsGroupama-FDJ United+2:20:17 - 82
Tobias BayerAlpecin-Premier Tech+2:21:57 - 83
Orluis Alberto Aular SanabriaMovistar Team+2:22:40 - 84
Mick Van DijkeRed Bull - Bora - Hansgrohe+2:23:44 - 85LPLuca PalettiBardiani Csf 7 Saber+2:25:31
- 86
Manuele TarozziBardiani Csf 7 Saber+2:25:52 - 87
Christopher JensenTeam Jayco AlUla+2:26:05 - 88
Mikkel Norsgaard BjergUAE Team Emirates XRG+2:26:31 - 89FTFilippo TurconiBardiani Csf 7 Saber+2:26:36
- 90
Mathijs PaasschensBahrain Victorious+2:28:11 - 91TRTim RexTeam Visma | Lease A Bike+2:28:21
- 92
Connor SwiftNetcompany INEOS+2:28:35 - 93
Axel HuensGroupama-FDJ United+2:29:02 - 94
Mattia BaisTeam Polti VisitMalta+2:29:48 - 95
Filippo GannaNetcompany INEOS+2:30:09 - 96
Diego Pablo Sevilla LopezTeam Polti VisitMalta+2:30:30
- 97
Amanuel GhebreigzabhierLidl - Trek+2:31:27 - 98
Nikita TsvetkovBardiani Csf 7 Saber+2:32:07 - 99
Mirco MaestriTeam Polti VisitMalta+2:32:45 - 100
Darren RaffertyEF Education - EasyPost+2:32:58 - 101
Vicente Rojas NaranjoBardiani Csf 7 Saber+2:34:27 - 102
Jardi Christiaan Van Der LeeEF Education - EasyPost+2:34:27 - 103
James ShawEF Education - EasyPost+2:34:40 - 104DGDavid Gonzalez LopezPinarello-Q36.5 Pro Cycling Team+2:39:29
- 105
Fabio Van Den BosscheSoudal Quick-Step+2:40:22 - 106
Chris HamiltonTeam Picnic PostNL+2:41:30 - 107
Rémi CavagnaGroupama-FDJ United+2:41:45 - 108
Fredrik DversnesUno-X Mobility+2:43:10
- 109
Oliver NaesenDecathlon CMA CGM Team+2:43:11 - 110
Robert StannardBahrain Victorious+2:44:53 - 111
Jonas RutschLotto Intermarché+2:45:20 - 112
Madis MihkelsEF Education - EasyPost+2:46:17 - 113
Cyril BartheGroupama-FDJ United+2:47:31 - 114
Jonas GeensAlpecin-Premier Tech+2:47:40 - 115
Paul MagnierSoudal Quick-Step+2:48:54 - 116
Luca VergallitoAlpecin-Premier Tech+2:48:58 - 117
Fran MiholjevićBahrain Victorious+2:49:56 - 118
Filippo MagliBardiani Csf 7 Saber+2:53:27
- 119
Ethan VernonNSN Cycling Team+2:54:36 - 120
Ivan Garcia CortinaMovistar Team+2:55:55
- 121
Martin MarcellusiBardiani Csf 7 Saber+2:57:25 - 122
Pascal AckermannTeam Jayco AlUla+2:57:48 - 123
Rasmus PedersenDecathlon CMA CGM Team+2:59:46 - 124
Timo KielichTeam Visma | Lease A Bike+3:01:14 - 125RDRobert DonaldsonTeam Jayco AlUla+3:03:51
- 126
Sakarias Koller LølandUno-X Mobility+3:05:34 - 127
Niklas LarsenUnibet Rose Rockets+3:05:45 - 128
Tobias Lund AndresenDecathlon CMA CGM Team+3:08:38 - 129
António Tomas MorgadoUAE Team Emirates XRG+3:11:27 - 130
Nico DenzRed Bull - Bora - Hansgrohe+3:11:39 - 131
Casper Cornelis Van UdenTeam Picnic PostNL+3:14:42 - 132
Jonathan MilanLidl - Trek+3:14:56 - 133
Paul PenhoetGroupama-FDJ United+3:15:01
- 134
Jensen PlowrightAlpecin-Premier Tech+3:15:55 - 135
Ayco BastiaensSoudal Quick-Step+3:16:03 - 136
Tim NabermanTeam Picnic PostNL+3:20:35 - 137
Tim Torn TeutenbergLidl - Trek+3:21:39 - 138
Dion Allan SmithNSN Cycling Team+3:21:52 - 139
Dries Van GestelSoudal Quick-Step+3:23:20 - 140
Lukáš KubišUnibet Rose Rockets+3:24:05 - 141
Tord GudmestadDecathlon CMA CGM Team+3:26:21 - 142
Ryan MullenNSN Cycling Team+3:27:50 - 143
Matyáš KopeckýUnibet Rose Rockets+3:29:28 - 144
Enrico ZanoncelloBardiani Csf 7 Saber+3:30:45
- 145MRMaximilian Richard WalscheidLidl - Trek+3:31:29
- 146
Giovanni LonardiTeam Polti VisitMalta+3:31:33 - 147
Johan Price PejtersenAlpecin-Premier Tech+3:31:48 - 148
Tomas KopeckýUnibet Rose Rockets+3:32:04 - 149
Hartthijs De VriesUnibet Rose Rockets+3:32:43
- 150
Elmar ReindersUnibet Rose Rockets+3:33:50
- 151
Dylan GroenewegenUnibet Rose Rockets+3:35:30 - 152
Simone ConsonniLidl - Trek+3:36:30 - 153
Sean FlynnTeam Picnic PostNL+3:36:44 - 154
Fabian LienhardTudor Pro Cycling Team+3:37:18
- 155
Robin FroidevauxTudor Pro Cycling Team+3:38:25 - 156
Arjen LivynsXDS Astana Team+3:40:02
- 157
Luca MozzatoTudor Pro Cycling Team+3:40:16 - 158
Matteo MalucelliXDS Astana Team+3:48:26 - 159
Frank Van Den BroekTeam Picnic PostNL+3:49:40
Points classification
- 1
Jhonatan NarvaezUAE Team Emirates XRG131 - 2
Paul MagnierSoudal Quick-Step130 - 3
Jonathan MilanLidl - Trek76 - 4
Jasper StuyvenSoudal Quick-Step71 - 5
Guillermo Thomas Silva CoussanXDS Astana Team70 - 6
Alec SegaertBelgium62 - 7
Manuele TarozziBardiani Csf 7 Saber60 - 8
Andreas LeknessundUno-X Mobility60 - 9
Diego Pablo Sevilla LopezTeam Polti VisitMalta49
- 10
Orluis Alberto Aular SanabriaMovistar Team47 - 11
Jonas Vingegaard HansenTeam Visma | Lease A Bike45 - 12
Ethan VernonNSN Cycling Team43 - 13
Madis MihkelsEF Education - EasyPost42 - 14
Tobias Lund AndresenDecathlon CMA CGM Team42 - 15
Giulio CicconeLidl - Trek41 - 16
Afonso EulálioBahrain Victorious39 - 17
Mattia BaisTeam Polti VisitMalta36 - 18
Felix GallDecathlon CMA CGM Team36 - 19
Toon AertsLotto Intermarché36 - 20
Igor Arrieta LizarragaUAE Team Emirates XRG35 - 21
Ben TurnerNetcompany INEOS32 - 22
Alberto BettiolXDS Astana Team25 - 23
Thymen ArensmanNetcompany INEOS25 - 24
Dylan GroenewegenUnibet Rose Rockets25 - 25
Diego UlissiXDS Astana Team24 - 26
Jai HindleyRed Bull - Bora - Hansgrohe23 - 27
Florian StorkTudor Pro Cycling Team23 - 28
Gianmarco GarofoliSoudal Quick-Step21 - 29
Pascal AckermannTeam Jayco AlUla20 - 30
Giulio PellizzariRed Bull - Bora - Hansgrohe19 - 31
Enric Mas NicolauMovistar Team18 - 32
Jensen PlowrightAlpecin-Premier Tech18 - 33
Lorenzo MilesiMovistar Team17 - 34DPDavide PiganzoliTeam Visma | Lease A Bike16
- 35
Filippo GannaNetcompany INEOS15 - 36
Francesco BusattoAlpecin-Premier Tech15 - 37MRMaximilian Richard WalscheidLidl - Trek15
- 38
Derek GeeLidl - Trek14 - 39
Michael ValgrenEF Education - EasyPost14 - 40APAlessandro PinarelloNSN Cycling Team14
- 41
Filippo MagliBardiani Csf 7 Saber14
- 42
Enrico ZanoncelloBardiani Csf 7 Saber14
- 43
Giovanni LonardiTeam Polti VisitMalta14 - 44
Matteo MalucelliXDS Astana Team14 - 45CHChristopher HarperPinarello-Q36.5 Pro Cycling Team13
- 46
Jonas GeensAlpecin-Premier Tech13 - 47
Martin MarcellusiBardiani Csf 7 Saber13 - 48
Mikkel Norsgaard BjergUAE Team Emirates XRG12 - 49
Mathys RondelTudor Pro Cycling Team10 - 50
Andrea Raccagni NovieroSoudal Quick-Step10 - 51
Warren BarguilTeam Picnic PostNL10 - 52
Luca MozzatoTudor Pro Cycling Team10 - 53
Mark DonovanPinarello-Q36.5 Pro Cycling Team9 - 54
Mirco MaestriTeam Polti VisitMalta9 - 55
Jardi Christiaan Van Der LeeEF Education - EasyPost9 - 56DGDavid Gonzalez LopezPinarello-Q36.5 Pro Cycling Team9
- 57
Rémi CavagnaGroupama-FDJ United9 - 58
Niklas LarsenUnibet Rose Rockets9 - 59
Tord GudmestadDecathlon CMA CGM Team8 - 60
Michael StorerTudor Pro Cycling Team7 - 61
Edoardo ZambaniniBahrain Victorious7 - 62
Matteo SobreroLidl - Trek7 - 63
Ben O'connorTeam Jayco AlUla6
- 64
Aleksandr VlasovRed Bull - Bora - Hansgrohe6 - 65
Sakarias Koller LølandUno-X Mobility6 - 66
Casper Cornelis Van UdenTeam Picnic PostNL6 - 67
Dries Van GestelSoudal Quick-Step6 - 68
Markel Beloki FernandezEF Education - EasyPost5 - 69WPWouter PoelsUnibet Rose Rockets5
- 70JKJoshua KenchGroupama-FDJ United5
- 71LCLudovico CrescioliTeam Polti VisitMalta5
- 72
Alessandro TonelliTeam Polti VisitMalta5 - 73
Paul PenhoetGroupama-FDJ United5
- 74
Tim NabermanTeam Picnic PostNL5 - 75
Koen BouwmanTeam Jayco AlUla4 - 76
Corbin John StrongNSN Cycling Team4 - 77
Johan Price PejtersenAlpecin-Premier Tech4 - 78
Robin FroidevauxTudor Pro Cycling Team4 - 79
Sepp KussTeam Visma | Lease A Bike3 - 80
Johannes KulsetUno-X Mobility3 - 81
Juan Pedro Lopez PerezMovistar Team3 - 82
Nickolas ZukowskyPinarello-Q36.5 Pro Cycling Team3
- 83SGSimone GualdiLotto Intermarché3
- 84
Lawrence WarbasseTudor Pro Cycling Team3
- 85
Jan ChristenUAE Team Emirates XRG3 - 86
Fredrik DversnesUno-X Mobility3
- 87
Oliver NaesenDecathlon CMA CGM Team3 - 88
Luca VergallitoAlpecin-Premier Tech3 - 89
Jan HirtNSN Cycling Team2
- 90
Markus HoelgaardUno-X Mobility2
- 91
Mick Van DijkeRed Bull - Bora - Hansgrohe2 - 92
Robert StannardBahrain Victorious2 - 93
Ivan Garcia CortinaMovistar Team2
- 94
Egan Arley Bernal GomezNetcompany INEOS1 - 95
Damiano CarusoBahrain Victorious1 - 96
David De La Cruz MelgarejoPinarello-Q36.5 Pro Cycling Team1 - 97
Andréa MifsudTeam Polti VisitMalta1 - 98
Johan JacobsGroupama-FDJ United1 - 99
Darren RaffertyEF Education - EasyPost1 - 100
Ayco BastiaensSoudal Quick-Step1 - 101
Sean FlynnTeam Picnic PostNL1
Mountains classification
- 1
Jonas Vingegaard HansenTeam Visma | Lease A Bike161 - 2
Jardi Christiaan Van Der LeeEF Education - EasyPost77 - 3
Giulio CicconeLidl - Trek75 - 4
Felix GallDecathlon CMA CGM Team72 - 5
Diego Pablo Sevilla LopezTeam Polti VisitMalta63
- 6
Einer Augusto Rubio ReyesMovistar Team53 - 7
Igor Arrieta LizarragaUAE Team Emirates XRG51 - 8
Jai HindleyRed Bull - Bora - Hansgrohe32 - 9
Mattia BaisTeam Polti VisitMalta30 - 10DPDavide PiganzoliTeam Visma | Lease A Bike25
- 11
Enric Mas NicolauMovistar Team23 - 12
Giulio PellizzariRed Bull - Bora - Hansgrohe19 - 13
Nelson OliveiraMovistar Team18 - 14
Jan ChristenUAE Team Emirates XRG18 - 15
Jhonatan NarvaezUAE Team Emirates XRG17 - 16
Afonso EulálioBahrain Victorious16 - 17
Manuele TarozziBardiani Csf 7 Saber14 - 18
Thymen ArensmanNetcompany INEOS13 - 19
Mikkel Norsgaard BjergUAE Team Emirates XRG12 - 20
Andreas LeknessundUno-X Mobility12 - 21CHChristopher HarperPinarello-Q36.5 Pro Cycling Team9
- 22
Alberto BettiolXDS Astana Team9 - 23
Aleksandr VlasovRed Bull - Bora - Hansgrohe9 - 24
Mirco MaestriTeam Polti VisitMalta9 - 25LCLudovico CrescioliTeam Polti VisitMalta8
- 26
Gianmarco GarofoliSoudal Quick-Step8 - 27
Nickolas ZukowskyPinarello-Q36.5 Pro Cycling Team8
- 28
Guillermo Thomas Silva CoussanXDS Astana Team8 - 29
Orluis Alberto Aular SanabriaMovistar Team8 - 30
Mathys RondelTudor Pro Cycling Team7 - 31
Lorenzo MilesiMovistar Team7 - 32
Ben O'connorTeam Jayco AlUla6
- 33
David De La Cruz MelgarejoPinarello-Q36.5 Pro Cycling Team6 - 34
Mark DonovanPinarello-Q36.5 Pro Cycling Team6 - 35
Alessandro TonelliTeam Polti VisitMalta6 - 36
Derek GeeLidl - Trek5 - 37
Jefferson CepedaEF Education - EasyPost4 - 38
Jonas GeensAlpecin-Premier Tech4 - 39
Tim NabermanTeam Picnic PostNL4 - 40
Diego UlissiXDS Astana Team3 - 41
Michael StorerTudor Pro Cycling Team2 - 42
Johannes KulsetUno-X Mobility2 - 43JKJoshua KenchGroupama-FDJ United2
- 44
Victor CampenaertsTeam Visma | Lease A Bike2 - 45
Johan JacobsGroupama-FDJ United2 - 46TRTim RexTeam Visma | Lease A Bike2
- 47
Fredrik DversnesUno-X Mobility2
- 48
Timo KielichTeam Visma | Lease A Bike2 - 49
Ryan MullenNSN Cycling Team2 - 50
Hartthijs De VriesUnibet Rose Rockets2
- 51
Jan HirtNSN Cycling Team1
- 52
Sepp KussTeam Visma | Lease A Bike1 - 53WPWouter PoelsUnibet Rose Rockets1
- 54
Ben ZwiehoffRed Bull - Bora - Hansgrohe1 - 55
Filippo ZanaSoudal Quick-Step1 - 56
Michael ValgrenEF Education - EasyPost1 - 57NSNicholas SchultzNSN Cycling Team1
- 58
Christopher JensenTeam Jayco AlUla1 - 59
Mathijs PaasschensBahrain Victorious1 - 60
Fran MiholjevićBahrain Victorious1 - 61
Martin MarcellusiBardiani Csf 7 Saber1 - 62
Niklas LarsenUnibet Rose Rockets1 - 63
Nico DenzRed Bull - Bora - Hansgrohe1 - 64
Ayco BastiaensSoudal Quick-Step1
Youth classification
- 1
Afonso EulálioBahrain Victorious56:11:07 - 2
Giulio PellizzariRed Bull - Bora - Hansgrohe+1:56 - 3DPDavide PiganzoliTeam Visma | Lease A Bike+3:47
- 4
Mathys RondelTudor Pro Cycling Team+4:32 - 5
Markel Beloki FernandezEF Education - EasyPost+9:07 - 6
Igor Arrieta LizarragaUAE Team Emirates XRG+11:51 - 7
Johannes KulsetUno-X Mobility+11:59 - 8JKJoshua KenchGroupama-FDJ United+41:30
- 9LCLudovico CrescioliTeam Polti VisitMalta+42:35
- 10
Gianmarco GarofoliSoudal Quick-Step+46:27 - 11
Embret Svestad-BårdsengNetcompany INEOS+46:57 - 12
Johannes Staune-MittetDecathlon CMA CGM Team+1:09:15
- 13SGSimone GualdiLotto Intermarché+1:16:30
- 14
Magnus SheffieldNetcompany INEOS+1:20:16 - 15
Edoardo ZambaniniBahrain Victorious+1:24:49 - 16
Lorenzo MilesiMovistar Team+1:24:58 - 17
Jan ChristenUAE Team Emirates XRG+1:27:24 - 18
Brieuc RollandGroupama-FDJ United+1:32:46 - 19
Andrea Raccagni NovieroSoudal Quick-Step+1:38:16 - 20
Guillermo Thomas Silva CoussanXDS Astana Team+2:00:05 - 21
Francesco BusattoAlpecin-Premier Tech+2:03:16 - 22
Alec SegaertBelgium+2:04:45 - 23APAlessandro PinarelloNSN Cycling Team+2:05:12
- 24LPLuca PalettiBardiani Csf 7 Saber+2:23:05
- 25FTFilippo TurconiBardiani Csf 7 Saber+2:24:10
- 26TRTim RexTeam Visma | Lease A Bike+2:25:55
- 27
Axel HuensGroupama-FDJ United+2:26:36 - 28
Nikita TsvetkovBardiani Csf 7 Saber+2:29:41 - 29
Darren RaffertyEF Education - EasyPost+2:30:32 - 30
Vicente Rojas NaranjoBardiani Csf 7 Saber+2:32:01 - 31
Jardi Christiaan Van Der LeeEF Education - EasyPost+2:32:01 - 32
Madis MihkelsEF Education - EasyPost+2:43:51 - 33
Paul MagnierSoudal Quick-Step+2:46:28 - 34
Fran MiholjevićBahrain Victorious+2:47:30 - 35
Rasmus PedersenDecathlon CMA CGM Team+2:57:20 - 36RDRobert DonaldsonTeam Jayco AlUla+3:01:25
- 37
Sakarias Koller LølandUno-X Mobility+3:03:08 - 38
Tobias Lund AndresenDecathlon CMA CGM Team+3:06:12 - 39
António Tomas MorgadoUAE Team Emirates XRG+3:09:01 - 40
Casper Cornelis Van UdenTeam Picnic PostNL+3:12:16 - 41
Paul PenhoetGroupama-FDJ United+3:12:35
- 42
Tim Torn TeutenbergLidl - Trek+3:19:13 - 43
Tord GudmestadDecathlon CMA CGM Team+3:23:55 - 44
Matyáš KopeckýUnibet Rose Rockets+3:27:02

