
| 1 | Richie Porte | Ineos Grenadiers | 30:30:30h | |
| 2 | Alejandro Valverde | Movistar Team | +4s | |
| 3 | Domenico Pozzovivo | Decathlon AG2R La Mondiale Team | +5s | |
| 4 | Alberto Contador | Tinkoff | +7s | |
| 5 | Rigoberto Urán | Soudal - Quick Step | +18s | |
| 6 | Fabio Aru | XDS Astana Team | +27s | |
| 7 | Jhon Darwin Atapuma Hurtado | BMC Racing Team | +33s | |
| 8 | Rafael Valls | Lampre-Merida | +43s | |
| 9 | Wilco Kelderman | Team Visma / Lease a Bike | +1:09m | |
| 10 | Daniel Martin | EF Education-EasyPost | +1:36m | |
| 11 | Jarlinson Pantano | IAM Cycling | +2:16m | |
| 12 | Sergio Pardilla Bellon | Caja Rural-Seguros RGA | +2:33m | |
| 13 | Esteban Chaves | Team Jayco AlUla | +2:35m | |
| 14 | Giampaolo Caruso | Team Katusha Alpecin | +2:37m | |
| 15 | Steven Kruijswijk | Team Visma / Lease a Bike | +2:43m | |
| 16 | Bart de Clercq | Lotto | +2:48m | |
| 17 | Warren Barguil | Team Giant Alpecin | +3:38m | |
| 18 | Gianluca Brambilla | Soudal - Quick Step | +4:00m | |
| 19 | Yuriy Trofimov | Team Katusha Alpecin | +4:01m | |
| 20 | Amael Moinard | BMC Racing Team | +4:22m | |
| 21 | Vasil Kiryienka | Ineos Grenadiers | +5:28m | |
| 22 | Riccardo Zoidl | Lidl - Trek | +5:45m | |
| 23 | Jurgen van den Broeck | Lotto | +6:41m | |
| 24 | Wout Poels | Ineos Grenadiers | +6:49m | |
| 25 | Luis Ángel Maté | Cofidis | +8:10m | |
| 26 | Haimar Zubeldia Agirre | Lidl - Trek | +11:11m | |
| 27 | Alex Norberto Cano Ardila | Colombia | +11:49m | |
| 28 | Tom Danielson | EF Education-EasyPost | +12:17m | |
| 29 | Paolo Tiralongo | XDS Astana Team | +13:19m | |
| 30 | Tejay van Garderen | BMC Racing Team | +13:48m | |
| 31 | Andrew Talansky | EF Education-EasyPost | +14:28m | |
| 32 | David Arroyo | Caja Rural-Seguros RGA | +14:44m | |
| 33 | Diego Rosa | XDS Astana Team | +16:58m | |
| 34 | Dario Cataldo | XDS Astana Team | +18:22m | |
| 35 | Hubert Dupont | Decathlon AG2R La Mondiale Team | +18:57m | |
| 36 | Pavel Kochetkov | Team Katusha Alpecin | +23:22m | |
| 37 | Andre Cardoso | EF Education-EasyPost | +23:42m | |
| 38 | Nicolas Roche | Ineos Grenadiers | +24:09m | |
| 39 | Pierre Rolland | Team Europcar | +24:56m | |
| 40 | Sergei Chernetski | Team Katusha Alpecin | +25:07m | |
| 41 | José Herrada | Movistar Team | +27:41m | |
| 42 | Maciej Paterski | CCC Sprandi Polkowice | +27:48m | |
| 43 | Jonathan Hivert | Bretagne - Seche Envionnement | +27:51m | |
| 44 | Rudy Molard | Cofidis | +27:55m | |
| 45 | Romain Sicard | Team Europcar | +28:14m | |
| 46 | David López García | Ineos Grenadiers | +29:37m | |
| 47 | Mikel Landa | XDS Astana Team | +32:00m | |
| 48 | Jérôme Coppel | IAM Cycling | +32:26m | |
| 49 | Robert Kiserlovski | Tinkoff | +32:32m | |
| 50 | Enrico Gasparotto | Intermarché - Wanty | +33:33m | |
| 51 | Peter Stetina | BMC Racing Team | +34:13m | |
| 52 | Dylan Teuns | BMC Racing Team | +34:28m | |
| 53 | Cyril Gautier | Team Europcar | +35:15m | |
| 54 | Rubén Fernández | Movistar Team | +35:21m | |
| 55 | Pierre Lecuisinier | Groupama - FDJ | +35:43m | |
| 56 | Eduard Vorganov | Team Katusha Alpecin | +36:16m | |
| 57 | Carlos Verona | Soudal - Quick Step | +36:47m | |
| 58 | Yoann Bagot | Cofidis | +36:48m | |
| 59 | Kevin Reza | Groupama - FDJ | +36:55m | |
| 60 | Julien Simon | Cofidis | +36:57m | |
| 61 | Marco Minnaard | Intermarché - Wanty | +37:28m | |
| 62 | José Joaquín Rojas | Movistar Team | +37:52m | |
| 63 | Christian Meier | Team Jayco AlUla | +38:01m | |
| 64 | Tanel Kangert | XDS Astana Team | +39:17m | |
| 65 | Georg Preidler | Team Giant Alpecin | +40:33m | |
| 66 | Ben Hermans | BMC Racing Team | +42:19m | |
| 67 | Martin Elmiger | IAM Cycling | +42:31m | |
| 68 | Samuel Sanchez | BMC Racing Team | +43:23m | |
| 69 | Francis De Greef | Intermarché - Wanty | +44:53m | |
| 70 | Eduardo Sepúlveda | Bretagne - Seche Envionnement | +45:23m | |
| 71 | Chris Froome | Ineos Grenadiers | +45:35m | |
| 72 | Leopold König | Ineos Grenadiers | +45:39m | |
| 73 | Petr Vakoc | Soudal - Quick Step | +47:11m | |
| 74 | Lawrence Warbasse | IAM Cycling | +47:34m | |
| 75 | Ben Gastauer | Decathlon AG2R La Mondiale Team | +47:41m | |
| 76 | Romain Hardy | Cofidis | +49:57m | |
| 77 | Fabrice Jeandesboz | Team Europcar | +50:41m | |
| 78 | Heiner Rodrigo Parra Bustamente | Caja Rural-Seguros RGA | +51:24m | |
| 79 | Janier Acevedo Calle | EF Education-EasyPost | +51:56m | |
| 80 | Leonardo Duque | Colombia | +52:10m | |
| 81 | Davide Malacarne | XDS Astana Team | +53:26m | |
| 82 | Florian Vachon | Bretagne - Seche Envionnement | +54:56m | |
| 83 | Bryan Coquard | Team Europcar | +55:25m | |
| 84 | Amets Txurruka | Caja Rural-Seguros RGA | +55:40m | |
| 85 | Sylwester Szmyd | CCC Sprandi Polkowice | +58:03m | |
| 86 | Egor Silin | Team Katusha Alpecin | +58:24m | |
| 87 | Steve Chainel | Cofidis | +59:13m | |
| 88 | Sander Armée | Lotto | +59:23m | |
| 89 | Yannick Eijssen | Intermarché - Wanty | +1:01:20h | |
| 90 | Jerome Cousin | Team Europcar | +1:01:32h | |
| 91 | Tsgabu Grmay | Lampre-Merida | +1:04:01h | |
| 92 | Walter Pedraza | Colombia | +1:04:03h | |
| 93 | David De la Cruz | Soudal - Quick Step | +1:04:47h | |
| 94 | Winner Andrew Anacona Gomez | Movistar Team | +1:07:31h | |
| 95 | Jussi Veikkanen | Groupama - FDJ | +1:08:52h | |
| 96 | Pierre-Roger Latour | Decathlon AG2R La Mondiale Team | +1:09:44h | |
| 97 | Adrian Honkisz | CCC Sprandi Polkowice | +1:10:01h | |
| 98 | Manuel Senni | BMC Racing Team | +1:10:06h | |
| 99 | Marek Rutkiewicz | CCC Sprandi Polkowice | +1:11:41h | |
| 100 | Loïc Chetout | Cofidis | +1:12:01h | |
| 101 | Matthieu Boulo | Bretagne - Seche Envionnement | +1:12:20h | |
| 102 | Branislau Samoilau | CCC Sprandi Polkowice | +1:13:14h | |
| 103 | Timo Roosen | Team Visma / Lease a Bike | +1:14:09h | |
| 104 | Ryder Hesjedal | EF Education-EasyPost | +1:15:05h | |
| 105 | Martijn Keizer | Team Visma / Lease a Bike | +1:15:47h | |
| 106 | Carlos Barbero | Caja Rural-Seguros RGA | +1:15:57h | |
| 107 | Luka Mezgec | Team Giant Alpecin | +1:18:45h | |
| 108 | Cameron Meyer | Team Jayco AlUla | +1:19:12h | |
| 109 | Sébastien Minard | Decathlon AG2R La Mondiale Team | +1:19:56h | |
| 110 | Jan Hirt | CCC Sprandi Polkowice | +1:20:19h | |
| 111 | Lluís Mas | Caja Rural-Seguros RGA | +1:20:46h | |
| 112 | Marcel Wyss | IAM Cycling | +1:21:19h | |
| 113 | Stefan Schumacher | CCC Sprandi Polkowice | +1:22:09h | |
| 114 | Christophe Laborie | Bretagne - Seche Envionnement | +1:22:54h | |
| 115 | Sam Bewley | Team Jayco AlUla | +1:29:39h | |
| 116 | Mattia Cattaneo | Lampre-Merida | +1:31:34h | |
| 117 | Johannes Fröhlinger | Team Giant Alpecin | +1:32:15h | |
| 118 | Fumiyuki Beppu | Lidl - Trek | +1:33:59h | |
| 119 | Cayetano José Sarmiento | Colombia | +1:35:33h |
| 1 | Lluís Mas | Caja Rural-Seguros RGA | 11 | |
| 2 | Tom Danielson | EF Education-EasyPost | 5 | |
| 3 | José Herrada | Movistar Team | 4 | |
| 3 | Rudy Molard | Cofidis | 4 | |
| 5 | Riccardo Zoidl | Lidl - Trek | 3 | |
| 5 | David Arroyo | Caja Rural-Seguros RGA | 3 | |
| 5 | Luka Mezgec | Team Giant Alpecin | 3 | |
| 5 | Georg Preidler | Team Giant Alpecin | 3 | |
| 5 | Loïc Chetout | Cofidis | 3 | |
| 5 | Martijn Keizer | Team Visma / Lease a Bike | 3 |
| 1 | Tom Danielson | EF Education-EasyPost | 88 | |
| 2 | José Herrada | Movistar Team | 53 | |
| 3 | Richie Porte | Ineos Grenadiers | 44 | |
| 4 | Riccardo Zoidl | Lidl - Trek | 39 | |
| 5 | Leonardo Duque | Colombia | 36 | |
| 5 | Maciej Paterski | CCC Sprandi Polkowice | 36 | |
| 7 | Alberto Contador | Tinkoff | 35 | |
| 8 | Rudy Molard | Cofidis | 34 | |
| 9 | Domenico Pozzovivo | Decathlon AG2R La Mondiale Team | 32 | |
| 10 | Jérôme Coppel | IAM Cycling | 28 |
| 1 | BMC Racing Team | 91:34:35h |
| 2 | Ineos Grenadiers | +1:46m |
| 3 | EF Education-EasyPost | +6:44m |
| 4 | Soudal - Quick Step | +14:05m |
| 5 | XDS Astana Team | +16:09m |
| 6 | Team Katusha Alpecin | +22:03m |
| 7 | Cofidis | +25:34m |
| 8 | Team Visma / Lease a Bike | +32:10m |
| 9 | Decathlon AG2R La Mondiale Team | +37:11m |
| 10 | Movistar Team | +42:15m |
| 11 | Caja Rural-Seguros RGA | +48:00m |
| 12 | IAM Cycling | +52:07m |
| 13 | Lampre-Merida | +54:14m |
| 14 | Lotto | +55:10m |
| 15 | Team Europcar | +1:06:43h |
| 16 | Groupama - FDJ | +1:09:36h |
| 17 | Lidl - Trek | +1:14:56h |
| 18 | Team Giant Alpecin | +1:17:41h |
| 19 | Bretagne - Seche Envionnement | +1:44:23h |
| 20 | Intermarché - Wanty | +1:46:20h |
| 21 | Team Jayco AlUla | +1:56:43h |
| 22 | Colombia | +3:04:58h |
| 23 | CCC Sprandi Polkowice | +3:24:19h |












