| # | Rider | Team | Time | Gap |
|---|---|---|---|---|
| 1 | Marcel Kittel | Quick-Step Floors | 04:35:25 | |
| 2 | Elia Viviani | Sky | + 00 | |
| 3 | Nacer Bouhanni | Cofidis | + 00 | |
| 4 | Jürgen Roelandts | Lotto-Soudal | + 00 | |
| 5 | Pascal Ackermann | Bora-Hansgrohe | + 00 | |
| 6 | Rudy Barbier | AG2R La Mondiale | + 00 | |
| 7 | Reinardt Janse van Rensburg | Dimension Data | + 00 | |
| 8 | Marc Sarreau | FDJ | + 00 | |
| 9 | Ramon Sinkeldam | Sunweb | + 00 | |
| 10 | Jonas van Genechten | Cofidis | + 00 | |
| 11 | Iván García Cortina | Bahrain-Merida | + 00 | |
| 12 | Boy van Poppel | Trek-Segafredo | + 00 | |
| 13 | Robin Stenuit | Wanty - Groupe Gobert | + 00 | |
| 14 | Edward Theuns | Trek-Segafredo | + 02 | + 02 |
| 15 | Michael Mørkøv | Katusha-Alpecin | + 02 | + 02 |
| 16 | Tom van Asbroeck | Cannondale-Drapac | + 02 | + 02 |
| 17 | Wouter Wippert | Cannondale-Drapac | + 02 | + 02 |
| 18 | Kevyn Ista | WB-Veranclassic-Aqua Protect | + 02 | + 02 |
| 19 | Erwann Corbel | Fortuneo - Oscaro | + 02 | + 02 |
| 20 | Matteo Trentin | Quick-Step Floors | + 05 | + 05 |
| 21 | Timothy Dupont | Verandas Willems-Crelan | + 05 | + 05 |
| 22 | Rick Zabel | Katusha-Alpecin | + 05 | + 05 |
| 23 | Dmitriy Gruzdev | Astana | + 05 | + 05 |
| 24 | Rüdiger Selig | Bora-Hansgrohe | + 07 | + 07 |
| 25 | Ryan Gibbons | Dimension Data | + 07 | + 07 |
| 26 | Marcel Sieberg | Lotto-Soudal | + 07 | + 07 |
| 27 | Laurens de Vreese | Astana | + 07 | + 07 |
| 28 | Gediminas Bagdonas | AG2R La Mondiale | + 07 | + 07 |
| 29 | Frederik Backaert | Wanty - Groupe Gobert | + 07 | + 07 |
| 30 | Wesley Kreder | Wanty - Groupe Gobert | + 07 | + 07 |
| 31 | Patrick Bevin | Cannondale-Drapac | + 07 | + 07 |
| 32 | Stijn Devolder | Verandas Willems-Crelan | + 07 | + 07 |
| 33 | Maxime Daniel | Fortuneo - Oscaro | + 07 | + 07 |
| 34 | Marco Haller | Katusha-Alpecin | + 07 | + 07 |
| 35 | Liam Bertazzo | Wilier Triestina-Selle Italia | + 12 | + 12 |
| 36 | Mickaël Delage | FDJ | + 13 | + 13 |
| 37 | Boris Vallée | Fortuneo - Oscaro | + 13 | + 13 |
| 38 | Lucas Spengler | WB-Veranclassic-Aqua Protect | + 13 | + 13 |
| 39 | Jonathan Dibben | Sky | + 13 | + 13 |
| 40 | Bernhard Eisel | Dimension Data | + 13 | + 13 |
| 41 | Coen Vermeltfoort | Roompot-Nederlandse Loterij | + 13 | + 13 |
| 42 | Iljo Keisse | Quick-Step Floors | + 20 | + 20 |
| 43 | Tom Boonen | Quick-Step Floors | + 20 | + 20 |
| 44 | Niccolo Bonifazio | Bahrain-Merida | + 20 | + 20 |
| 45 | Geoffrey Soupe | Cofidis | + 22 | + 22 |
| 46 | Riccardo Minali | Astana | + 24 | + 24 |
| 47 | Moreno Hofland | Lotto-Soudal | + 27 | + 27 |
| 48 | Christoph Pfingsten | Bora-Hansgrohe | + 27 | + 27 |
| 49 | Julien Duval | AG2R La Mondiale | + 27 | + 27 |
| 50 | Tim Ariesen | Roompot-Nederlandse Loterij | + 32 | + 32 |
| 51 | Preben van Hecke | Sport Vlaanderen-Baloise | + 34 | + 34 |
| 52 | Christian Knees | Sky | + 48 | + 48 |
| 53 | Jacopo Guarnieri | FDJ | + 48 | + 48 |
| 54 | Scott Thwaites | Dimension Data | + 48 | + 48 |
| 55 | Gianni Moscon | Sky | + 01:06 | + 01:06 |
| 56 | Alex Turrin | Wilier Triestina-Selle Italia | + 01:24 | + 01:24 |
| 57 | Reto Hollenstein | Katusha-Alpecin | + 01:24 | + 01:24 |
| 58 | Dylan Groenewegen | Lotto NL-Jumbo | + 01:24 | + 01:24 |
| 59 | Andre Looij | Roompot-Nederlandse Loterij | + 01:24 | + 01:24 |
| 60 | Luke Rowe | Sky | + 01:28 | + 01:28 |
| 61 | Stijn Vandenbergh | AG2R La Mondiale | + 01:30 | + 01:30 |
| 62 | Bert de Backer | Sunweb | + 01:30 | + 01:30 |
| 63 | Sander Cordeel | Verandas Willems-Crelan | + 01:30 | + 01:30 |
| 64 | Zdenek Stybar | Quick-Step Floors | + 01:37 | + 01:37 |
| 65 | Erik Baska | Bora-Hansgrohe | + 01:37 | + 01:37 |
| 66 | Andreas Schillinger | Bora-Hansgrohe | + 01:43 | + 01:43 |
| 67 | Davide Martinelli | Quick-Step Floors | + 01:56 | + 01:56 |
| 68 | Etienne van Empel | Roompot-Nederlandse Loterij | + 01:56 | + 01:56 |
| 69 | Luka Pibernik | Bahrain-Merida | + 01:56 | + 01:56 |
| 70 | Borut Bozic | Bahrain-Merida | + 01:56 | + 01:56 |
| 71 | Giuseppe Fonzi | Wilier Triestina-Selle Italia | + 01:56 | + 01:56 |
| 72 | Jarl Salomein | Sport Vlaanderen-Baloise | + 01:56 | + 01:56 |
| 73 | Christophe Masson | WB-Veranclassic-Aqua Protect | + 01:56 | + 01:56 |
| 74 | Oliver Naesen | AG2R La Mondiale | + 01:56 | + 01:56 |
| 75 | Lawrence Naesen | WB-Veranclassic-Aqua Protect | + 01:56 | + 01:56 |
| 76 | Mike Teunissen | Sunweb | + 01:56 | + 01:56 |
| 77 | Lennard Hofstede | Sunweb | + 01:56 | + 01:56 |
| 78 | Ludwig de Winter | WB-Veranclassic-Aqua Protect | + 01:56 | + 01:56 |
| 79 | Lennard Kämna | Sunweb | + 01:56 | + 01:56 |
| 80 | Meiyin Wang | Bahrain-Merida | + 01:56 | + 01:56 |
| 81 | Ludovic Robeet | WB-Veranclassic-Aqua Protect | + 01:56 | + 01:56 |
| 82 | Jenthe Biermans | Katusha-Alpecin | + 01:56 | + 01:56 |
| 83 | Elie Gesbert | Fortuneo - Oscaro | + 01:56 | + 01:56 |
| 84 | Hugo Houle | AG2R La Mondiale | + 01:56 | + 01:56 |
| 85 | Ander Insausti Jon | Bahrain-Merida | + 01:56 | + 01:56 |
| 86 | Nikolas Maes | Lotto-Soudal | + 01:56 | + 01:56 |
| 87 | Jelle Wallays | Lotto-Soudal | + 01:56 | + 01:56 |
| 88 | Kiel Reijnen | Trek-Segafredo | + 01:56 | + 01:56 |
| 89 | Michael Kolar | Bora-Hansgrohe | + 01:56 | + 01:56 |
| 90 | Pierre-luc Périchon | Fortuneo - Oscaro | + 01:56 | + 01:56 |
| 91 | Tony Gallopin | Lotto-Soudal | + 01:56 | + 01:56 |
| 92 | Daniel Hoelgaard | FDJ | + 01:56 | + 01:56 |
| 93 | Matthieu Ladagnous | FDJ | + 01:56 | + 01:56 |
| 94 | Brian van Goethem | Roompot-Nederlandse Loterij | + 01:56 | + 01:56 |
| 95 | Michael van Staeyen | Cofidis | + 01:56 | + 01:56 |
| 96 | Hugo Hofstetter | Cofidis | + 02:04 | + 02:04 |
| 97 | Florian Sénéchal | Cofidis | + 02:45 | + 02:45 |
| 98 | Kevin Deltombe | Sport Vlaanderen-Baloise | + 03:10 | + 03:10 |
| 99 | Fabio Sabatini | Quick-Step Floors | + 03:10 | + 03:10 |
| 100 | Rafael Andriato | Wilier Triestina-Selle Italia | + 03:10 | + 03:10 |
| 101 | Owain Doull | Sky | + 03:25 | + 03:25 |
| 102 | Ian Stannard | Sky | + 03:25 | + 03:25 |
| 103 | Tim Declercq | Quick-Step Floors | + 03:25 | + 03:25 |
| 104 | Zico Waeytens | Sunweb | + 03:25 | + 03:25 |
| 105 | Jesper Asselman | Roompot-Nederlandse Loterij | + 03:25 | + 03:25 |
| 106 | Twan Castelijns | Lotto NL-Jumbo | + 03:25 | + 03:25 |
| 107 | Olivier Le Gac | FDJ | + 03:25 | + 03:25 |
| 108 | Arman Kamyshev | Astana | + 03:25 | + 03:25 |
| 109 | Alexis Gougeard | AG2R La Mondiale | + 03:36 | + 03:36 |
| 110 | Franck Bonnamour | Fortuneo - Oscaro | + 03:36 | + 03:36 |
| 111 | Jonas Rickaert | Sport Vlaanderen-Baloise | + 03:49 | + 03:49 |
| 112 | Bert van Lerberghe | Sport Vlaanderen-Baloise | + 03:49 | + 03:49 |
| 113 | Maxime Farazijn | Sport Vlaanderen-Baloise | + 03:49 | + 03:49 |
| 114 | Pieter Vanspeybrouck | Wanty - Groupe Gobert | + 03:49 | + 03:49 |
| 115 | Kenneth Vanbilsen | Cofidis | + 03:49 | + 03:49 |
| 116 | Maarten Wynants | Lotto NL-Jumbo | + 03:49 | + 03:49 |
| 117 | Tyler Farrar | Dimension Data | + 04:24 | + 04:24 |
| 118 | Baptiste Planckaert | Katusha-Alpecin | + 04:55 | + 04:55 |
| 119 | Mads Würtz Schmidt | Katusha-Alpecin | + 04:55 | + 04:55 |
| 120 | Robert Wagner | Lotto NL-Jumbo | + 04:55 | + 04:55 |
| 121 | Gijs van Hoecke | Lotto NL-Jumbo | + 04:55 | + 04:55 |
| 122 | Arnaud Démare | FDJ | + 05:25 | + 05:25 |
| 123 | Gregory Rast | Trek-Segafredo | + 05:26 | + 05:26 |
| 124 | Matti Breschel | Astana | + 05:26 | + 05:26 |
| 125 | Eugenio Alafaci | Trek-Segafredo | + 05:26 | + 05:26 |
| 126 | Zhandos Bizhigitov | Astana | + 05:26 | + 05:26 |
| 127 | Francis Mourey | Fortuneo - Oscaro | + 05:26 | + 05:26 |
| 128 | Eugert Zhupa | Wilier Triestina-Selle Italia | + 05:26 | + 05:26 |
| 129 | Matthias Brändle | Trek-Segafredo | + 05:26 | + 05:26 |
| 130 | Matteo Draperi | Wilier Triestina-Selle Italia | + 05:26 | + 05:26 |
| 131 | Edward Planckaert | Sport Vlaanderen-Baloise | + 05:26 | + 05:26 |
| 132 | Michael Goolaerts | Verandas Willems-Crelan | + 05:26 | + 05:26 |
| 133 | Elias van Breussegem | Verandas Willems-Crelan | + 05:26 | + 05:26 |
| 134 | Otto Vergaerde | Verandas Willems-Crelan | + 05:26 | + 05:26 |
| 135 | Nico Denz | AG2R La Mondiale | + 05:26 | + 05:26 |
| 136 | Taco van der Hoorn | Roompot-Nederlandse Loterij | + 05:26 | + 05:26 |
| 137 | Mark Mcnally | Wanty - Groupe Gobert | + 05:26 | + 05:26 |
| 138 | Thomas Scully | Cannondale-Drapac | + 05:26 | + 05:26 |
| 139 | Sebastian Langeveld | Cannondale-Drapac | + 05:26 | + 05:26 |
| 140 | Youcef Reguigui | Dimension Data | + 06:11 | + 06:11 |
| 141 | Lars Bak | Lotto-Soudal | + 06:22 | + 06:22 |
| 142 | Steven Lammertink | Lotto NL-Jumbo | + 07:24 | + 07:24 |
| 143 | Lars Boom | Lotto NL-Jumbo | + 07:26 | + 07:26 |
| 144 | Stijn Steels | Sport Vlaanderen-Baloise | + 07:26 | + 07:26 |
| 145 | Pim Ligthart | Roompot-Nederlandse Loterij | + 07:26 | + 07:26 |
| 146 | Timo Roosen | Lotto NL-Jumbo | + 07:26 | + 07:26 |
| 147 | Julien Stassen | WB-Veranclassic-Aqua Protect | + 07:26 | + 07:26 |
| 148 | Fredrik Veuchelen | Wanty - Groupe Gobert | + 07:26 | + 07:26 |
| 149 | Ruslan Tleubayev | Astana | + 07:26 | + 07:26 |
| 150 | William Clarke | Cannondale-Drapac | + 07:26 | + 07:26 |
| 151 | Matteo Pelucchi | Bora-Hansgrohe | + 07:26 | + 07:26 |
| 152 | Robert Thomson Jay | Dimension Data | + 09:51 | + 09:51 |
| 153 | Max Walscheid | Sunweb | + 11:05 | + 11:05 |
| 154 | Christophe Premont | Verandas Willems-Crelan | + 13:26 | + 13:26 |
| 155 | Marco Mathis | Katusha-Alpecin | + 13:26 | + 13:26 |