Classement de l’étape 3
| 1 | LAFAY Victor | (Cofidis) | 04:09:29 |
| 2 | VAUQUELIN Kévin | (Arkéa Samsic) | 00:03 |
| 3 | HOULE Hugo | (Israel – Premier Tech) | |
| 4 | BYSTRØM Sven Erik | (Intermarché – Wanty – Gobert Matériaux) | |
| 5 | HAGEN Carl Fredrik | (Israel – Premier Tech) | |
| 6 | HERMANS Quinten | (Intermarché – Wanty – Gobert Matériaux) | |
| 7 | OSBORNE Jason | (Alpecin – Deceuninck) | |
| 8 | SCHULTZ Nick | (BikeExchange – Jayco) | |
| 9 | CHZHAN Igor | (Astana Qazaqstan) | |
| 10 | CONCI Nicola | (Alpecin – Deceuninck) | 00:09 |
| 11 | BAX Sjoerd | (Alpecin – Deceuninck) | 00:12 |
| 12 | POOLE Max | (DSM) | 00:15 |
| 13 | ANDERSEN Idar | (Uno – X) | |
| 14 | NEILANDS Krists | (Israel – Premier Tech) | |
| 15 | NIBALI Antonio | (Astana Qazaqstan) | 00:22 |
| 16 | MADRAZO Ángel | (Burgos – BH) | |
| 17 | LAURANCE Axel | (B&B Hotels – KTM) | |
| 18 | STOKBRO Andreas | (Coop) | |
| 19 | COLLEONI Kevin | (BikeExchange – Jayco) | 00:26 |
| 20 | VAN ROOY Kenneth | (Sport Vlaanderen – Baloise) | |
| 21 | MATÉ Luis Ángel | (Euskaltel – Euskadi) | |
| 22 | BURGAUDEAU Mathieu | (TotalEnergies) | |
| 23 | ZINGLE Axel | (Cofidis) | |
| 24 | LEKNESSUND Andreas | (DSM) | |
| 25 | PORTER Rudy | (Trinity Racing) | |
| 26 | BOASSON HAGEN Edvald | (TotalEnergies) | |
| 27 | DONOVAN Mark | (DSM) | |
| 28 | KORETZKY Victor | (B&B Hotels – KTM) | |
| 29 | AASVOLD Kristian | (Human Powered Health) | |
| 30 | BENNETT Sean | (China Glory Continental) | 00:37 |
| 31 | WIRTGEN Luc | (Bingoal Pauwels Sauces WB) | 00:40 |
| 32 | SVESTAD – BÅRDSENG Embret | (Coop) | |
| 33 | GLOAG Thomas | (Trinity Racing) | |
| 34 | DVERSNES Fredrik | (Uno – X) | |
| 35 | CAPIOT Amaury | (Arkéa Samsic) | |
| 36 | DOUBLE Paul | (Human Powered Health) | 00:43 |
| 37 | FRANCO Alejandro | (Burgos – BH) | |
| 38 | JOHNSTON Liam | (Trinity Racing) | 01:05 |
| 39 | DE LA PARTE Víctor | (TotalEnergies) | |
| 40 | ANGULO Antonio | (Euskaltel – Euskadi) | |
| 41 | SBARAGLI Kristian | (Alpecin – Deceuninck) | |
| 42 | VANHOOF Ward | (Sport Vlaanderen – Baloise) | |
| 43 | BRUSSENSKIY Gleb | (Astana Qazaqstan) | |
| 44 | FERASSE Thibault | (B&B Hotels – KTM) | 01:12 |
| 45 | MEENS Johan | (Bingoal Pauwels Sauces WB) | 01:18 |
| 46 | RIABUSHENKO Alexandr | (Astana Qazaqstan) | 01:25 |
| 47 | DE ROSSI Lucas | (China Glory Continental) | 01:34 |
| 48 | BALLARIN Iker | (Euskaltel – Euskadi) | 01:49 |
| 49 | THWAITES Scott | (Alpecin – Deceuninck) | 01:53 |
| 50 | SMITH Dion | (BikeExchange – Jayco) | |
| 51 | LYU Xianjing | (China Glory Continental) | 02:10 |
| 52 | ANACONA Winner | (Arkéa Samsic) | 02:37 |
| 53 | DOUBEY Fabien | (TotalEnergies) | |
| 54 | DAUPHIN Florian | (B&B Hotels – KTM) | |
| 55 | GRUZDEV Dmitriy | (Astana Qazaqstan) | |
| 56 | PEREZ Anthony | (Cofidis) | 02:58 |
| 57 | DE POOTER Dries | (Intermarché – Wanty – Gobert Matériaux) | 03:04 |
| 58 | FUENTES Ángel | (Burgos – BH) | 04:25 |
| 59 | URIANSTAD Martin | (Uno – X) | 04:34 |
| 60 | JOHANNESSEN Tobias Halland | (Uno – X) | |
| 61 | MIHKELS Madis | (Intermarché – Wanty – Gobert Matériaux) | 04:59 |
| 62 | LUNDER Eirik | (Coop) | |
| 63 | JENSEN August | (Human Powered Health) | |
| 64 | LEMOINE Cyril | (B&B Hotels – KTM) | 05:06 |
| 65 | FINÉ Eddy | (Cofidis) | |
| 66 | BARRÉ Louis | (Arkéa Samsic) | |
| 67 | PAQUOT Tom | (Bingoal Pauwels Sauces WB) | 05:39 |
| 68 | VAN DER HOORN Taco | (Intermarché – Wanty – Gobert Matériaux) | |
| 69 | CLARKE Simon | (Israel – Premier Tech) | |
| 70 | BALLERSTEDT Maurice | (Alpecin – Deceuninck) | |
| 71 | BERWICK Sebastian | (Israel – Premier Tech) | 06:45 |
| 72 | JANSEN Amund Grøndahl | (BikeExchange – Jayco) | |
| 73 | CULVERWELL Sam | (Trinity Racing) | 06:48 |
| 74 | MINTEGUI Iker | (Euskaltel – Euskadi) | |
| 75 | RÄIM Mihkel | (Burgos – BH) | 08:25 |
| 76 | BENDIXEN Louis | (Coop) | |
| 77 | WIRTGEN Tom | (Bingoal Pauwels Sauces WB) | |
| 78 | GRELLIER Fabien | (TotalEnergies) | 11:05 |
| 79 | AALRUST Håkon | (Coop) | 11:52 |
| 80 | GIBSON Matthew | (Human Powered Health) | |
| 81 | BASSETT Stephen | (Human Powered Health) | |
| 82 | VAN POUCKE Aaron | (Sport Vlaanderen – Baloise) | 11:57 |
| 83 | PÉRICHON Pierre – Luc | (Cofidis) | 12:04 |
| 84 | KONYCHEV Alexander | (BikeExchange – Jayco) | |
| 85 | REYNDERS Jens | (Sport Vlaanderen – Baloise) | 12:25 |
| 86 | BLOUWE Louis | (Bingoal Pauwels Sauces WB) | |
| 87 | MARIT Arne | (Sport Vlaanderen – Baloise) | |
| 88 | FRETIN Milan | (Sport Vlaanderen – Baloise) | |
| 89 | GROENEWEGEN Dylan | (BikeExchange – Jayco) | |
| 90 | CARVALHO Andre | (Cofidis) | |
| 91 | MORICE Julien | (B&B Hotels – KTM) | |
| 92 | RAVNØY Johan | (Coop) | |
| 93 | RESELL Erik Nordsæter | (Uno – X) | |
| 94 | DESMARETS Julien | (Bingoal Pauwels Sauces WB) | |
| 95 | SYRITSA Gleb | (Astana Qazaqstan) | |
| 96 | RIOU Alan | (Arkéa Samsic) | |
| 97 | COMBAUD Romain | (DSM) | |
| 98 | PETIT Adrien | (Intermarché – Wanty – Gobert Matériaux) | |
| 99 | BOL Cees | (DSM) | 12:43 |
| 100 | MANZIN Lorrenzo | (TotalEnergies) | 13:10 |
| 101 | KESSLER Cole | (Israel – Premier Tech) | 13:14 |
| 102 | MALUCELLI Matteo | (China Glory Continental) | 16:50 |
| 103 | VERRE Alessandro | (Arkéa Samsic) | |
| 104 | BIEKEN Nazaerbieke | (China Glory Continental) | |
| 105 | QUICK Blake | (Trinity Racing) | 16:57 |
| 106 | IRIZAR Julen | (Euskaltel – Euskadi) | 19:17 |
| 107 | FERNÁNDEZ Miguel Ángel | (Burgos – BH) | |
| 108 | ARISTI Mikel | (Euskaltel – Euskadi) | |
| 109 | MULLER Gabriel | (Burgos – BH) | 19:29 |
Classement général
| 1 | LAFAY Victor | (Cofidis) | 12:40:46 |
| 2 | VAUQUELIN Kévin | (Arkéa Samsic) | 00:07 |
| 3 | HOULE Hugo | (Israel – Premier Tech) | 00:09 |
| 4 | BYSTRØM Sven Erik | (Intermarché – Wanty – Gobert Matériaux) | 00:10 |
| 5 | SCHULTZ Nick | (BikeExchange – Jayco) | 00:13 |
| 6 | HERMANS Quinten | (Intermarché – Wanty – Gobert Matériaux) | |
| 7 | HAGEN Carl Fredrik | (Israel – Premier Tech) | |
| 8 | OSBORNE Jason | (Alpecin – Deceuninck) | |
| 9 | CONCI Nicola | (Alpecin – Deceuninck) | 00:19 |
| 10 | BAX Sjoerd | (Alpecin – Deceuninck) | 00:20 |
| 11 | ZINGLE Axel | (Cofidis) | 00:23 |
| 12 | NEILANDS Krists | (Israel – Premier Tech) | 00:25 |
| 13 | ANDERSEN Idar | (Uno – X) | |
| 14 | POOLE Max | (DSM) | |
| 15 | BURGAUDEAU Mathieu | (TotalEnergies) | 00:28 |
| 16 | STOKBRO Andreas | (Coop) | 00:32 |
| 17 | BOASSON HAGEN Edvald | (TotalEnergies) | |
| 18 | LAURANCE Axel | (B&B Hotels – KTM) | |
| 19 | VAN ROOY Kenneth | (Sport Vlaanderen – Baloise) | 00:33 |
| 20 | AASVOLD Kristian | (Human Powered Health) | |
| 21 | COLLEONI Kevin | (BikeExchange – Jayco) | 00:36 |
| 22 | KORETZKY Victor | (B&B Hotels – KTM) | |
| 23 | DONOVAN Mark | (DSM) | |
| 24 | LEKNESSUND Andreas | (DSM) | |
| 25 | CAPIOT Amaury | (Arkéa Samsic) | 00:44 |
| 26 | MADRAZO Ángel | (Burgos – BH) | 00:46 |
| 27 | GLOAG Thomas | (Trinity Racing) | 00:50 |
| 28 | NIBALI Antonio | (Astana Qazaqstan) | 00:56 |
| 29 | JOHNSTON Liam | (Trinity Racing) | 01:12 |
| 30 | ANGULO Antonio | (Euskaltel – Euskadi) | 01:15 |
| 31 | VANHOOF Ward | (Sport Vlaanderen – Baloise) | |
| 32 | SBARAGLI Kristian | (Alpecin – Deceuninck) | |
| 33 | FRANCO Alejandro | (Burgos – BH) | 01:17 |
| 34 | FERASSE Thibault | (B&B Hotels – KTM) | 01:22 |
| 35 | DVERSNES Fredrik | (Uno – X) | 01:24 |
| 36 | MEENS Johan | (Bingoal Pauwels Sauces WB) | 01:28 |
| 37 | RIABUSHENKO Alexandr | (Astana Qazaqstan) | 01:35 |
| 38 | SVESTAD – BÅRDSENG Embret | (Coop) | 01:51 |
| 39 | THWAITES Scott | (Alpecin – Deceuninck) | 02:03 |
| 40 | SMITH Dion | (BikeExchange – Jayco) | 02:20 |
| 41 | DOUBEY Fabien | (TotalEnergies) | 02:47 |
| 42 | PEREZ Anthony | (Cofidis) | 03:08 |
| 43 | ANACONA Winner | (Arkéa Samsic) | 03:11 |
| 44 | CHZHAN Igor | (Astana Qazaqstan) | 03:37 |
| 45 | DAUPHIN Florian | (B&B Hotels – KTM) | 03:39 |
| 46 | DE POOTER Dries | (Intermarché – Wanty – Gobert Matériaux) | 03:54 |
| 47 | BENNETT Sean | (China Glory Continental) | 04:00 |
| 48 | FUENTES Ángel | (Burgos – BH) | 04:35 |
| 49 | GRUZDEV Dmitriy | (Astana Qazaqstan) | |
| 50 | BRUSSENSKIY Gleb | (Astana Qazaqstan) | 04:39 |
| 51 | URIANSTAD Martin | (Uno – X) | 04:44 |
| 52 | FINÉ Eddy | (Cofidis) | 05:16 |
| 53 | BALLERSTEDT Maurice | (Alpecin – Deceuninck) | 05:41 |
| 54 | MIHKELS Madis | (Intermarché – Wanty – Gobert Matériaux) | 05:49 |
| 55 | BARRÉ Louis | (Arkéa Samsic) | 06:08 |
| 56 | CLARKE Simon | (Israel – Premier Tech) | 07:53 |
| 57 | PORTER Rudy | (Trinity Racing) | 08:12 |
| 58 | PAQUOT Tom | (Bingoal Pauwels Sauces WB) | 08:18 |
| 59 | DE LA PARTE Víctor | (TotalEnergies) | 08:20 |
| 60 | WIRTGEN Luc | (Bingoal Pauwels Sauces WB) | 08:26 |
| 61 | DOUBLE Paul | (Human Powered Health) | 08:29 |
| 62 | WIRTGEN Tom | (Bingoal Pauwels Sauces WB) | 08:56 |
| 63 | DE ROSSI Lucas | (China Glory Continental) | 09:20 |
| 64 | BALLARIN Iker | (Euskaltel – Euskadi) | 09:22 |
| 65 | LYU Xianjing | (China Glory Continental) | 09:56 |
| 66 | AALRUST Håkon | (Coop) | 11:58 |
| 67 | SYRITSA Gleb | (Astana Qazaqstan) | 12:29 |
| 68 | JENSEN August | (Human Powered Health) | 12:30 |
| 69 | FRETIN Milan | (Sport Vlaanderen – Baloise) | 12:35 |
| 70 | VAN POUCKE Aaron | (Sport Vlaanderen – Baloise) | 12:36 |
| 71 | MARIT Arne | (Sport Vlaanderen – Baloise) | 12:49 |
| 72 | LEMOINE Cyril | (B&B Hotels – KTM) | 12:52 |
| 73 | COMBAUD Romain | (DSM) | 12:59 |
| 74 | GROENEWEGEN Dylan | (BikeExchange – Jayco) | 13:05 |
| 75 | BOL Cees | (DSM) | 13:25 |
| 76 | RIOU Alan | (Arkéa Samsic) | 13:27 |
| 77 | RAVNØY Johan | (Coop) | 13:36 |
| 78 | KONYCHEV Alexander | (BikeExchange – Jayco) | 13:59 |
| 79 | MANZIN Lorrenzo | (TotalEnergies) | 14:27 |
| 80 | LUNDER Eirik | (Coop) | 14:31 |
| 81 | CULVERWELL Sam | (Trinity Racing) | |
| 82 | BERWICK Sebastian | (Israel – Premier Tech) | 14:39 |
| 83 | BENDIXEN Louis | (Coop) | 14:44 |
| 84 | JOHANNESSEN Tobias Halland | (Uno – X) | 15:33 |
| 85 | VAN DER HOORN Taco | (Intermarché – Wanty – Gobert Matériaux) | 15:48 |
| 86 | RÄIM Mihkel | (Burgos – BH) | 16:11 |
| 87 | MATÉ Luis Ángel | (Euskaltel – Euskadi) | 16:25 |
| 88 | JANSEN Amund Grøndahl | (BikeExchange – Jayco) | 17:37 |
| 89 | CARVALHO Andre | (Cofidis) | 19:16 |
| 90 | GIBSON Matthew | (Human Powered Health) | 19:38 |
| 91 | PÉRICHON Pierre – Luc | (Cofidis) | 19:50 |
| 92 | GRELLIER Fabien | (TotalEnergies) | 19:53 |
| 93 | DESMARETS Julien | (Bingoal Pauwels Sauces WB) | 20:08 |
| 94 | BLOUWE Louis | (Bingoal Pauwels Sauces WB) | 20:11 |
| 95 | REYNDERS Jens | (Sport Vlaanderen – Baloise) | 20:44 |
| 96 | PETIT Adrien | (Intermarché – Wanty – Gobert Matériaux) | 21:59 |
| 97 | KESSLER Cole | (Israel – Premier Tech) | 22:24 |
| 98 | MINTEGUI Iker | (Euskaltel – Euskadi) | 22:39 |
| 99 | VERRE Alessandro | (Arkéa Samsic) | 25:48 |
| 100 | MALUCELLI Matteo | (China Glory Continental) | 26:24 |
| 101 | MORICE Julien | (B&B Hotels – KTM) | |
| 102 | BIEKEN Nazaerbieke | (China Glory Continental) | |
| 103 | QUICK Blake | (Trinity Racing) | 26:31 |
| 104 | BASSETT Stephen | (Human Powered Health) | 26:33 |
| 105 | RESELL Erik Nordsæter | (Uno – X) | 28:17 |
| 106 | FERNÁNDEZ Miguel Ángel | (Burgos – BH) | 28:51 |
| 107 | IRIZAR Julen | (Euskaltel – Euskadi) | 32:56 |
| 108 | ARISTI Mikel | (Euskaltel – Euskadi) | 35:16 |
| 109 | MULLER Gabriel | (Burgos – BH) | 44:47 |
Commenter