Stage 3
20 Feb 2026
Stage result
- 1
Filippo GannaNetcompany INEOS21:53 - 2
Juan Ayuso PesqueraLidl - Trek+0:06 - 3
Jakob SöderqvistLidl - Trek+0:08 - 4
Paul SeixasDecathlon CMA CGM Team+0:13 - 5
Thymen ArensmanNetcompany INEOS+0:23 - 6
Kévin VauquelinNetcompany INEOS+0:24 - 7
Stefan KüngTudor Pro Cycling Team+0:28 - 8
Hector Alvarez MartinezLidl-Trek Future Racing+0:36 - 9
Florian LipowitzRed Bull - Bora - Hansgrohe+0:42 - 10
Joao Pedro Gonçalves AlmeidaUAE Team Emirates XRG+0:43 - 11
Daniel Felipe Martinez PovedaRed Bull - Bora - Hansgrohe+0:46 - 12
Johan Price PejtersenAlpecin-Premier Tech+0:54 - 13
António Tomas MorgadoUAE Team Emirates XRG+0:56 - 14
Huub ArtzLotto Intermarché+0:59 - 15
Felix GrossschartnerUAE Team Emirates XRG+0:59 - 16
Lennard KämnaLidl - Trek+1:00 - 17
Andrea VendrameTeam Jayco AlUla+1:00 - 18
Max PooleTeam Picnic PostNL+1:00 - 19
Ivo OliveiraUAE Team Emirates XRG+1:03 - 20
Yannis VoisardTudor Pro Cycling Team+1:03 - 21
Jonathan VervenneSoudal Quick-Step+1:05 - 22MSMaximilian SchachmannSoudal Quick-Step+1:07
- 23
Xabier Mikel Azparren IrurzunPinarello-Q36.5 Pro Cycling Team+1:08 - 24
Oscar OnleyNetcompany INEOS+1:09
- 25
Kasper AsgreenEF Education - EasyPost+1:11 - 26
Jan TratnikSlovenia+1:12 - 27
Yves LampaertSoudal Quick-Step+1:12 - 28
Sander De PestelDecathlon CMA CGM Team+1:13 - 29
Matthew RiccitelloDecathlon CMA CGM Team+1:18 - 30
Alex MolenaarCaja Rural-Seguros RGA+1:20 - 31
David De La Cruz MelgarejoPinarello-Q36.5 Pro Cycling Team+1:28 - 32
Felix EngelhardtTeam Jayco AlUla+1:29 - 33APAlessandro PinarelloNSN Cycling Team+1:33
- 34
Luca GiaimiUAE Team Emirates XRG+1:33 - 35
Dylan Van BaarleSoudal Quick-Step+1:33 - 36JLJordan LabrosseDecathlon CMA CGM Team+1:34
- 37
Frederik FrisonPinarello-Q36.5 Pro Cycling Team+1:34 - 38
Julian AlaphilippeTudor Pro Cycling Team+1:35
- 39
Rafael ReisAnicolor/Campicarn+1:37 - 40
Fabio ChristenPinarello-Q36.5 Pro Cycling Team+1:38 - 41
Artem NychAnicolor/Campicarn+1:41
- 42
Nico DenzRed Bull - Bora - Hansgrohe+1:41 - 43
Pavel BittnerTeam Picnic PostNL+1:43 - 44
Bob JungelsNetcompany INEOS+1:44 - 45
Jakub OtrubaCaja Rural-Seguros RGA+1:44 - 46
Koen BouwmanTeam Jayco AlUla+1:44 - 47
Gianni VermeerschRed Bull - Bora - Hansgrohe+1:44
- 48MFMarco FrigoNSN Cycling Team+1:45
- 49
Abel Balderstone RoumensCaja Rural-Seguros RGA+1:48 - 50
Darren RaffertyEF Education - EasyPost+1:56 - 51
Cedric BeullensLotto Intermarché+1:57 - 52
Marijn Van Den BergEF Education - EasyPost+1:59 - 53
John DegenkolbTeam Picnic PostNL+1:59 - 54
Colby SimmonsEF Education - EasyPost+1:59 - 55
Liam SlockLotto Intermarché+2:00 - 56
Gorka Sorarrain AgirrezabalaCaja Rural-Seguros RGA+2:01 - 57
Thomas GloagPinarello-Q36.5 Pro Cycling Team+2:01 - 58
Johannes Staune-MittetDecathlon CMA CGM Team+2:01
- 59
Dries De BondtTeam Jayco AlUla+2:03
- 60
Oliver NaesenDecathlon CMA CGM Team+2:04 - 61
Samuele BattistellaEF Education - EasyPost+2:05 - 62
Pascal AckermannTeam Jayco AlUla+2:07 - 63EDEmanuel DuarteCredibom / La Alumínios / Marcos Car+2:07
- 64
Joshua GiddingsLotto Intermarché+2:08 - 65
Toms SkujinsLidl - Trek+2:09 - 66
Luca Van BovenLotto Intermarché+2:11 - 67ASAfonso SilvaTeam Tavira /Crédito Agricola+2:11
- 68
Dries Van GestelSoudal Quick-Step+2:12 - 69FVFloris Van TrichtNSN Cycling Team+2:12
- 70
Marco HallerTudor Pro Cycling Team+2:15
- 71
Iúri LeitãoCaja Rural-Seguros RGA+2:17 - 72
Enzo LeijnseAnicolor/Campicarn+2:18 - 73
Brandon McnultyUAE Team Emirates XRG+2:20 - 74LLLucas LopesEfapel Cycling+2:21
- 75
Rui Filipe Alves OliveiraUAE Team Emirates XRG+2:22 - 76
Jordi MeeusRed Bull - Bora - Hansgrohe+2:22 - 77
Oded KogutNSN Cycling Team+2:24 - 78FFFilipe FranciscoAviludo - Louletano - Loulé+2:25
- 79
Emils LiepinsPinarello-Q36.5 Pro Cycling Team+2:25
- 80
Sean FlynnTeam Picnic PostNL+2:27 - 81
Edward PlanckaertAlpecin-Premier Tech+2:29
- 82JMJuan Martinez HuertasTeam Picnic PostNL+2:34
- 83TATiago AntunesEfapel Cycling+2:34
- 84CMCarson MilesAnicolor/Campicarn+2:35
- 85JSJoaquim SilvaEfapel Cycling+2:35
- 86
Stan DewulfDecathlon CMA CGM Team+2:38
- 87ACAdrian Camilo Bustamante RudaGi Group Holding - Simoldes - Udo+2:38
- 88DGDiogo GonçalvesEfapel Cycling+2:39
- 89
Tobias BayerAlpecin-Premier Tech+2:41 - 90
Arne MaritRed Bull - Bora - Hansgrohe+2:44
- 91
Jasper StuyvenSoudal Quick-Step+2:44 - 92
Roland ThalmannTudor Pro Cycling Team+2:44
- 93
Arnaud De LieLotto Intermarché+2:45 - 94DVDaniel ViegasAviludo - Louletano - Loulé+2:48
- 95
Carlos Ivan Oyarzun GuiñezAviludo - Louletano - Loulé+2:49 - 96ALAiletz Lasa LizarragaTeam Tavira /Crédito Agricola+2:49
- 97
Jaume Guardeño RomaCaja Rural-Seguros RGA+2:50 - 98DDDuarte DominguesCredibom / La Alumínios / Marcos Car+2:52
- 99
Harrison WoodFeirense - Beeceler+2:53
- 100
Laurens De PlusNetcompany INEOS+2:54
- 101
Noah HobbsEF Education - EasyPost+2:56 - 102JVJens VerbruggheNSN Development Team+2:57
- 103
Ruben FernandezAnicolor/Campicarn+2:58 - 104
Jasper PhilipsenAlpecin-Premier Tech+3:02 - 105DDDavid Dominguez VilchezFeira Dos Sofás - Boavista+3:02
- 106
Kim Alexander HeidukNetcompany INEOS+3:03 - 107JFJuan Felipe Rodriguez ContrerasEF Education - EasyPost+3:04
- 108
Hugo HofstetterNSN Cycling Team+3:05
- 109RCRui CarvalhoGi Group Holding - Simoldes - Udo+3:05
- 110HNHugo NunesCredibom / La Alumínios / Marcos Car+3:07
- 111
Diogo NarcisoCredibom / La Alumínios / Marcos Car+3:08 - 112
Lennert BelmansAlpecin-Premier Tech+3:08 - 113JCJosé Carlos Prates Neves FernandesGi Group Holding - Simoldes - Udo+3:08
- 114
Luca MozzatoTudor Pro Cycling Team+3:12 - 115KSKeegam SwirbulEfapel Cycling+3:14
- 116CLCláudio LealAviludo - Louletano - Loulé+3:17
- 117PSPedro SilvaFeira Dos Sofás - Boavista+3:18
- 118
Luc WirtgenTudor Pro Cycling Team+3:19 - 119VCVictor Cesar De PaulaFeirense - Beeceler+3:21
- 120
Carlos Verona QuintanillaLidl - Trek+3:22 - 121GTGonçalo TavaresEfapel Cycling+3:25
- 122
André CarvalhoAviludo - Louletano - Loulé+3:28 - 123VIViacheslav IvanovFeirense - Beeceler+3:29
- 124
Alexis GuerinAnicolor/Campicarn+3:29
- 125
Kaden Alexander GrovesAlpecin-Premier Tech+3:36 - 126GMGuilherme MesquitaFeirense - Beeceler+3:43
- 127GMGuilherme MestreTeam Tavira /Crédito Agricola+3:45
- 128DDDaniel DiasTavfer-Ovos Matinados-Mortágua+3:46
- 129BSBruno SilvaTavfer-Ovos Matinados-Mortágua+3:49
- 130
Jarno WidarLotto Intermarché+3:50 - 131
Rotem TeneNSN Cycling Team+3:51 - 132
Paul MagnierSoudal Quick-Step+3:52 - 133LMLeangel MenesesTavfer-Ovos Matinados-Mortágua+4:04
- 134
Tim Torn TeutenbergLidl - Trek+4:09 - 135SMSantiago Mesa PietralungaAnicolor/Campicarn+4:09
- 136
Matteo MoschettiPinarello-Q36.5 Pro Cycling Team+4:10 - 137RRRúben RodriguesFeira Dos Sofás - Boavista+4:10
- 138DBDiogo BarbosaTeam Tavira /Crédito Agricola+4:13
- 139PPPedro PintoGi Group Holding - Simoldes - Udo+4:16
- 140FCFábio CostaFeira Dos Sofás - Boavista+4:16
- 141AMAlexandre MontezFeirense - Beeceler+4:17
- 142FPFrancisco PereiraFeirense - Beeceler+4:17
- 143GCGonçalo CarvalhoTavfer-Ovos Matinados-Mortágua+4:20
- 144JOJoão OliveiraCredibom / La Alumínios / Marcos Car+4:21
- 145JMJosé MoreiraGi Group Holding - Simoldes - Udo+4:22
- 146CMCésar MartingilTavfer-Ovos Matinados-Mortágua+4:23
- 147OROscar Rota RusFeira Dos Sofás - Boavista+4:24
- 148NCNoah CamposTeam Tavira /Crédito Agricola+4:25
- 149
German Nicolas Tivani PerezAviludo - Louletano - Loulé+4:28 - 150JSJoão SilvaFeira Dos Sofás - Boavista+4:31
- 151MDMilan De CeusterDevelopment Team Picnic PostNL+4:31
- 152PAPedro AndradeFeirense - Beeceler+4:37
- 153RBRafael BarbasTavfer-Ovos Matinados-Mortágua+4:38
- 154JMJoão MartinsCredibom / La Alumínios / Marcos Car+4:40
- 155IBIker Bonillo MartinFeira Dos Sofás - Boavista+4:42
- 156DPDiogo PintoCredibom / La Alumínios / Marcos Car+4:44
- 157ARAndré RibeiroGi Group Holding - Simoldes - Udo+4:49
- 158
Jesus David Peña JimenezEfapel Cycling+4:51 - 159AAAndrey AndréGi Group Holding - Simoldes - Udo+4:59
- 160RARodrigo AlvesTeam Tavira+5:00
- 161FMFrancisco MoraisTavfer-Ovos Matinados-Mortágua+5:11
- 162PLPablo Lospitao GonzalezCaja Rural-Seguros RGA+5:16
- 163FCFrancisco CamposTeam Tavira /Crédito Agricola+5:19
- 164
Tomas ContteAviludo - Louletano - Loulé+5:45 - DNF
Christopher JensenTeam Jayco AlUlaDNF
General classification
- 1
Juan Ayuso PesqueraLidl - Trek8:32:43 - 2
Paul SeixasDecathlon CMA CGM Team+0:07 - 3
Joao Pedro Gonçalves AlmeidaUAE Team Emirates XRG+0:44 - 4
Kévin VauquelinNetcompany INEOS+0:57 - 5
Thymen ArensmanNetcompany INEOS+1:01 - 6
Daniel Felipe Martinez PovedaRed Bull - Bora - Hansgrohe+1:12 - 7
Oscar OnleyNetcompany INEOS+1:17
- 8
Florian LipowitzRed Bull - Bora - Hansgrohe+1:17 - 9
Matthew RiccitelloDecathlon CMA CGM Team+1:28 - 10
Yannis VoisardTudor Pro Cycling Team+1:36 - 11MSMaximilian SchachmannSoudal Quick-Step+1:45
- 12APAlessandro PinarelloNSN Cycling Team+2:06
- 13
António Tomas MorgadoUAE Team Emirates XRG+2:13 - 14
Felix EngelhardtTeam Jayco AlUla+2:25 - 15
Thomas GloagPinarello-Q36.5 Pro Cycling Team+2:36 - 16
Julian AlaphilippeTudor Pro Cycling Team+2:38
- 17
Hector Alvarez MartinezLidl-Trek Future Racing+2:42 - 18
Fabio ChristenPinarello-Q36.5 Pro Cycling Team+2:53 - 19
Brandon McnultyUAE Team Emirates XRG+2:58 - 20
Felix GrossschartnerUAE Team Emirates XRG+3:07 - 21
Artem NychAnicolor/Campicarn+3:29
- 22JMJuan Martinez HuertasTeam Picnic PostNL+3:33
- 23
Xabier Mikel Azparren IrurzunPinarello-Q36.5 Pro Cycling Team+3:36 - 24
David De La Cruz MelgarejoPinarello-Q36.5 Pro Cycling Team+3:41 - 25
Dylan Van BaarleSoudal Quick-Step+3:41 - 26JFJuan Felipe Rodriguez ContrerasEF Education - EasyPost+3:42
- 27
Jan TratnikSlovenia+3:51 - 28
Darren RaffertyEF Education - EasyPost+4:04 - 29DGDiogo GonçalvesEfapel Cycling+4:07
- 30EDEmanuel DuarteCredibom / La Alumínios / Marcos Car+4:15
- 31
Alex MolenaarCaja Rural-Seguros RGA+4:18 - 32ASAfonso SilvaTeam Tavira /Crédito Agricola+4:19
- 33
Koen BouwmanTeam Jayco AlUla+4:23 - 34
Lennard KämnaLidl - Trek+4:28 - 35
Samuele BattistellaEF Education - EasyPost+4:35 - 36
Jakub OtrubaCaja Rural-Seguros RGA+4:42 - 37
Jarno WidarLotto Intermarché+4:56 - 38
Liam SlockLotto Intermarché+4:58 - 39MFMarco FrigoNSN Cycling Team+4:59
- 40CMCarson MilesAnicolor/Campicarn+5:14
- 41
Edward PlanckaertAlpecin-Premier Tech+5:27
- 42DDDavid Dominguez VilchezFeira Dos Sofás - Boavista+6:00
- 43
Andrea VendrameTeam Jayco AlUla+6:33 - 44LLLucas LopesEfapel Cycling+6:36
- 45ACAdrian Camilo Bustamante RudaGi Group Holding - Simoldes - Udo+6:40
- 46
Max PooleTeam Picnic PostNL+6:43 - 47JSJoaquim SilvaEfapel Cycling+6:43
- 48DDDuarte DominguesCredibom / La Alumínios / Marcos Car+6:46
- 49
Colby SimmonsEF Education - EasyPost+7:09 - 50
Johannes Staune-MittetDecathlon CMA CGM Team+7:11
- 51RCRui CarvalhoGi Group Holding - Simoldes - Udo+7:20
- 52
Gorka Sorarrain AgirrezabalaCaja Rural-Seguros RGA+7:55 - 53
Harrison WoodFeirense - Beeceler+8:15
- 54
Jaume Guardeño RomaCaja Rural-Seguros RGA+8:33 - 55
Alexis GuerinAnicolor/Campicarn+8:33
- 56VIViacheslav IvanovFeirense - Beeceler+8:35
- 57
Luca Van BovenLotto Intermarché+8:42 - 58
Tobias BayerAlpecin-Premier Tech+8:43 - 59
Roland ThalmannTudor Pro Cycling Team+8:46
- 60
Lennert BelmansAlpecin-Premier Tech+8:51 - 61FFFilipe FranciscoAviludo - Louletano - Loulé+8:56
- 62JCJosé Carlos Prates Neves FernandesGi Group Holding - Simoldes - Udo+9:02
- 63
Stefan KüngTudor Pro Cycling Team+9:10 - 64GTGonçalo TavaresEfapel Cycling+9:19
- 65OROscar Rota RusFeira Dos Sofás - Boavista+9:53
- 66
André CarvalhoAviludo - Louletano - Loulé+9:59 - 67GCGonçalo CarvalhoTavfer-Ovos Matinados-Mortágua+10:14
- 68
Ruben FernandezAnicolor/Campicarn+10:59 - 69
Carlos Verona QuintanillaLidl - Trek+11:35 - 70DBDiogo BarbosaTeam Tavira /Crédito Agricola+11:37
- 71
Kasper AsgreenEF Education - EasyPost+11:48 - 72
Yves LampaertSoudal Quick-Step+11:49 - 73PSPedro SilvaFeira Dos Sofás - Boavista+12:00
- 74JLJordan LabrosseDecathlon CMA CGM Team+12:09
- 75
Filippo GannaNetcompany INEOS+12:13 - 76
Ivo OliveiraUAE Team Emirates XRG+12:28 - 77
Marijn Van Den BergEF Education - EasyPost+12:36 - 78
Oliver NaesenDecathlon CMA CGM Team+12:41 - 79
Toms SkujinsLidl - Trek+12:43 - 80FVFloris Van TrichtNSN Cycling Team+12:49
- 81
Stan DewulfDecathlon CMA CGM Team+13:15
- 82
Sander De PestelDecathlon CMA CGM Team+13:29 - 83JVJens VerbruggheNSN Development Team+13:34
- 84
Hugo HofstetterNSN Cycling Team+13:42
- 85
Bob JungelsNetcompany INEOS+13:57 - 86
Gianni VermeerschRed Bull - Bora - Hansgrohe+14:01
- 87
Paul MagnierSoudal Quick-Step+14:19 - 88
Emils LiepinsPinarello-Q36.5 Pro Cycling Team+14:38
- 89
Rui Filipe Alves OliveiraUAE Team Emirates XRG+15:03 - 90HNHugo NunesCredibom / La Alumínios / Marcos Car+15:12
- 91
Arnaud De LieLotto Intermarché+15:26 - 92
Huub ArtzLotto Intermarché+15:32 - 93
Sean FlynnTeam Picnic PostNL+15:39 - 94PLPablo Lospitao GonzalezCaja Rural-Seguros RGA+15:53
- 95
Jakob SöderqvistLidl - Trek+16:10 - 96RBRafael BarbasTavfer-Ovos Matinados-Mortágua+16:51
- 97
Frederik FrisonPinarello-Q36.5 Pro Cycling Team+17:36 - 98
Abel Balderstone RoumensCaja Rural-Seguros RGA+17:50 - 99
Dries De BondtTeam Jayco AlUla+18:05
- 100
Pascal AckermannTeam Jayco AlUla+18:09 - 101
Dries Van GestelSoudal Quick-Step+18:14 - 102
Iúri LeitãoCaja Rural-Seguros RGA+18:19 - 103
Enzo LeijnseAnicolor/Campicarn+18:20 - 104
Rotem TeneNSN Cycling Team+18:24 - 105DVDaniel ViegasAviludo - Louletano - Loulé+18:50
- 106
Carlos Ivan Oyarzun GuiñezAviludo - Louletano - Loulé+18:51 - 107ALAiletz Lasa LizarragaTeam Tavira /Crédito Agricola+18:51
- 108
Noah HobbsEF Education - EasyPost+18:58 - 109
Jonathan VervenneSoudal Quick-Step+19:11 - 110TATiago AntunesEfapel Cycling+19:12
- 111KSKeegam SwirbulEfapel Cycling+19:16
- 112CLCláudio LealAviludo - Louletano - Loulé+19:19
- 113
Luc WirtgenTudor Pro Cycling Team+19:21 - 114
Luca MozzatoTudor Pro Cycling Team+19:34 - 115
Luca GiaimiUAE Team Emirates XRG+19:39 - 116AAAndrey AndréGi Group Holding - Simoldes - Udo+19:45
- 117GMGuilherme MestreTeam Tavira /Crédito Agricola+19:47
- 118
Johan Price PejtersenAlpecin-Premier Tech+20:00 - 119
Tim Torn TeutenbergLidl - Trek+20:11 - 120RRRúben RodriguesFeira Dos Sofás - Boavista+20:12
- 121
Joshua GiddingsLotto Intermarché+20:14 - 122PPPedro PintoGi Group Holding - Simoldes - Udo+20:18
- 123
Marco HallerTudor Pro Cycling Team+20:21
- 124FCFábio CostaFeira Dos Sofás - Boavista+20:38
- 125
Rafael ReisAnicolor/Campicarn+20:43 - 126
Pavel BittnerTeam Picnic PostNL+20:45 - 127
Nico DenzRed Bull - Bora - Hansgrohe+20:47 - 128ARAndré RibeiroGi Group Holding - Simoldes - Udo+20:50
- 129
Cedric BeullensLotto Intermarché+21:03 - 130
John DegenkolbTeam Picnic PostNL+21:05 - 131FMFrancisco MoraisTavfer-Ovos Matinados-Mortágua+21:13
- 132
Jordi MeeusRed Bull - Bora - Hansgrohe+21:22 - 133
Oded KogutNSN Cycling Team+21:50 - 134
Arne MaritRed Bull - Bora - Hansgrohe+21:50
- 135
Jasper StuyvenSoudal Quick-Step+21:50 - 136
Laurens De PlusNetcompany INEOS+22:00
- 137
Jasper PhilipsenAlpecin-Premier Tech+22:08 - 138
Kim Alexander HeidukNetcompany INEOS+22:09 - 139
Kaden Alexander GrovesAlpecin-Premier Tech+22:47 - 140BSBruno SilvaTavfer-Ovos Matinados-Mortágua+23:02
- 141RARodrigo AlvesTeam Tavira+23:06
- 142SMSantiago Mesa PietralungaAnicolor/Campicarn+23:15
- 143
Matteo MoschettiPinarello-Q36.5 Pro Cycling Team+23:23 - 144FCFrancisco CamposTeam Tavira /Crédito Agricola+23:25
- 145MDMilan De CeusterDevelopment Team Picnic PostNL+23:37
- 146
German Nicolas Tivani PerezAviludo - Louletano - Loulé+23:38 - 147IBIker Bonillo MartinFeira Dos Sofás - Boavista+23:45
- 148JMJoão MartinsCredibom / La Alumínios / Marcos Car+23:46
- 149
Jesus David Peña JimenezEfapel Cycling+23:57 - 150JMJosé MoreiraGi Group Holding - Simoldes - Udo+25:10
- 151JSJoão SilvaFeira Dos Sofás - Boavista+25:52
- 152DPDiogo PintoCredibom / La Alumínios / Marcos Car+27:04
- 153
Tomas ContteAviludo - Louletano - Loulé+28:23 - 154
Diogo NarcisoCredibom / La Alumínios / Marcos Car+31:57 - 155VCVictor Cesar De PaulaFeirense - Beeceler+32:10
- 156GMGuilherme MesquitaFeirense - Beeceler+32:32
- 157DDDaniel DiasTavfer-Ovos Matinados-Mortágua+32:35
- 158LMLeangel MenesesTavfer-Ovos Matinados-Mortágua+32:53
- 159JOJoão OliveiraCredibom / La Alumínios / Marcos Car+33:10
- 160CMCésar MartingilTavfer-Ovos Matinados-Mortágua+33:12
- 161NCNoah CamposTeam Tavira /Crédito Agricola+33:14
- 162PAPedro AndradeFeirense - Beeceler+33:26
- 163AMAlexandre MontezFeirense - Beeceler+34:40
- 164FPFrancisco PereiraFeirense - Beeceler+36:40
Points classification
- 1
Paul SeixasDecathlon CMA CGM Team25 - 2
Paul MagnierSoudal Quick-Step25 - 3
Juan Ayuso PesqueraLidl - Trek24 - 4
Jordi MeeusRed Bull - Bora - Hansgrohe20 - 5
Joao Pedro Gonçalves AlmeidaUAE Team Emirates XRG16 - 6
Pavel BittnerTeam Picnic PostNL16 - 7
Oscar OnleyNetcompany INEOS13
- 8
Jasper PhilipsenAlpecin-Premier Tech13 - 9
Matthew RiccitelloDecathlon CMA CGM Team10 - 10
Arnaud De LieLotto Intermarché10 - 11HNHugo NunesCredibom / La Alumínios / Marcos Car8
- 12
Daniel Felipe Martinez PovedaRed Bull - Bora - Hansgrohe8 - 13
Pascal AckermannTeam Jayco AlUla8 - 14APAlessandro PinarelloNSN Cycling Team6
- 15
Kaden Alexander GrovesAlpecin-Premier Tech6 - 16
Yannis VoisardTudor Pro Cycling Team4 - 17
John DegenkolbTeam Picnic PostNL4 - 18
Brandon McnultyUAE Team Emirates XRG3 - 19
Jan TratnikSlovenia3 - 20
Toms SkujinsLidl - Trek3 - 21IBIker Bonillo MartinFeira Dos Sofás - Boavista3
- 22
Kévin VauquelinNetcompany INEOS2 - 23
Hector Alvarez MartinezLidl-Trek Future Racing2 - 24
Fabio ChristenPinarello-Q36.5 Pro Cycling Team2 - 25VIViacheslav IvanovFeirense - Beeceler2
- 26JLJordan LabrosseDecathlon CMA CGM Team2
- 27
Ivo OliveiraUAE Team Emirates XRG2 - 28
Thomas GloagPinarello-Q36.5 Pro Cycling Team1 - 29
Rui Filipe Alves OliveiraUAE Team Emirates XRG1 - 30ARAndré RibeiroGi Group Holding - Simoldes - Udo1
- 31
German Nicolas Tivani PerezAviludo - Louletano - Loulé1
Mountains classification
- 1
Tomas ContteAviludo - Louletano - Loulé15 - 2
Paul SeixasDecathlon CMA CGM Team10 - 3
Juan Ayuso PesqueraLidl - Trek8 - 4
Joao Pedro Gonçalves AlmeidaUAE Team Emirates XRG6 - 5
Oscar OnleyNetcompany INEOS4
- 6
German Nicolas Tivani PerezAviludo - Louletano - Loulé4 - 7
Enzo LeijnseAnicolor/Campicarn3 - 8
Matthew RiccitelloDecathlon CMA CGM Team2 - 9
Gorka Sorarrain AgirrezabalaCaja Rural-Seguros RGA2 - 10VIViacheslav IvanovFeirense - Beeceler2
- 11HNHugo NunesCredibom / La Alumínios / Marcos Car2
- 12
Oliver NaesenDecathlon CMA CGM Team1 - 13JSJoão SilvaFeira Dos Sofás - Boavista1
Youth classification
- 1
Paul SeixasDecathlon CMA CGM Team8:32:50 - 2
António Tomas MorgadoUAE Team Emirates XRG+2:06 - 3
Hector Alvarez MartinezLidl-Trek Future Racing+2:35 - 4JMJuan Martinez HuertasTeam Picnic PostNL+3:26
- 5
Jarno WidarLotto Intermarché+4:49 - 6DDDuarte DominguesCredibom / La Alumínios / Marcos Car+6:39
- 7GTGonçalo TavaresEfapel Cycling+9:12
- 8JVJens VerbruggheNSN Development Team+13:27
- 9
Paul MagnierSoudal Quick-Step+14:12 - 10PLPablo Lospitao GonzalezCaja Rural-Seguros RGA+15:46
- 11RBRafael BarbasTavfer-Ovos Matinados-Mortágua+16:44
- 12
Noah HobbsEF Education - EasyPost+18:51 - 13CLCláudio LealAviludo - Louletano - Loulé+19:12
- 14
Luca GiaimiUAE Team Emirates XRG+19:32 - 15AAAndrey AndréGi Group Holding - Simoldes - Udo+19:38
- 16GMGuilherme MestreTeam Tavira /Crédito Agricola+19:40
- 17RRRúben RodriguesFeira Dos Sofás - Boavista+20:05
- 18PPPedro PintoGi Group Holding - Simoldes - Udo+20:11
- 19ARAndré RibeiroGi Group Holding - Simoldes - Udo+20:43
- 20RARodrigo AlvesTeam Tavira+22:59
- 21MDMilan De CeusterDevelopment Team Picnic PostNL+23:30
- 22JMJoão MartinsCredibom / La Alumínios / Marcos Car+23:39
- 23JMJosé MoreiraGi Group Holding - Simoldes - Udo+25:03
- 24GMGuilherme MesquitaFeirense - Beeceler+32:25
- 25NCNoah CamposTeam Tavira /Crédito Agricola+33:07