Mads Pedersen a devancé le Français Florian Sénéchal (Deceuninck-Quick Step), 2e, l'Italien Matteo Trentin (CCC), 3e et son compatriote Alberto Bettiol (EF Pro Cycling), 4e. Côté belge, Yves Lampaert (Deceuninck-Quick Step) est 7e devant van Aert, Dylan Teuns (Bahrein-Merida) est 10e.

Après une course difficile en raison notamment des conditions météos, à 30 kilomètres du but, le Suisse Stefan Küng (Groupama-FDJ) a tenté de s'extirper d'un groupe de 16 coureurs qui s'est isolé en tête. Le Danois Kasper Asgreen et le Français Florian Sénéchal (Deceuninck-Quick-Step), l'Allemand John Degenkolb et Florian Vermeersch (Lotto Soudal), Dylan Teuns (Bahrein-Merida), l'Italien Matteo Trentin (CCC), l'Italien Alberto Bettiol et Sep Vanmarcke (EF Pro Cycling), Wout van Aert et le Néerlandais Mike Teunissen (Jumbo-Visma), le Britannique Luke Rowe (Ineos Grenadiers), le Danois Mads Pedersen (Trek-Segafredo) et le Néerlandais Mathieu van der Poel qui perdait dans l'échappée son équipier Gianni Vermeersch, victime d'une chute avec le Français Alexis Gougeard (AG2R-La Mondiale), étaient devant.

Ces deux derniers hommes ne reviendront plus et le peloton avait déjà course perdue.

A 15 bornes du but, Lampaert, Sénéchal, Degenkolb, Trentin, Bettiol, Küng, van Aert, Pedersen et van der Poel ont créé une cassure pour filer, ensemble, se disputer la victoire à Wevelgem. Van Aert n'attendait pas le sprint pour faire mal à tout le monde et les attaques se sont succédées dans les cinq derniers kilomètres.

Pedersen, Trentin, Bettiol et Sénéchal, ont pris quelques mètres peu avant la flamme rouge pour finir au sprint. Van Aert et van der Poel se regardant dans le dernier kilomètre.

Mads Pedersen, 24 ans, gagne la 15e victoire de sa carrière, la 3e cette année après une étape du BinckBank Tour et une autre au Tour de Pologne.