Swift overtook late escapee Edward Theuns (Trek-Segafredo) in the final 100m and had a bike-length lead over his rivals, but the sprint a few metres too long as the Frenchman overtook him in the final metres.
>> Struggling to get to the shops try 6 issues of Cycling Weekly magazine for just £6 delivered to your door <<
Crosswinds split the peloton in two with 35km to go, with Alexander Kristoff the big name to be caught out by the split, although he later worked his way back to the front.
As if the wind, rain and snow of the early afternoon weren’t challenging enough, riders then had to deal with three sectors of gravel roads in the final 17km, which led to a handful of punctures in the peloton.
One of the stage’s favourites Marcel Kittel cracked on the final sector and Kristoff couldn’t mount a challenge as he struggled with his rear derailleur.
Theuns attacked off the front with 1500m to go, taking the flamme rouge with a decent lead, but in the final 200m the Trek man ran out of steam as the marauding peloton bore down on him.
Swift opened up the sprint first, but Démare beat him for speed on the line, with Nacer Bouhanni (Cofidis) finishing a close third.
Paris-Nice stage one, Condé-sur-Vesgre-Vendôme (195k)
1. Arnaud Démare (Fra) FDJ, 4-29-53
2. Ben Swift (GBr) Team Sky, st
3. Nacer Bouhanni (Fra) Cofidis, st
4. Adrien Petit (Fra) Direct Energie, st
5. Michael Matthews (Aus) Orica-GreenEdge, st
6. Tom Boonen (Bel) Etixx-Quick Step, st
7. Sep Vanmarcke (Bel) LottoNL-Jumbo, st
8. Simon Geschke (Ger) Giant-Alpecin, st
9. Jonas Van Genechten (Bel) IAM Cycling, st
10. Geraint Thomas (GBR) Team Sky, st
Overall standing after stage one
1. Michael Matthews (Aus) Orica-GreenEdge, 4-37-30
2. Tom Dumoulin (Ned) Giant-Alpecin, at 3s
3. Patrick Bevin (NZl) Cannondale, at 4s
4. Ion Izagirre (Esp) Movistar, at 8s
5. Geraint Thomas (GBR) Team Sky, st
6. Lieuwe Westra (Ned) Astana, at 9s
7. Dries Devenyns (Bel) IAM Cycling, at 10s
8. Richie Porte (Aus) BMC, at 12s
9. Arnaud Démare (Fra) FDJ, at 14s
10. Wilco Keldeman (Ned) LottoNL-Jumbo, at 15s