| 1 | Christian ScaroniXDS Astana Team | 19:33:16 |
| 2 | Cristian Rodriguez MartinXDS Astana Team | +0:24 |
| 3 | Adam Richard YatesUAE Team Emirates XRG | +0:44 |
| 4 | Mauro SchmidTeam Jayco AlUla | +0:44 |
| 5 | Paul DoubleTeam Jayco AlUla | +0:44 |
| 6 | Sebastian BerwickCaja Rural-Seguros RGA | +0:45 |
| 7 | Nairo Alexander Quintana RojasMovistar Team | +0:52 |
| 8 | Diego Pescador CastroMovistar Team | +0:53 |
| 9 | Martin TjøttaUNO-X Mobility | +1:06 |
| 10 | Louis RoulandCofidis | +1:07 |
| 11 | Diego UlissiXDS Astana Team | +1:12 |
| 12 | Christopher HarperPinarello-Q36.5 Pro Cycling Team | +1:15 |
| 13 | Jesus Herrada LopezBurgos-Burpellet-BH | +1:50 |
| 14 | William BartaTudor Pro Cycling Team | +1:52 |
| 15 | Niels DriesenLotto - Groupe Wanty | +1:59 |
| 16 | Harm VanhouckePinarello-Q36.5 Pro Cycling Team | +2:04 |
| 17 | Lukas NerurkarEF Education - EasyPost | +2:23 |
| 18 | Jan Castellon RibaltaCaja Rural-Seguros RGA | +2:31 |
| 19 | Simone GualdiLotto Intermarché | +3:05 |
| 20 | Jefferson Cepeda OrtizEF Education - EasyPost | +3:07 |