| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Tadej Pogacar | UAE Team Emirates | 05:28:57 | |
| 2 | Jonas Vingegaard | Jumbo-Visma | + 01:03 | + 01:03 |
| 3 | Mikel Landa | Bahrain Victorious | + 01:03 | + 01:03 |
| 4 | Richie Porte | INEOS Grenadiers | + 01:34 | + 01:34 |
| 5 | Damiano Caruso | Bahrain Victorious | + 01:49 | + 01:49 |
| 6 | Jai Hindley | BORA-hansgrohe | + 01:49 | + 01:49 |
| 7 | Thibaut Pinot | Groupama-FDJ | + 01:49 | + 01:49 |
| 8 | Giulio Ciccone | Trek-Segafredo | + 02:23 | + 02:23 |
| 9 | Pello Bilbao | Bahrain Victorious | + 02:23 | + 02:23 |
| 10 | Thymen Arensman | Team DSM | + 02:23 | + 02:23 |
| 11 | Romain Bardet | Team DSM | + 02:23 | + 02:23 |
| 12 | Domenico Pozzovivo | Intermarché-Wanty-Gobert Matériaux | + 03:42 | + 03:42 |
| 13 | Remco Evenepoel | Quick-Step Alpha Vinyl Team | + 04:01 | + 04:01 |
| 14 | Cristian Rodriguez | TotalEnergies | + 04:19 | + 04:19 |
| 15 | Rafal Majka | UAE Team Emirates | + 04:19 | + 04:19 |
| 16 | Victor Lafay | Cofidis | + 05:00 | + 05:00 |
| 17 | Lorenzo Fortunato | EOLO-Kometa Cycling Team | + 05:00 | + 05:00 |
| 18 | Warren Barguil | Team Arkéa-Samsic | + 05:02 | + 05:02 |
| 19 | Rigoberto Uran | EF Education-EasyPost | + 05:02 | + 05:02 |
| 20 | Marc Soler | UAE Team Emirates | + 05:17 | + 05:17 |
| 21 | Enric Mas | Movistar Team | + 05:21 | + 05:21 |
| 22 | Eduardo Sepulveda | Drone Hopper-Androni Giocattoli | + 06:24 | + 06:24 |
| 23 | Geoffrey Bouchard | AG2R Citroën Team | + 06:24 | + 06:24 |
| 24 | Wilco Kelderman | BORA-hansgrohe | + 06:24 | + 06:24 |
| 25 | Simone Velasco | Astana Qazaqstan Team | + 07:24 | + 07:24 |
| 26 | Ángel López Miguel | Astana Qazaqstan Team | + 07:24 | + 07:24 |
| 27 | Diego Rosa | EOLO-Kometa Cycling Team | + 07:24 | + 07:24 |
| 28 | Bob Jungels | AG2R Citroën Team | + 07:50 | + 07:50 |
| 29 | Davide Villella | Cofidis | + 09:01 | + 09:01 |
| 30 | Lorenzo Rota | Intermarché-Wanty-Gobert Matériaux | + 09:55 | + 09:55 |
| 31 | Tao Geoghegan Hart | INEOS Grenadiers | + 11:26 | + 11:26 |
| 32 | Alexander Cepeda | Drone Hopper-Androni Giocattoli | + 12:14 | + 12:14 |
| 33 | Edoardo Zardini | Drone Hopper-Androni Giocattoli | + 14:12 | + 14:12 |
| 34 | Jonathan Caicedo | EF Education-EasyPost | + 14:12 | + 14:12 |
| 35 | Maxime Bouet | Team Arkéa-Samsic | + 14:12 | + 14:12 |
| 36 | Koen Bouwman | Jumbo-Visma | + 14:12 | + 14:12 |
| 37 | Emanuel Buchmann | BORA-hansgrohe | + 14:50 | + 14:50 |
| 38 | Dario Cataldo | Trek-Segafredo | + 14:50 | + 14:50 |
| 39 | Anthony Perez | Cofidis | + 15:54 | + 15:54 |
| 40 | Julian Alaphilippe | Quick-Step Alpha Vinyl Team | + 15:54 | + 15:54 |
| 41 | Alex Aranburu | Movistar Team | + 15:59 | + 15:59 |
| 42 | Nelson Oliveira | Movistar Team | + 16:53 | + 16:53 |
| 43 | Antoine Duchesne | Groupama-FDJ | + 17:09 | + 17:09 |
| 44 | Tobias Ludvigsson | Groupama-FDJ | + 17:09 | + 17:09 |
| 45 | Matteo Fabbro | BORA-hansgrohe | + 17:11 | + 17:11 |
| 46 | Davide Formolo | UAE Team Emirates | + 17:11 | + 17:11 |
| 47 | Ben Swift | INEOS Grenadiers | + 17:11 | + 17:11 |
| 48 | Lilian Calmejane | AG2R Citroën Team | + 18:30 | + 18:30 |
| 49 | Francesco Gavazzi | EOLO-Kometa Cycling Team | + 18:45 | + 18:45 |
| 50 | Michael Valgren | EF Education-EasyPost | + 18:48 | + 18:48 |
| 51 | Gianluca Brambilla | Trek-Segafredo | + 18:58 | + 18:58 |
| 52 | Toms Skujins | Trek-Segafredo | + 19:09 | + 19:09 |
| 53 | Quinn Simmons | Trek-Segafredo | + 19:09 | + 19:09 |
| 54 | Jakob Fuglsang | Israel-Premier Tech | + 20:08 | + 20:08 |
| 55 | Michael Schär | AG2R Citroën Team | + 20:08 | + 20:08 |
| 56 | Natnael Tesfazion | Drone Hopper-Androni Giocattoli | + 20:08 | + 20:08 |
| 57 | Tsgabu Grmay | Team BikeExchange-Jayco | + 20:08 | + 20:08 |
| 58 | Chris Hamilton | Team DSM | + 22:07 | + 22:07 |
| 59 | Alessandro Tonelli | Bardiani CSF Faizanè | + 22:17 | + 22:17 |
| 60 | Julien Simon | TotalEnergies | + 23:15 | + 23:15 |
| 61 | Lawson Craddock | Team BikeExchange-Jayco | + 24:01 | + 24:01 |
| 62 | Benoît Cosnefroy | AG2R Citroën Team | + 24:43 | + 24:43 |
| 63 | Jos van Emden | Jumbo-Visma | + 26:10 | + 26:10 |
| 64 | Matteo Sobrero | Team BikeExchange-Jayco | + 26:10 | + 26:10 |
| 65 | Kasper Asgreen | Quick-Step Alpha Vinyl Team | + 26:10 | + 26:10 |
| 66 | Filippo Ganna | INEOS Grenadiers | + 26:10 | + 26:10 |
| 67 | Nikias Arndt | Team DSM | + 26:10 | + 26:10 |
| 68 | Tosh van der Sande | Jumbo-Visma | + 26:10 | + 26:10 |
| 69 | Xandro Meurisse | Alpecin-Deceuninck | + 26:10 | + 26:10 |
| 70 | Davide Gabburo | Bardiani CSF Faizanè | + 26:10 | + 26:10 |
| 71 | Jorge Arcas | Movistar Team | + 26:10 | + 26:10 |
| 72 | Einer Rubio | Movistar Team | + 26:10 | + 26:10 |
| 73 | Michael Matthews | Team BikeExchange-Jayco | + 26:30 | + 26:30 |
| 74 | Alexander Konychev | Team BikeExchange-Jayco | + 26:30 | + 26:30 |
| 75 | Benjamin Thomas | Cofidis | + 26:30 | + 26:30 |
| 76 | Davide Ballerini | Quick-Step Alpha Vinyl Team | + 28:08 | + 28:08 |
| 77 | Gianni Vermeersch | Alpecin-Deceuninck | + 28:08 | + 28:08 |
| 78 | Martijn Tusveld | Team DSM | + 28:13 | + 28:13 |
| 79 | Andrea Pasqualon | Intermarché-Wanty-Gobert Matériaux | + 28:50 | + 28:50 |
| 80 | Cesare Benedetti | BORA-hansgrohe | + 28:50 | + 28:50 |
| 81 | Andrea Vendrame | AG2R Citroën Team | + 28:50 | + 28:50 |
| 82 | Mathias Norsgaard | Movistar Team | + 29:20 | + 29:20 |
| 83 | Alan Riou | Team Arkéa-Samsic | + 29:36 | + 29:36 |
| 84 | Mikkel Honore | Quick-Step Alpha Vinyl Team | + 30:15 | + 30:15 |
| 85 | Edvald Boasson-hagen | TotalEnergies | + 30:15 | + 30:15 |
| 86 | Daryl Impey | Israel-Premier Tech | + 30:15 | + 30:15 |
| 87 | Krists Neilands | Israel-Premier Tech | + 30:15 | + 30:15 |
| 88 | Umberto Marengo | Drone Hopper-Androni Giocattoli | + 30:15 | + 30:15 |
| 89 | Jhonatan Restrepo | Drone Hopper-Androni Giocattoli | + 30:15 | + 30:15 |
| 90 | Mirco Maestri | EOLO-Kometa Cycling Team | + 30:15 | + 30:15 |
| 91 | Jan Tratnik | Bahrain Victorious | + 30:15 | + 30:15 |
| 92 | Greg van Avermaet | AG2R Citroën Team | + 30:15 | + 30:15 |
| 93 | Valentin Ferron | TotalEnergies | + 30:15 | + 30:15 |
| 94 | Marco Haller | BORA-hansgrohe | + 30:15 | + 30:15 |
| 95 | Robert Stannard | Alpecin-Deceuninck | + 30:15 | + 30:15 |
| 96 | Magnus Cort | EF Education-EasyPost | + 30:25 | + 30:25 |
| 97 | Josef Cerný | Quick-Step Alpha Vinyl Team | + 30:25 | + 30:25 |
| 98 | Olav Kooij | Jumbo-Visma | + 31:31 | + 31:31 |
| 99 | Manuele Boaro | Astana Qazaqstan Team | + 31:34 | + 31:34 |
| 100 | Daniel Oss | TotalEnergies | + 31:50 | + 31:50 |
| 101 | Gianni Moscon | Astana Qazaqstan Team | + 31:50 | + 31:50 |
| 102 | Rick Zabel | Israel-Premier Tech | + 31:50 | + 31:50 |
| 103 | Clément Russo | Team Arkéa-Samsic | + 31:50 | + 31:50 |
| 104 | Alex Dowsett | Israel-Premier Tech | + 31:50 | + 31:50 |
| 105 | Joris Nieuwenhuis | Team DSM | + 31:50 | + 31:50 |
| 106 | Johnatan Cañaveral | Bardiani CSF Faizanè | + 31:50 | + 31:50 |
| 107 | Luca Rastelli | Bardiani CSF Faizanè | + 31:54 | + 31:54 |
| 108 | Giovanni Lonardi | EOLO-Kometa Cycling Team | + 31:54 | + 31:54 |
| 109 | Matthias Brändle | Israel-Premier Tech | + 31:54 | + 31:54 |
| 110 | Alexander Kristoff | Intermarché-Wanty-Gobert Matériaux | + 31:54 | + 31:54 |
| 111 | Giacomo Nizzolo | Israel-Premier Tech | + 31:54 | + 31:54 |
| 112 | Erik Bystrøm Sven | Intermarché-Wanty-Gobert Matériaux | + 31:54 | + 31:54 |
| 113 | Michael Gogl | Alpecin-Deceuninck | + 31:54 | + 31:54 |
| 114 | Edward Planckaert | Alpecin-Deceuninck | + 31:54 | + 31:54 |
| 115 | Vincenzo Albanese | EOLO-Kometa Cycling Team | + 31:54 | + 31:54 |
| 116 | Ramon Sinkeldam | Groupama-FDJ | + 31:54 | + 31:54 |
| 117 | Davide Martinelli | Astana Qazaqstan Team | + 31:54 | + 31:54 |
| 118 | Roger Kluge | Lotto-Soudal | + 31:54 | + 31:54 |
| 119 | Michael Schwarzmann | Lotto-Soudal | + 31:54 | + 31:54 |
| 120 | Arnaud Démare | Groupama-FDJ | + 31:54 | + 31:54 |
| 121 | Ignatas Konovalovas | Groupama-FDJ | + 31:54 | + 31:54 |
| 122 | Sacha Modolo | Bardiani CSF Faizanè | + 31:54 | + 31:54 |
| 123 | Heinrich Haussler | Bahrain Victorious | + 31:54 | + 31:54 |
| 124 | Tim Merlier | Alpecin-Deceuninck | + 31:54 | + 31:54 |
| 125 | Edward Theuns | Trek-Segafredo | + 31:54 | + 31:54 |
| 126 | Thomas Scully | EF Education-EasyPost | + 31:54 | + 31:54 |
| 127 | Davide Cimolai | Cofidis | + 31:54 | + 31:54 |
| 128 | Sepp Kuss | Jumbo-Visma | + 31:54 | + 31:54 |
| 129 | Harry Sweeny | Lotto-Soudal | + 32:51 | + 32:51 |
| 130 | Maciej Bodnar | TotalEnergies | + 33:10 | + 33:10 |
| 131 | Leonardo Basso | Astana Qazaqstan Team | + 33:10 | + 33:10 |
| 132 | Jasha Sütterlin | Bahrain Victorious | + 33:10 | + 33:10 |
| 133 | Alex Edmondson | Team BikeExchange-Jayco | + 33:10 | + 33:10 |
| 134 | Phil Bauhaus | Bahrain Victorious | + 33:18 | + 33:18 |
| 135 | Davide Bais | EOLO-Kometa Cycling Team | + 33:34 | + 33:34 |
| 136 | Mattia Bais | Drone Hopper-Androni Giocattoli | + 33:34 | + 33:34 |
| 137 | Mikkel Bjerg | UAE Team Emirates | + 34:41 | + 34:41 |
| 138 | Kaden Groves | Team BikeExchange-Jayco | + 34:41 | + 34:41 |
| 139 | Pascal Ackermann | UAE Team Emirates | + 34:41 | + 34:41 |
| 140 | Jacopo Guarnieri | Groupama-FDJ | + 34:41 | + 34:41 |
| 141 | Mark Cavendish | Quick-Step Alpha Vinyl Team | + 34:41 | + 34:41 |
| 142 | Maximiliano Richeze | UAE Team Emirates | + 34:41 | + 34:41 |
| 143 | Jordi Meeus | BORA-hansgrohe | + 34:41 | + 34:41 |
| 144 | Edoardo Affini | Jumbo-Visma | + 35:02 | + 35:02 |
| 145 | Adrien Petit | Intermarché-Wanty-Gobert Matériaux | + 35:02 | + 35:02 |
| 146 | Matteo Moschetti | Trek-Segafredo | + 35:02 | + 35:02 |
| 147 | Taco van der Hoorn | Intermarché-Wanty-Gobert Matériaux | + 35:02 | + 35:02 |
| 148 | Filippo Fiorelli | Bardiani CSF Faizanè | + 36:17 | + 36:17 |
| 149 | Alberto Dainese | Team DSM | + 36:58 | + 36:58 |