
| 1 | 2 | ▲1 | VAUQUELIN Kévin | Arkéa - B&B Hotels | 10 | 6″ | 20:12:10 |
| 2 | 3 | ▲1 | ALAPHILIPPE Julian | Tudor Pro Cycling Team | 4″ | 0:29 | |
| 3 | 7 | ▲4 | ALMEIDA João | UAE Team Emirates - XRG | 22″ | 0:39 | |
| 4 | 8 | ▲4 | ONLEY Oscar | Team Picnic PostNL | 20″ | 1:21 | |
| 5 | 5 | - | KÄMNA Lennard | Lidl - Trek | 1:44 | ||
| 6 | 4 | ▼2 | O'CONNOR Ben | Team Jayco AlUla | 4″ | 2:16 | |
| 7 | 9 | ▲2 | GALL Felix | Decathlon AG2R La Mondiale Team | 4″ | 2:20 | |
| 8 | 6 | ▼2 | CASTRILLO Pablo | Movistar Team | 2:40 | ||
| 9 | 12 | ▲3 | RICCITELLO Matthew | Israel - Premier Tech | 3:08 | ||
| 10 | 11 | ▲1 | VAN WILDER Ilan | Soudal Quick-Step | 3:17 | ||
| 11 | 10 | ▼1 | CHAMPOUSSIN Clément | XDS Astana Team | 4:54 | ||
| 12 | 14 | ▲2 | GROßSCHARTNER Felix | UAE Team Emirates - XRG | 5:24 | ||
| 13 | 1 | ▼12 | GRÉGOIRE Romain | Groupama - FDJ | 11″ | 5:31 | |
| 14 | 15 | ▲1 | BARTA Will | Movistar Team | 6:00 | ||
| 15 | 16 | ▲1 | BENNETT George | Israel - Premier Tech | 6:13 | ||
| 16 | 22 | ▲6 | ZIMMERMANN Georg | Intermarché - Wanty | 9:28 | ||
| 17 | 20 | ▲3 | BARGUIL Warren | Team Picnic PostNL | 9:37 | ||
| 18 | 24 | ▲6 | PICKERING Finlay | Bahrain - Victorious | 9:51 | ||
| 19 | 23 | ▲4 | SEPÚLVEDA Eduardo | Lotto | 11:23 | ||
| 20 | 21 | ▲1 | VLASOV Aleksandr | Red Bull - BORA - hansgrohe | 2″ | 11:55 | |
| 21 | 13 | ▼8 | LEMMEN Bart | Team Visma | Lease a Bike | 4″ | 13:20 | |
| 22 | 19 | ▼3 | GEOGHEGAN HART Tao | Lidl - Trek | 16:16 | ||
| 23 | 29 | ▲6 | BLACKMORE Joseph | Israel - Premier Tech | 16:41 | ||
| 24 | 25 | ▲1 | CONCI Nicola | XDS Astana Team | 16:56 | ||
| 25 | 31 | ▲6 | MADOUAS Valentin | Groupama - FDJ | 19:40 | ||
| 26 | 34 | ▲8 | COSTIOU Ewen | Arkéa - B&B Hotels | 25:02 | ||
| 27 | 40 | ▲13 | SOBRERO Matteo | Red Bull - BORA - hansgrohe | 25:16 | ||
| 28 | 49 | ▲21 | GRAAT Tijmen | Team Visma | Lease a Bike | 26:04 | ||
| 29 | 35 | ▲6 | BISIAUX Léo | Decathlon AG2R La Mondiale Team | 26:08 | ||
| 30 | 43 | ▲13 | SCOTSON Callum | Decathlon AG2R La Mondiale Team | 26:36 | ||
| 31 | 50 | ▲19 | DEBRUYNE Ramses | Alpecin - Deceuninck | 27:32 | ||
| 32 | 52 | ▲20 | BAGIOLI Andrea | Lidl - Trek | 28:15 | ||
| 33 | 37 | ▲4 | BENOOT Tiesj | Team Visma | Lease a Bike | 30:28 | ||
| 34 | 18 | ▼16 | LÓPEZ Juan Pedro | Lidl - Trek | 31:21 | ||
| 35 | 28 | ▼7 | MAISONOBE Sam | Cofidis | 32:38 | ||
| 36 | 17 | ▼19 | CHRISTEN Jan | UAE Team Emirates - XRG | ,, | ||
| 37 | 44 | ▲7 | POWLESS Neilson | EF Education - EasyPost | 4″ | 32:55 | |
| 38 | 33 | ▼5 | ROMO Javier | Movistar Team | 2″ | 33:04 | |
| 39 | 38 | ▼1 | SIMMONS Quinn | Lidl - Trek | 19″ | 34:19 | |
| 40 | 47 | ▲7 | BILBAO Pello | Bahrain - Victorious | 3″ | 34:21 | |
| 41 | 39 | ▼2 | CAMPRUBÍ Marcel | Q36.5 Pro Cycling Team | ,, | ||
| 42 | 26 | ▼16 | KEPPLINGER Rainer | Bahrain - Victorious | 34:45 | ||
| 43 | 27 | ▼16 | BADILATTI Matteo | Q36.5 Pro Cycling Team | 34:59 | ||
| 44 | 30 | ▼14 | ADRIÀ Roger | Red Bull - BORA - hansgrohe | 35:17 | ||
| 45 | 65 | ▲20 | SCHMID Mauro | Team Jayco AlUla | 5″ | 36:50 | |
| 46 | 36 | ▼10 | VANSEVENANT Mauri | Soudal Quick-Step | 38:11 | ||
| 47 | 41 | ▼6 | SWIFT Ben | INEOS Grenadiers | 4″ | 38:58 | |
| 48 | 32 | ▼16 | LANGELLOTTI Victor | INEOS Grenadiers | 39:09 | ||
| 49 | 58 | ▲9 | VAN DEN BROEK Frank | Team Picnic PostNL | 39:14 | ||
| 50 | 56 | ▲6 | SAMITIER Sergio | Cofidis | 40:22 | ||
| 51 | 48 | ▼3 | HOULE Hugo | Israel - Premier Tech | 41:29 | ||
| 52 | 62 | ▲10 | VERSTRYNGE Emiel | Alpecin - Deceuninck | 5″ | 42:15 | |
| 53 | 53 | - | QUINTANA Nairo | Movistar Team | 42:21 | ||
| 54 | 69 | ▲15 | KRUIJSWIJK Steven | Team Visma | Lease a Bike | 42:39 | ||
| 55 | 83 | ▲28 | JUNGELS Bob | INEOS Grenadiers | 42:44 | ||
| 56 | 59 | ▲3 | FORTUNATO Lorenzo | XDS Astana Team | 3″ | 42:58 | |
| 57 | 51 | ▼6 | OOMEN Sam | Lidl - Trek | 43:45 | ||
| 58 | 66 | ▲8 | AUGUST Andrew | INEOS Grenadiers | 1″ | 43:57 | |
| 59 | 46 | ▼13 | HIRSCHI Marc | Tudor Pro Cycling Team | 44:53 | ||
| 60 | 45 | ▼15 | IZAGIRRE Ion | Cofidis | 45:33 | ||
| 61 | 64 | ▲3 | VERGAERDE Otto | Lidl - Trek | 46:47 | ||
| 62 | 74 | ▲12 | KÜNG Stefan | Groupama - FDJ | 47:25 | ||
| 63 | 71 | ▲8 | BRAMBILLA Gianluca | Q36.5 Pro Cycling Team | 48:54 | ||
| 64 | 60 | ▼4 | LECERF Junior | Soudal Quick-Step | 49:33 | ||
| 65 | 61 | ▼4 | MOHORIČ Matej | Bahrain - Victorious | 49:51 | ||
| 66 | 57 | ▼9 | OLDANI Stefano | Cofidis | 50:15 | ||
| 67 | 63 | ▼4 | GLOAG Thomas | Team Visma | Lease a Bike | 6″ | 50:52 | |
| 68 | 54 | ▼14 | CHRISTEN Fabio | Q36.5 Pro Cycling Team | 6″ | 51:22 | |
| 69 | 73 | ▲4 | CHARMIG Anthon | XDS Astana Team | 51:24 | ||
| 70 | 75 | ▲5 | ENGELHARDT Felix | Team Jayco AlUla | 1″ | 51:38 | |
| 71 | 55 | ▼16 | LIVYNS Arjen | Lotto | 52:40 | ||
| 72 | 80 | ▲8 | WARBASSE Larry | Tudor Pro Cycling Team | 53:38 | ||
| 73 | 77 | ▲4 | PETILLI Simone | Intermarché - Wanty | 54:24 | ||
| 74 | 67 | ▼7 | MORGADO António | UAE Team Emirates - XRG | 55:23 | ||
| 75 | 81 | ▲6 | SERRY Pieter | Soudal Quick-Step | 56:00 | ||
| 76 | 90 | ▲14 | KUYPERS Gerben | Intermarché - Wanty | 56:47 | ||
| 77 | 79 | ▲2 | LAPEIRA Paul | Decathlon AG2R La Mondiale Team | 57:03 | ||
| 78 | 87 | ▲9 | PETERS Nans | Decathlon AG2R La Mondiale Team | 58:00 | ||
| 79 | 68 | ▼11 | LE BERRE Mathis | Arkéa - B&B Hotels | 59:00 | ||
| 80 | 70 | ▼10 | RUTSCH Jonas | Intermarché - Wanty | 5″ | 59:05 | |
| 81 | 72 | ▼9 | SWEENY Harry | EF Education - EasyPost | 59:53 | ||
| 82 | 78 | ▼4 | BAX Sjoerd | Q36.5 Pro Cycling Team | 1:00:29 | ||
| 83 | 108 | ▲25 | COSTA Rui | EF Education - EasyPost | 1:00:30 | ||
| 84 | 88 | ▲4 | GAMPER Patrick | Team Jayco AlUla | 1:01:18 | ||
| 85 | 76 | ▼9 | VAN DEN BOSSCHE Fabio | Alpecin - Deceuninck | 1:01:39 | ||
| 86 | 103 | ▲17 | PAASSCHENS Mathijs | Bahrain - Victorious | 1:02:52 | ||
| 87 | 93 | ▲6 | TJØTTA Martin | Arkéa - B&B Hotels | 1:03:01 | ||
| 88 | 99 | ▲11 | GLIVAR Gal | Alpecin - Deceuninck | 1:03:05 | ||
| 89 | 124 | ▲35 | HAMILTON Lucas | INEOS Grenadiers | 1:03:20 | ||
| 90 | 84 | ▼6 | BURATTI Nicolò | Bahrain - Victorious | 1:04:15 | ||
| 91 | 82 | ▼9 | HUBY Antoine | Soudal Quick-Step | 1:04:18 | ||
| 92 | 130 | ▲38 | MASNADA Fausto | XDS Astana Team | 1:04:54 | ||
| 93 | 107 | ▲14 | WIRTGEN Luc | Tudor Pro Cycling Team | 1:05:04 | ||
| 94 | 85 | ▼9 | OLIVEIRA Nelson | Movistar Team | 1:05:30 | ||
| 95 | 102 | ▲7 | MAAS Jan | Cofidis | 1:05:48 | ||
| 96 | 86 | ▼10 | VAN MOER Brent | Lotto | 5″ | 1:06:52 | |
| 97 | 109 | ▲12 | BJERG Mikkel | UAE Team Emirates - XRG | 1:06:54 | ||
| 98 | 89 | ▼9 | FLYNN Sean | Team Picnic PostNL | 1:07:19 | ||
| 99 | 91 | ▼8 | DURBRIDGE Luke | Team Jayco AlUla | 1:07:41 | ||
| 100 | 92 | ▼8 | LAENGEN Vegard Stake | UAE Team Emirates - XRG | 1:08:29 | ||
| 101 | 95 | ▼6 | ASKEY Lewis | Groupama - FDJ | 4″ | 1:09:42 | |
| 102 | 96 | ▼6 | BATTISTELLA Samuele | EF Education - EasyPost | 1:09:45 | ||
| 103 | 97 | ▼6 | MAYRHOFER Marius | Tudor Pro Cycling Team | 1:10:13 | ||
| 104 | 98 | ▼6 | VAN POPPEL Danny | Red Bull - BORA - hansgrohe | ,, | ||
| 105 | 100 | ▼5 | MIHKELS Madis | EF Education - EasyPost | 1:11:35 | ||
| 106 | 101 | ▼5 | BITTNER Pavel | Team Picnic PostNL | ,, | ||
| 107 | 104 | ▼3 | CLARKE Simon | Israel - Premier Tech | 1:11:46 | ||
| 108 | 106 | ▼2 | BETTIOL Alberto | XDS Astana Team | 1:12:52 | ||
| 109 | 110 | ▲1 | GONZÁLEZ David | Q36.5 Pro Cycling Team | 1:13:17 | ||
| 110 | 113 | ▲3 | MONIQUET Sylvain | Cofidis | 1:14:22 | ||
| 111 | 112 | ▲1 | KAMP Alexander | Intermarché - Wanty | 1:14:48 | ||
| 112 | 115 | ▲3 | VERMOTE Julien | Team Visma | Lease a Bike | 1:16:20 | ||
| 113 | 116 | ▲3 | KOCH Jonas | Red Bull - BORA - hansgrohe | ,, | ||
| 114 | 120 | ▲6 | JOHANSEN Julius | UAE Team Emirates - XRG | 1:17:58 | ||
| 115 | 121 | ▲6 | NABERMAN Tim | Team Picnic PostNL | 1:18:20 | ||
| 116 | 122 | ▲6 | HALLER Marco | Tudor Pro Cycling Team | 1:18:25 | ||
| 117 | 123 | ▲6 | BISSEGGER Stefan | Decathlon AG2R La Mondiale Team | 1:18:44 | ||
| 118 | 125 | ▲7 | ALBANESE Vincenzo | EF Education - EasyPost | 10″ | 1:19:43 | |
| 119 | 126 | ▲7 | FROOME Chris | Israel - Premier Tech | 1:19:47 | ||
| 120 | 127 | ▲7 | GREGAARD Jonas | Lotto | 1:20:16 | ||
| 121 | 105 | ▼16 | UHLIG Henri | Alpecin - Deceuninck | 1:20:22 | ||
| 122 | 128 | ▲6 | VAN SINTMAARTENSDIJK Roel | Intermarché - Wanty | 1:20:31 | ||
| 123 | 129 | ▲6 | BASTIAENS Ayco | Soudal Quick-Step | ,, | ||
| 124 | 131 | ▲7 | DILLIER Silvan | Alpecin - Deceuninck | 1:21:21 | ||
| 125 | 132 | ▲7 | LE HUITOUZE Eddy | Groupama - FDJ | 1:22:26 | ||
| 126 | 114 | ▼12 | WALKER Max | EF Education - EasyPost | 1:22:55 | ||
| 127 | 117 | ▼10 | SÜTTERLIN Jasha | Team Jayco AlUla | 1:25:07 | ||
| 128 | 111 | ▼17 | GRIGNARD Sébastien | Lotto | 1:25:29 | ||
| 129 | 135 | ▲6 | MEEUS Jordi | Red Bull - BORA - hansgrohe | 1:25:53 | ||
| 130 | 136 | ▲6 | BALLERINI Davide | XDS Astana Team | 1:26:19 | ||
| 131 | 139 | ▲8 | TORRES Albert | Movistar Team | 1:26:48 | ||
| 132 | 140 | ▲8 | JANSSENS Jimmy | Alpecin - Deceuninck | 1:28:05 | ||
| 133 | 118 | ▼15 | DE BUYST Jasper | Lotto | 1:28:24 | ||
| 134 | 119 | ▼15 | DE LIE Arnaud | Lotto | ,, | ||
| 135 | 141 | ▲6 | EDMONDSON Alex | Team Picnic PostNL | 1:28:49 | ||
| 136 | 133 | ▼3 | VERRE Alessandro | Arkéa - B&B Hotels | 1:32:42 | ||
| 137 | 138 | ▲1 | KELEMEN Petr | Tudor Pro Cycling Team | 1:33:06 | ||
| 138 | 137 | ▼1 | LE GAC Olivier | Groupama - FDJ | 1:34:22 | ||
| 139 | 134 | ▼5 | MAHOUDO Nolann | Cofidis | 1:36:05 |
Loading