A flat stage three promised more drama than its profile suggested with fewer kilometres than the previous two days and crosswinds forecast, encouraging aggressive riding.
As it would happen, just three riders went free early and despite a faster pace, the first 70km were reasonably settled with the break reaching a maximum advantage of just a three-minutes.
They were kept under control by race leaders Lotto-Soudal and eventually brought back to the bunch with 25km to go.
Tensions rose as the anticipated cross winds in the final 20km approached.
All teams, including the outfits of overall contenders, started fighting for position but it was Quick-Step Floors that were more organised than everyone, putting numbers on the front and causing a split.
With their sprinter and GC rider present, they had a lot to gain and pushed on hard to the line as everyone else tried to recover behind.
Gaviria powered from behind the wheel of team-mate Maximiliano Richeze to take a comfortable win on the flagstones of Cagliari ahead of Rudiger Selig (Bora-hansgrohe) and Giacomo Nizzolo (Trek Segafredo).
.@FndoGaviria takes Stage 3 in a brutal sprint finish at @giroditalia. And he’s in pink! ? pic.twitter.com/cAoL4znXfC
— Eurosport UK (@Eurosport_UK) 7 mai 2017
Giro d’Italia 2017 – stage 3 results (Tortoli – Cagliari):
1 | Fernando Gaviria (Quick-Step Floors) | 3:26:33 |
2 | Rüdiger Selig (Bora-hansgrohe) | ,, |
3 | Giacomo Nizzolo (Trek-Segafredo) | ,, |
4 | Nathan Haas (Dimension Data) | ,, |
5 | Maximiliano Richeze (Quick-Step Floors) | ,, |
6 | Kanstantsin Siutsou (Bahrain Merida) | +03” |
7 | Bob Jungels (Quick-Step Floors) | ,, |
8 | Caleb Ewan (Orica-Scott) | +13” |
9 | Sacha Modolo (UAE Team Emirates) | ,, |
10 | Andre Greipel (Lotto Soudal) | ,, |
11 | Phil Bauhaus (Team Sunweb) | ,, |
12 | Viacheslav Kuznetsov (Katusha-Alpecin) | ,, |
13 | Roberto Ferrari (UAE Team Emirates) | ,, |
14 | Ryan Gibbons (Dimension Data) | ,, |
15 | Patrick Konrad (Bora-hansgrohe) | ,, |
16 | Lukas Pöstlberger (Bora-hansgrohe) | ,, |
17 | Enrico Battaglin (LottoNl-Jumbo) | ,, |
18 | Ivan Savitckii (Gazprom – Rusvelo) | ,, |
19 | Adam Yates (Orica-Scott) | ,, |
20 | Eugert Zhupa (Wilier Triestina) | ,, |
General classification after stage 3:
1 | Fernando Gaviria (Quick-Step Floors) | 14:45:16 |
2 | André Greipel (Lotto Soudal) | +09” |
3 | Lukas Pöstlberger (Bora-hansgrohe) | +13” |
4 | Bob Jungels (Quick-Step Floors) | ,, |
5 | Kanstantsin Siutsou (Bahrain Merida) | ,, |
6 | Caleb Ewan (Orica-Scott) | +17” |
7 | Roberto Ferrari (UAE Team Emirates) | ,, |
8 | Ryan Gibbons (Dimension Data) | +23” |
9 | Enrico Battaglin (LottoNl-Jumbo) | ,, |
10 | Sacha Modolo (UAE Team Emirates) | ,, |
11 | Geraint Thomas (Team Sky) | ,, |
12 | Vincenzo Nibali (Bahrain Merida) | ,, |
13 | Adam Yates (Orica-Scott) | ,, |
14 | Domenico Pozzovivo (AG2R) | ,, |
15 | Rui Costa (UAE Team Emirates) | ,, |
16 | Diego Rosa (Team Sky) | ,, |
17 | Nairo Quintana (Movistar) | ,, |
18 | Kristijan Koren (Cannondale-Drapac) | ,, |
19 | Tom Dumoulin (Team Sunweb) | ,, |
20 | Luis León Sanchez (Astana) | ,, |