With a break of three escaping at the flag drop and staying away until there was around 10 kilometres remaining of the 201 km stage, it should have been a simple sprint finish, with general classification hopefuls shooting for a safe finish in the bunch.
However, two crashes in the final 10km, one involving Chris Froome (Team Sky) at five kilometres out and a puncture for Nairo Quintana (Movistar) at 3.5km left gaps between the GC contenders, the pair losing 51 seconds and 1-15 respectively.
How it happened
Three riders broke free from the peloton at the flag drop - Kevin Ledanois (Fortuneo-Samsic), Yoann Offredo (Wanty-Groupe Gobert) and Jerome Cousin (Direct Energie) opening up a gap early on, with little resistance.
With 191 kilometres remaining, the trio had built up a gap of three minutes. As the stage progressed, the peloton had begun to chip into their advantage, the gap dropping from its max of four minutes to 2-30 with 100 km to go.
Quick-Step Floors, riding for Gaviria, were a notable presence at the front of the peloton as they passed the 80km to go mark. The first intermediate sprint, in La Tranche-sur-Mer, went to Cousin. Back in the peloton, Gaviria flexed his legs, crossing the line ahead of André Greipel (Lotto Soudal) and Arnaud Démare (Groupama-FDJ).
With 39km left, the break had 1-11 on the bunch, and falling - with both the escapees and the peloton travelling at just under 50kph.
The trio arrived at the foot of the Cote de Vix - a category 4 climb of 700 metres - with 45s between them and the chasers. Ledanois was the fastest, taking the max KOM points available. He sat up soon after though, leaving Offrendo and Cousin to continue their break as a duo.
At the second intermediate sprint, with under 20km to go, Oliver Naesen (Ag2r La Mondiale) attacked the peloton, taking the maximum points behind the break, and getting within 20s of the two off the front.
With 10km left, the two were caught - but behind in the peloton a crash claimed several riders - including Egan Bernal and Wout Poels (Team Sky).
That wasn't to be the last crash, as Froome hit the deck with just 5km left of the stage. Whilst he began his chase back to the bunch, Bora-Hansgrohe and Quick-Step keeping the pace high, Quintana found himself with a flat tyre at 3.5km to go.
This left Froome 20s adrift of the charging bunch and Quintana stood beside the road.
Out front, Gaviria proved he had the fastest legs of the bunch, crossing the line ahead of Peter Sagan (Bora-Hansgrohe) and Marcel Kittel (Katusha-Alpecin).
Froome finished alongside Richie Port (BMC) and Adam Yates (Mitchelton-Scott) 50s back on the likes of Mikel Landa (Movistar), Tom Dumoulin (Sunweb), and Gertaint Thomas (Team Sky) and Quintana followed later at 1-10.
Tour de France 2018, stage one,:Noirmoutier-En-l'Île to Fontenay-Le-Comte, 201km
1. Fernando Gaviria (Col) Quick-Step Floors 04-23-32
2. Peter Sagan (Svk) Bora-Hansgrohe
3. Marcel Kittel (Ger) Katusha-Alpecin
4. Alexander Kristoff (Nor) UAE Team Emirates
5. Christophe Laporte (Fra) Cofidis
6. Dylan Groenewegen (Ned) LottoNL-Jumbo
7. Michael Matthews (Aus) Team Sunweb
8. John Degenkolb (Ger) Trek-Segafredo
9. Jakob Fuglsang (Den) Astana
10. Rafal Majka (Pol) Bora-Hansgrohe, all at same time
83. Richie Porte (Aus) BMC Racing, at 51 secs
84. Adam Yates (GBr) Mithelton-Scott, at same time
91. Chris Froome (GBr) Team Sky, at same time
112. Nairo Quintana (Col) Movistar, at 1-15
General classification after stage one
1. Fernando Gaviria (Col) Quick-Step Floors in 4-23-22
2. Peter Sagan (Svk) Bora-Hansgrohe at 4s
3. Marcel Kittel (Ger) Katusha-Alpecin at 6s
4. Oliver Naesen (Bel) Ag2r La Mondiale at 9s
5. Alexander Kristoff (Nor) UAE Team Emirates at 10s
6. Christophe Laporte (Fra) Cofidis
7. Dylan Groenewegen (Ned) LottoNL-Jumbo
8. Michael Matthews (Aus) Team Sunweb
9. John Degenkolb (Ger) Trek-Segafredo
10. Jakob Fuglsang (Den) Astana, all at same time
Thank you for reading 20 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1