La 103e édition du Tour des Flandres est partie de la Grand-Place d'Anvers en direction d'Audenarde. Un parcours de 270,1 km, comprenant 17 côtes, attendait les 175 coureurs au départ.

Il ne fallait pas attendre longtemps avant de voir la première échappée se dessiner: Kenneth Van Rooy (Sport Vlaanderen-Baloise), le Canadien Hugo Houle (Astana) et le Français Damien Touzé (Cofidis) sortaient du peloton après 7 km, rejoints peu après par le Néerlandais Jesper Asselman (Roompot-Charles). L'écart grimpait rapidement à 1:45.

Alors que l'avance des échappés dépassait les cinq minutes, le Néerlandais Niki Terpstra (Direct Energie), vainqueur l'an dernier, devait abandonner suite à une lourde chute survenue après 110 km de course.

Sur le Mur de Grammont, dont le sommet était situé à 100 km de l'arrivée, le Danois Magnus Cort Nielsen (Astana) accélérait. Le peloton se scindait en deux groupes, Philippe Gilbert (Deceuninck - Quick-Step), Tim Wellens (Lotto Soudal), Sep Vanmarcke (Education First) et Oliver Naesen (AG2R La Mondiale) pointaient parmi les coureurs piégés. L'écart descendait sous la minute.

L'aventure des échappés prenait fin à 90 km de l'arrivée. Les attaques se succédaient, mais personne ne parvenait à creuser l'écart et l'on assistait à un regroupement général.

A 60 km de l'arrivée, Mathieu van der Poel (Corendon-Circus), l'un des favoris, était victime d'une crevaison suivie d'une chute. Sur le deuxième passage du Vieux Quaremont, à 58 km de la ligne, Stijn Vandenbergh (AG2R) et Vanmarcke attaquaient. Le Danois Kasper Asgreen (Deceuninck - Quick-Step) se joignait à eux sur le Paterberg. Un quatrième coureur rejoignait les échappés sur le Koppenberg, le Néerlandais Dylan van Baarle (Sky). Un peu plus loin, Vandenbergh lâchait prise. Derrière, van der Poel réintégrait le groupe des favoris.

L'écrémage se poursuivait sur le Kruisberg, où l'un des favoris, le Tchèque Zdenek Stybar (Deceuninck - Quick-Step), était en difficulté.

Le duo Asgreen-van Baarle se faisait reprendre lors du troisième et dernier passage sur le Vieux Quaremont, où l'Italien Alberto Bettiol (Education First) tentait sa chance à 18 km de l'arrivée. Il prenait une vingtaine de secondes d'avance avant d'aborder le Paterberg, dernière difficulté de la journée. Van Avermaet puis van der Poel faisaient le forcing sur le Paterberg, mais sans parvenir à distancer leurs rivaux. Des hommes véloces comme Peter Sagan (Bora-Hansgrohe), Alexander Kristoff (UAE Team Emirates), Michael Matthews (Sunweb) ou Alejandro Valverde (Movistar) se trouvaient encore dans le groupe de poursuivants.

Tout bénéfice pour Bettiol, car ses poursuivants se regardaient. L'Italien conservait 20 secondes d'avance à 5 km de l'arrivée.

Bettiol tenait bon jusqu'au bout. Il s'offre, à 25 ans, la première victoire individuelle de sa carrière chez les pros. L'Italien succède au palmarès au Néerlandais Niki Terpstra.

Derrière, le Danois Kasper Asgreen (Deceuninck - Quick-Step) prenait la deuxième place, devant le Norvégien Alexander Kristoff (UAE Team Emirates). Van der Poel échouait au pied du podium. Oliver Naesen se classait septième. Tiesj Benoot (Lotto Soudal) prenait la neuvième place et Greg Van Avermaet (CCC) complétait le top-10.