Blel Kadri of Ag2r-La Mondiale has won stage eight of Le Tour de France, a 161km trek from Tomblaine to Gérardmer La Mauselaine.
Alberto Contador (Tinkoff-Saxo) came home 2:17 later in second, followed by race leader Vincenzo Nibali (Astana) in third, 2:20 behind.
Nibali retained the overall leader's yellow jersey.
Ireland's Nicolas Roche came home 16th - 3:33 behind, which leaves him 34th overall, 16:49 off the lead.
Two-time Tour winner Contador attacked on the last ascent and Nibali could not respond after his team-mate Jakob Fuglsang was dropped in the final climb.
American Andrew Talansky, who crashed on Friday, hit the tarmac again on the slippery descent from the Col de la Grosse Pierre with less than 10km to go.
The Garmin-Sharp rider lost more than two minutes to Nibali and Contador, dropping to 16th overall.
Australian Richie Porte, promoted to Team Sky leader after defending champion Chris Froome pulled out injured following a crash, finished fourth in the stage ahead of French hope Thibaut Pinot.
"I think it is going to be a duel between Nibali and Contador. I'm still a bit behind," said FDJ.fr rider Porte who is third overall, one minute 58 seconds behind Nibali, with Dane Fuglsang in second spot 1:44 off the pace.