Cette étape en ligne entre Bois-le-Duc et Utrecht se court sur un parcours essentiellement plat. Les premiers points pour le classement de la montagne sont attribués après 105 kilomètres (col de 4e catégorie). Le vent maritime pourrait provoquer des bordures. La victoire devrait revenir à un sprinteur.
Dès le début de l'étape, cinq coureurs font la course en tête : Julius van den Berg (EF Education), Jetse Bol (Burgos), Pau Miquel (Kern Pharma), Xabier Mikel Azparren (Euskaltel-Euskadi) et Thibault Guernalec (Arkea Samsic). Le peloton ne laisse jamais l'échappée prendre beaucoup d'avance et les fuyards sont repris à 55 km de l’arrivée. Une dizaine de kilomètres plus loin, Luis Ángel Maté (Euskaltel-Euskadi) s'isole en tête mais l'Espagnol est rejoint par le peloton à une vingtaine de kilomètres du terme. Le sprint est remporté par l'Irlandais Sam Bennett (Bora Hansgrohe) tandis que le Néerlandais Mike Teunissen (Jumbo-Visma), quatrième de l'étape, s'empare du maillot rouge de leader au détriment de son équipier et compatriote Robert Gesink.