The Dutchman was part of a six-rider attack that formed early and they worked well together on the narrow, twisting roads as the sprint teams hesitated and then slowed after Kasper Asgreen (Deceuninck-QuickStep) and Caleb Ewan (Lotto Soudal) suffered mechanical problems in the final 15km.
The peloton closed a one-minute gap in the final ten kilometres but the breakaway stayed clear, with van der Hoorn leading out and winning the sprint for the line.
Mathias Norsgaard (Movistar) finished second after making several late attacks, with Luke Durbridge (Team BikeExchange) third.
The Australian was best placed overall at just 39 seconds and rode hard to ensure the breakaway stayed away. He took the nine bonus seconds offered late in the stage in the Gouden Kilometre sprints and also took four seconds for third place.
That lifted him up in the top ten but stage 2 time trial winner Stefan Bissegger (EF Education-Nippo) kept the leader’s blue jersey.
|Pos.||Rider Name (Country) Team||Result|
|1||Taco van der Hoorn (Ned) Intermarché-Wanty-Gobert Matériaux||3:40:23|
|2||Mathias Norsgaard (Den) Movistar Team|
|3||Luke Durbridge (Aus) Team BikeExchange|
|4||Samuele Battistella (Ita) Astana-Premier Tech|
|5||Thimo Willems (Bel) Sport Vlaanderen-Baloise|
|6||Peter Sagan (Svk) Bora-Hansgrohe|
|7||Phil Bauhaus (Ger) Bahrain Victorious|
|8||Danny van Poppel (Ned) Intermarché-Wanty-Gobert Matériaux|
|9||Caleb Ewan (Aus) Lotto Soudal|
|10||Mads Pedersen (Den) Trek-Segafredo|