The Frenchman from Saur-Sojasun edged out Rui Costa (Movistar) on the long uphill drag to the finish.
Bradley Wiggins retained his seven second lead in the general classification over Team Sky team-mate Michael Rogers after both finished safely in the peloton.
After a frenetic opening hour on the 149km stage that began across the French border in Montbeliard, Canadian Christian Meier (GreenEDGE) and Lars Bak (Lotto-Belisol) escaped.
The duo crossed a category three and category two climb on the rolling stage and still led by 3:35 with 50km to go.
But they were quickly closed down and Bak was caught shortly after the cat-two Col des Rangiers which peaked with 28km remaining.
Peter Stetina (Garmin) and Fabrice Jeandesboz (Saur-Sojasun) then launched a counter-attack but were caught with 4km left on the finishing circuit but Mark Cavendish was missing from the bunch gallop after a mechanical problem on the final climb of the day.