
| 1 | Jon Izaguirre | Movistar Team | 26:04:38h | |
| 2 | Bart de Clercq | Lotto | +2s | |
| 3 | Ben Hermans | BMC Racing Team | +3s | |
| 4 | Ilnur Zakarin | Team Katusha Alpecin | +14s | |
| 5 | Fabio Aru | XDS Astana Team | +15s | |
| 6 | Diego Ulissi | Lampre-Merida | +19s | |
| 7 | Christophe Riblon | Decathlon AG2R La Mondiale Team | +40s | |
| 8 | Sergio Henao | Ineos Grenadiers | +54s | |
| 9 | Davide Formolo | EF Education-EasyPost | +1:23m | |
| 10 | Mikel Nieve | Ineos Grenadiers | +1:32m | |
| 11 | Davide Rebellin | CCC Sprandi Polkowice | +1:59m | |
| 12 | Sébastien Reichenbach | IAM Cycling | +2:06m | |
| 13 | Chris Anker Sørensen | Tinkoff | +2:32m | |
| 14 | Riccardo Zoidl | Lidl - Trek | +2:54m | |
| 15 | Jurgen van den Broeck | Lotto | +3:41m | |
| 16 | Maxime Monfort | Lotto | +4:13m | |
| 17 | Lawson Craddock | Team Giant Alpecin | +4:33m | |
| 18 | Amael Moinard | BMC Racing Team | +5:48m | |
| 19 | Robert Kiserlovski | Tinkoff | +7:32m | |
| 20 | Eduard Vorganov | Team Katusha Alpecin | +9:55m | |
| 21 | George Bennett | Team Visma / Lease a Bike | +9:56m | |
| 22 | Tomasz Marczyński | Reprezentacja Polski | +11:35m | |
| 23 | Kenny Elissonde | Groupama - FDJ | +12:19m | |
| 24 | Paolo Tiralongo | XDS Astana Team | +12:55m | |
| 25 | Lawrence Warbasse | IAM Cycling | +15:36m | |
| 26 | Gianluca Brambilla | Soudal - Quick Step | +18:23m | |
| 27 | Maciej Paterski | CCC Sprandi Polkowice | +19:37m | |
| 28 | Diego Rosa | XDS Astana Team | +19:43m | |
| 29 | Andrey Zeits | XDS Astana Team | +19:45m | |
| 30 | Jhon Darwin Atapuma Hurtado | BMC Racing Team | +20:27m | |
| 31 | Petr Vakoc | Soudal - Quick Step | +21:33m | |
| 32 | Sander Armée | Lotto | +21:52m | |
| 33 | Jesper Hansen | Tinkoff | +22:07m | |
| 34 | Igor Antón Hernandez | Movistar Team | +23:18m | |
| 35 | Peter Velits | BMC Racing Team | +26:06m | |
| 36 | Davide Villella | EF Education-EasyPost | +26:34m | |
| 37 | Evgeni Petrov | Tinkoff | +27:57m | |
| 38 | Branislau Samoilau | CCC Sprandi Polkowice | +28:14m | |
| 39 | Dario Cataldo | XDS Astana Team | +28:55m | |
| 40 | Manuele Mori | Lampre-Merida | +29:26m | |
| 41 | Christian Meier | Team Jayco AlUla | +30:33m | |
| 42 | Carlos Verona | Soudal - Quick Step | +31:40m | |
| 43 | Salvatore Puccio | Ineos Grenadiers | +31:44m | |
| 44 | Mattia Cattaneo | Lampre-Merida | +32:36m | |
| 45 | Moreno Moser | EF Education-EasyPost | +32:36m | |
| 46 | Clement Chevrier | IAM Cycling | +32:38m | |
| 47 | Maxime Bouet | Soudal - Quick Step | +36:13m | |
| 48 | Bram Tankink | Team Visma / Lease a Bike | +36:42m | |
| 49 | Silvan Dillier | BMC Racing Team | +36:53m | |
| 50 | Stefan Denifl | IAM Cycling | +37:09m | |
| 51 | Michał Gołaś | Soudal - Quick Step | +37:19m | |
| 52 | Ian Boswell | Ineos Grenadiers | +37:57m | |
| 53 | Pawel Poljanski | Tinkoff | +38:05m | |
| 54 | Eros Capecchi | Movistar Team | +38:11m | |
| 55 | David López García | Ineos Grenadiers | +39:28m | |
| 56 | Johannes Fröhlinger | Team Giant Alpecin | +42:18m | |
| 57 | Przemyslaw Niemiec | Lampre-Merida | +42:26m | |
| 58 | Arnold Jeanneson | Groupama - FDJ | +43:36m | |
| 59 | Alessandro De Marchi | BMC Racing Team | +45:05m | |
| 60 | Bert-Jan Lindeman | Team Visma / Lease a Bike | +47:06m | |
| 61 | Marek Rutkiewicz | CCC Sprandi Polkowice | +47:35m | |
| 62 | Philip Deignan | Ineos Grenadiers | +49:13m | |
| 63 | Vegard Breen | Lotto | +50:02m | |
| 64 | Rinaldo Nocentini | Decathlon AG2R La Mondiale Team | +50:52m | |
| 65 | Francisco Jose Ventoso Alberdi | Movistar Team | +51:11m | |
| 66 | Valerio Conti | Lampre-Merida | +51:34m | |
| 67 | Jan Hirt | CCC Sprandi Polkowice | +53:00m | |
| 68 | Axel Domont | Decathlon AG2R La Mondiale Team | +53:14m | |
| 69 | Guillaume Bonnafond | Decathlon AG2R La Mondiale Team | +53:15m | |
| 70 | Matej Mohorič | EF Education-EasyPost | +53:35m | |
| 71 | Sven Erik Bystrøm | Team Katusha Alpecin | +53:36m | |
| 72 | Nikolay Mihaylov | CCC Sprandi Polkowice | +53:40m | |
| 73 | Grega Bole | CCC Sprandi Polkowice | +53:41m | |
| 74 | Laurent Pichon | Groupama - FDJ | +54:54m | |
| 75 | Pawel Franczak | Reprezentacja Polski | +55:03m | |
| 76 | Edward Beltran Suarez | Tinkoff | +55:12m | |
| 77 | Kamil Zielinski | Reprezentacja Polski | +1:01:44h | |
| 78 | Vicente Reynès Mimo | IAM Cycling | +1:02:13h | |
| 79 | Fumiyuki Beppu | Lidl - Trek | +1:02:28h | |
| 80 | Adam Stachowiak | Reprezentacja Polski | +1:02:43h | |
| 81 | Sergei Chernetski | Team Katusha Alpecin | +1:02:48h | |
| 82 | Dariusz Batek | Reprezentacja Polski | +1:02:49h | |
| 83 | Dennis van Winden | Team Visma / Lease a Bike | +1:03:13h | |
| 84 | Jonathan Fumeaux | IAM Cycling | +1:03:32h | |
| 85 | Maciej Bodnar | Tinkoff | +1:03:55h | |
| 86 | Matthew Hayman | Team Jayco AlUla | +1:04:09h | |
| 87 | Olivier Le Gac | Groupama - FDJ | +1:04:46h | |
| 88 | Kamil Gradek | Reprezentacja Polski | +1:04:53h | |
| 89 | Vasil Kiryienka | Ineos Grenadiers | +1:05:39h | |
| 90 | Jussi Veikkanen | Groupama - FDJ | +1:06:04h | |
| 91 | Mitchell Docker | Team Jayco AlUla | +1:06:53h | |
| 92 | Luka Mezgec | Team Giant Alpecin | +1:07:05h | |
| 93 | Gatis Smukulis | Team Katusha Alpecin | +1:08:09h | |
| 94 | Damien Howson | Team Jayco AlUla | +1:10:32h | |
| 95 | Yaroslav Popovych | Lidl - Trek | +1:11:56h | |
| 96 | Tom van Asbroeck | Team Visma / Lease a Bike | +1:12:42h | |
| 97 | Roger Kluge | IAM Cycling | +1:14:42h | |
| 98 | Jesse Sergent | Lidl - Trek | +1:15:25h | |
| 99 | Sébastien Turgot | Decathlon AG2R La Mondiale Team | +1:15:31h | |
| 100 | Caleb Ewan | Team Jayco AlUla | +1:17:06h | |
| 101 | Kristoffer Skjerping | EF Education-EasyPost | +1:17:18h | |
| 102 | Marcin Białobłocki | Reprezentacja Polski | +1:18:34h | |
| 103 | Patrick Gretsch | Decathlon AG2R La Mondiale Team | +1:20:44h | |
| 104 | Marcel Kittel | Team Giant Alpecin | +1:21:59h | |
| 105 | Gediminas Bagdonas | Decathlon AG2R La Mondiale Team | +1:24:47h | |
| 106 | Jasha Sütterlin | Movistar Team | +1:28:17h | |
| 107 | Xabier Zandio Echaide | Ineos Grenadiers | +1:29:24h | |
| 108 | Tom Stamsnijder | Team Giant Alpecin | +1:29:50h | |
| 109 | Martijn Keizer | Team Visma / Lease a Bike | +1:35:25h | |
| 110 | Marco Coledan | Lidl - Trek | +1:37:01h | |
| 111 | Rick Flens | Team Visma / Lease a Bike | +1:37:19h | |
| 112 | Brett Lancaster | Team Jayco AlUla | +1:41:31h | |
| 113 | Bert De Backer | Team Giant Alpecin | +1:42:05h |
| 1 | Marcel Kittel | Team Giant Alpecin | 53 | |
| 2 | Jon Izaguirre | Movistar Team | 50 | |
| 3 | Ben Hermans | BMC Racing Team | 46 | |
| 4 | Sébastien Turgot | Decathlon AG2R La Mondiale Team | 44 | |
| 5 | Caleb Ewan | Team Jayco AlUla | 41 | |
| 6 | Bart de Clercq | Lotto | 40 | |
| 7 | Diego Ulissi | Lampre-Merida | 38 | |
| 8 | Sergio Henao | Ineos Grenadiers | 37 | |
| 9 | Tom van Asbroeck | Team Visma / Lease a Bike | 36 | |
| 10 | Ilnur Zakarin | Team Katusha Alpecin | 34 | |
| 10 | Fabio Aru | XDS Astana Team | 34 | |
| 12 | Maciej Bodnar | Tinkoff | 31 | |
| 13 | Christophe Riblon | Decathlon AG2R La Mondiale Team | 30 | |
| 14 | Salvatore Puccio | Ineos Grenadiers | 29 | |
| 15 | Mikel Nieve | Ineos Grenadiers | 25 | |
| 16 | Patrick Gretsch | Decathlon AG2R La Mondiale Team | 24 | |
| 17 | Davide Rebellin | CCC Sprandi Polkowice | 23 | |
| 18 | Davide Formolo | EF Education-EasyPost | 22 | |
| 19 | Sébastien Reichenbach | IAM Cycling | 21 | |
| 20 | Marcin Białobłocki | Reprezentacja Polski | 20 | |
| 21 | Kamil Zielinski | Reprezentacja Polski | 19 | |
| 21 | Vasil Kiryienka | Ineos Grenadiers | 19 | |
| 23 | Rick Flens | Team Visma / Lease a Bike | 18 | |
| 23 | Gatis Smukulis | Team Katusha Alpecin | 18 | |
| 23 | Jurgen van den Broeck | Lotto | 18 | |
| 23 | Lawson Craddock | Team Giant Alpecin | 18 | |
| 23 | Pawel Franczak | Reprezentacja Polski | 18 | |
| 28 | Dennis van Winden | Team Visma / Lease a Bike | 17 | |
| 28 | Damien Howson | Team Jayco AlUla | 17 | |
| 30 | Luka Mezgec | Team Giant Alpecin | 16 | |
| 30 | Riccardo Zoidl | Lidl - Trek | 16 | |
| 32 | Tomasz Marczyński | Reprezentacja Polski | 13 | |
| 32 | Silvan Dillier | BMC Racing Team | 13 | |
| 34 | Petr Vakoc | Soudal - Quick Step | 12 | |
| 34 | Sven Erik Bystrøm | Team Katusha Alpecin | 12 | |
| 34 | Mitchell Docker | Team Jayco AlUla | 12 | |
| 34 | Chris Anker Sørensen | Tinkoff | 12 | |
| 34 | Olivier Le Gac | Groupama - FDJ | 12 | |
| 39 | Roger Kluge | IAM Cycling | 11 | |
| 39 | Gianluca Brambilla | Soudal - Quick Step | 11 | |
| 41 | Kristoffer Skjerping | EF Education-EasyPost | 10 | |
| 42 | Manuele Mori | Lampre-Merida | 9 | |
| 42 | Eduard Vorganov | Team Katusha Alpecin | 9 | |
| 44 | Grega Bole | CCC Sprandi Polkowice | 8 | |
| 44 | Moreno Moser | EF Education-EasyPost | 8 | |
| 46 | Jesse Sergent | Lidl - Trek | 7 | |
| 46 | Peter Velits | BMC Racing Team | 7 | |
| 46 | Jesper Hansen | Tinkoff | 7 | |
| 49 | Robert Kiserlovski | Tinkoff | 6 | |
| 49 | Igor Antón Hernandez | Movistar Team | 6 | |
| 49 | Maxime Bouet | Soudal - Quick Step | 6 | |
| 52 | Marco Coledan | Lidl - Trek | 5 | |
| 53 | Christian Meier | Team Jayco AlUla | 4 | |
| 54 | Andrey Zeits | XDS Astana Team | 3 | |
| 54 | Pawel Poljanski | Tinkoff | 3 | |
| 54 | Martijn Keizer | Team Visma / Lease a Bike | 3 | |
| 54 | Jhon Darwin Atapuma Hurtado | BMC Racing Team | 3 | |
| 58 | Diego Rosa | XDS Astana Team | 2 | |
| 58 | Maciej Paterski | CCC Sprandi Polkowice | 2 | |
| 60 | Maxime Monfort | Lotto | 1 | |
| 60 | Kenny Elissonde | Groupama - FDJ | 1 |
| 1 | Maciej Paterski | CCC Sprandi Polkowice | 44 | |
| 2 | Grega Bole | CCC Sprandi Polkowice | 40 | |
| 3 | Edward Beltran Suarez | Tinkoff | 38 | |
| 4 | Michał Gołaś | Soudal - Quick Step | 26 | |
| 5 | Kamil Zielinski | Reprezentacja Polski | 25 | |
| 5 | Diego Rosa | XDS Astana Team | 25 | |
| 7 | Ben Hermans | BMC Racing Team | 22 | |
| 8 | Vegard Breen | Lotto | 20 | |
| 8 | Bram Tankink | Team Visma / Lease a Bike | 20 | |
| 10 | Gatis Smukulis | Team Katusha Alpecin | 17 | |
| 10 | Mikel Nieve | Ineos Grenadiers | 17 | |
| 10 | Sergio Henao | Ineos Grenadiers | 17 | |
| 13 | Fabio Aru | XDS Astana Team | 14 | |
| 13 | Bart de Clercq | Lotto | 14 | |
| 15 | Pawel Poljanski | Tinkoff | 13 | |
| 16 | Maciej Bodnar | Tinkoff | 12 | |
| 16 | Salvatore Puccio | Ineos Grenadiers | 12 | |
| 18 | Lawson Craddock | Team Giant Alpecin | 10 | |
| 18 | Andrey Zeits | XDS Astana Team | 10 | |
| 18 | Chris Anker Sørensen | Tinkoff | 10 | |
| 21 | Paolo Tiralongo | XDS Astana Team | 9 | |
| 22 | Alessandro De Marchi | BMC Racing Team | 7 | |
| 22 | Philip Deignan | Ineos Grenadiers | 7 | |
| 22 | Davide Formolo | EF Education-EasyPost | 7 | |
| 22 | Arnold Jeanneson | Groupama - FDJ | 7 | |
| 26 | Gianluca Brambilla | Soudal - Quick Step | 6 | |
| 27 | Marek Rutkiewicz | CCC Sprandi Polkowice | 5 | |
| 27 | Tomasz Marczyński | Reprezentacja Polski | 5 | |
| 29 | Carlos Verona | Soudal - Quick Step | 4 | |
| 29 | Martijn Keizer | Team Visma / Lease a Bike | 4 | |
| 31 | Ian Boswell | Ineos Grenadiers | 3 | |
| 31 | Marcin Białobłocki | Reprezentacja Polski | 3 | |
| 31 | Matej Mohorič | EF Education-EasyPost | 3 | |
| 31 | Przemyslaw Niemiec | Lampre-Merida | 3 | |
| 31 | Sébastien Reichenbach | IAM Cycling | 3 | |
| 36 | Jasha Sütterlin | Movistar Team | 2 | |
| 36 | Sébastien Turgot | Decathlon AG2R La Mondiale Team | 2 | |
| 36 | Kenny Elissonde | Groupama - FDJ | 2 | |
| 36 | Sander Armée | Lotto | 2 | |
| 36 | Davide Rebellin | CCC Sprandi Polkowice | 2 | |
| 36 | Eduard Vorganov | Team Katusha Alpecin | 2 | |
| 36 | Valerio Conti | Lampre-Merida | 2 | |
| 43 | Maxime Bouet | Soudal - Quick Step | 1 |












