The Dutchman, who took his fifth win this season, held off Julian Alaphilippe of France and defending champion Tim Wellens of Belgium. Fourth was Australian Michael Matthews.
Corendon-Circus’ Van der Poel was part of a group of five that formed around 17km to the finish when Deceuninck-QuickStep’s Alaphilippe attacked from the peloton and took with him Van der Poel, Lotto Soudal’s Wellens and Team Sunweb’s Matthews.
The quartet caught solo riding Daryl Impey of Mitchelton–Scott to build up a gap of 23 seconds with 13km to go.
But, Impey was dropped when Wellens made a move at the 11km mark, resulting in the South African being caught by the chasing bunch not long thereafter.
The four riders ended up playing a game of cat and mouse close to the finish but Van der Poel was the one to take the victory in the sprint.
Van der Poel said afterwards he was proud to have been in the finish with the three big names and it felt like a dream.
“I’m really happy and I said before this Classics season that this race suits me the best and I’m glad I could prove that.”
Impey finished 48th and 54 seconds behind the winner.
More results can be viewed below.
1. Mathieu van der Poel (Ned) Corendon-Circus 4:35:11
2. Julian Alaphilippe (Fra) Deceuninck-QuickStep
3. Tim Wellens (Bel) Lotto Soudal
4. Michael Matthews (Aus) Team Sunweb
5. Bjorg Lambrecht (Bel) Lotto Soudal +0:0:11
6. Alberto Bettiol (Ita) EF Education First +0:0:12
7. Enrico Gasparotto (Ita) Dimension Data
8. Alexander Kamp (Den) Riwal Readynez Cycling Team
9. Pieter Serry (Bel) Deceuninck-QuickStep
10. Maurits Lammertink (Ned) Roompot-Charles
48. Daryl Impey (RSA) Mitchelton-Scott +0:0:54
101. Jay Thomson (RSA) Team Dimension Data +0:13:02
DNF Reinardt Janse van Rensburg (RSA) Team Dimension Data