FDJ rider Demare, who won stages one and two, beat team-mate Geoffrey Soupe into second, with Ramon Sinkeldam of Argos-Shimano third.
Demare stays atop the GC, 16 seconds clear of Sinkeldam, with Kenny van Hummel third 20s back.
An early break saw Maxime Daniel, Hugo Houle, Maxime Le Montagner and Jani Tewelde move ahead but the two climbs ahead – and some attacks from the peleton – made for an engaging climax as Blel Kadri dropped the leaders before going it alone.
However his 1:30 lead shrank with 10km remaining and, as the Frenchman tired, Jose Goncalvez bridged the gap during the final ascent of the Notre Dame de Lorette, and while Kadri saw him off the damage was done and the peleton closed in.
The final 5km was downhill and Kadri could not hang on, FDJ leading the charge as they set up the in-form Demare for a sprint finish.
- Sports & Recreation
- Ramon Sinkeldam
- Blel Kadri
- Maxime Daniel
- Kenny van Hummel
- Hugo Houle
- Geoffrey Soupe