| 1 | Paul SeixasDecathlon CMA CGM Team | 4:37:22 |
| 2 | Jan ChristenUAE Team Emirates XRG | +1:48 |
| 3 | Lenny Sydney MartinezBahrain Victorious | +1:48 |
| 4 | Matteo JorgensonTeam Visma | Lease a Bike | +1:48 |
| 5 | Mattias Skjelmose Jennow JensenLidl-Trek | +2:07 |
| 6 | Davide PiganzoliTeam Visma | Lease a Bike | +2:18 |
| 7 | Egan Arley Bernal GomezIneos Grenadiers | +2:34 |
| 8 | Jefferson Alveiro Cepeda HernandezMovistar Team | +3:46 |
| 9 | Igor Arrieta LizarragaUAE Team Emirates XRG | +4:16 |
| 10 | Matteo VercherTotalenergies | +4:21 |
| 11 | Axel MariaultCIC Pro Cycling Academy | +4:21 |
| 12 | Quentin PacherGroupama-FDJ United | +4:25 |
| 13 | Ben TulettTeam Visma | Lease a Bike | +4:29 |
| 14 | Diego Pescador CastroMovistar Team | +4:31 |
| 15 | Clément ChampoussinXDS Astana Team | +4:40 |
| 16 | Marco BrennerTudor Pro Cycling Team | +4:40 |
| 17 | Simone GualdiLotto Intermarché | +4:45 |
| 18 | Simon CarrCofidis | +5:11 |
| 19 | Andrea BagioliLidl-Trek | +5:12 |
| 20 | Ben HealyEF Education - EasyPost | +5:14 |