| 1 | Guillermo Thomas Silva CoussanXDS Astana Team | 15:34:12 |
| 2 | Lennert Van EetveltLotto Intermarché | +0:14 |
| 3 | Alessandro PinarelloNSN Cycling Team | +0:25 |
| 4 | Felix EngelhardtTeam Jayco AlUla | +0:35 |
| 5 | Sebastian BerwickCaja Rural-Seguros RGA | +0:36 |
| 6 | Thomas BonnetTotalenergies | +0:39 |
| 7 | Wouter PoelsUnibet Rose Rockets | +0:40 |
| 8 | Cedrik Bakke ChristophersenUnibet Rose Rockets | +0:42 |
| 9 | Joris DelboveTotalenergies | +0:44 |
| 10 | Johannes KulsetUNO-X Mobility | +0:55 |
| 11 | Robbe DhondtTeam Picnic PostNL | +1:06 |
| 12 | Mark Jamie DonovanPinarello-Q36.5 Pro Cycling Team | +1:13 |
| 13 | Ludovico CrescioliTeam Polti Visitmalta | +1:14 |
| 14 | Kevin Andre Sandli MesselTeam Ringerike | +1:24 |
| 15 | Jon Agirre EgañaEuskaltel-Euskadi | +1:25 |
| 16 | Byron MuntonModern Adventure Pro Cycling | +1:28 |
| 17 | Gotzon Martin SanzEuskaltel-Euskadi | +1:31 |
| 18 | Odd Christian EikingUnibet Rose Rockets | +1:50 |
| 19 | Damien Craig HowsonPinarello-Q36.5 Pro Cycling Team | +1:53 |
| 20 | Louis SuttonEuskaltel-Euskadi | +2:02 |