La troisième étape longue de 178,3km entre Valenciennes et Dunkerque était promise aux sprinteurs et cela se confirme rapidement. Personne ne souhaite prendre l’échappée et le peloton avance donc sur un train de sénateur.
La tension commence à monter à l’approche du sprint intermédiaire situé à un peu plus de 60km de l’arrivée. Les sprinteurs frottent et Jasper Philipsen est entraîné au sol. Lourdement touché, le maillot vert est contraint à l’abandon alors que Jonathan Milan passe en tête du sprint intermédiaire.
L’abandon du maillot vert calme encore un peu plus les ardeurs et plus rien ne se passe.
Finalement, Tim Wellens tente de partir seul à 38km de l’arrivée. L’écart monte rapidement au-dessus de la minute et monte à près de deux minutes mais le champion de Belgique se relève après être passé en tête de la côte du Mont Cassel situé à 30km de l’arrivée. L’objectif de l’équipe UAE Team Emirates était de placer le maillot à pois sur les épaules de Wellens afin d’épargner le protocole du podium à Tadej Pogacar.
Wellens repris, le peloton reprend sa marche en avant vers Dunkerque avec un sprint massif en tête. Les équipes de sprinteurs se positionnent en tête.
L’équipe Lidl-Trek prend les devants et place parfaitement Jonathan Milan. Le costaud italien lance de loin mais Tim Merlier se porte à sa hauteur. Les deux hommes se livrent un solide mano a mano et lancent leur vélo sur la ligne. Tim Merlier s’impose à la photo-finish devant Jonathan Milan et Phil Bauhaus.