| 1 | | 20 | EF Education - EasyPost | 08:22:39 |
| 2 | | 20 | Uno-X Mobility | + 01 |
| 3 | | 22 | Team Novo Nordisk | + 04 |
| 4 | | 21 | Team Flanders - Baloise | " |
| 5 | | 21 | Cofidis | " |
| 6 | | 20 | CIC U Nantes | " |
| 7 | | 20 | Decathlon - AG2R La Mondiale | " |
| 8 | | 18 | Development Team Picnic PostNL | " |
| 9 | | 21 | Euskaltel - Euskadi | + 16 |
| 10 | | 22 | Team Polti VisitMalta | + 03:18 |
| 11 | | 19 | Development Team Picnic PostNL | + 03:56 |
| 12 | | 20 | Arkéa - B&B Hôtels Continentale | + 04:17 |
| 13 | | 20 | Groupama - FDJ | + 04:53 |
| 14 | | 19 | Development Team Picnic PostNL | + 06:28 |
| 15 | | 19 | Development Team Picnic PostNL | " |
| 16 | | 20 | Development Team Picnic PostNL | + 06:48 |
| 17 | | 18 | Decathlon - AG2R La Mondiale | + 06:49 |
| 18 | | 19 | Team Flanders - Baloise | + 09:46 |
| 19 | | 18 | CIC U Nantes | + 10:18 |
| 20 | | 18 | Development Team Picnic PostNL | + 11:05 |
| 21 | | 21 | Euskaltel - Euskadi | + 11:18 |
| 22 | | 21 | Team Novo Nordisk | + 11:23 |
| 23 | | 22 | Uno-X Mobility | + 12:01 |
| 24 | | 18 | Nice Métropole Côte d'Azur | + 13:33 |
| 25 | | 22 | CIC U Nantes | + 14:39 |
| 26 | | 19 | Nice Métropole Côte d'Azur | + 15:52 |
| 27 | | 21 | Alpecin-Deceuninck Development Team | + 17:03 |
| 28 | | 19 | Decathlon - AG2R La Mondiale | + 20:27 |
| 29 | | 20 | CIC U Nantes | + 24:02 |