Thomas De Gendt stormed to victory at stage eight of the Tour de France as Julian Alaphilippe reclaimed the overall lead and Geraint Thomas made sure a major crash did not prove overly costly.
Frenchmen Alaphilippe and Thibaut Pinot launched an impressive attack with around 15 kilometres to go and could not quite catch Lotto-Soudal's De Gendt, who held off the thrilling pursuit to win by six seconds.
But Alaphilippe was able to take back the yellow jersey ahead of the country's Bastille Day celebrations.
Defending champion Thomas was involved in a spectacular fall as he tangled with the bike of team-mate Gianni Moscon but was able to recover to haul in the peloton and finish 10th.
He does, however, slip to fifth in the overall standings, one minute and 12 seconds behind Alaphilippe, who leads Giulio Ciccone by 23 seconds and Pinot by a further 30.
De Gendt's second career Tour stage triumph came as just reward as he remained the sole survivor of a four-man breakaway on the 200km ride from Macon to Saint-Etienne.
Alaphilippe and Pinot dropped the peloton with a forceful climb but could not reel in the Belgian, although it was enough to give France two men in the top three of the GC for the first time since Thomas Voeckler and Sandy Casar from stage 5 to 12 in 2004.
"From 70 kilometres to go, I just kept riding full gas until last climb," said De Gendt. "The bunch was coming closer but I had to go solo and stay ahead of them.
"I almost crashed in a few corners, but I made it. It hurts so much but it's wonderful. It's also mission accomplished for the team. Our goal was to come to the Tour for winning a stage."
1. Thomas De Gendt (Lotto-Soudal) 5:00:17
2. Thibaut Pino (Groupama-FDJ) +0:06
3. Julian Alaphilippe (Deceuninck-Quick Step) "
4. Michael Matthews (Team Sunweb) +0:26
5. Peter Sagan (BORA-Hansgrohe) "
1. Julian Alaphilippe (Deceuninck-Quick Step) 34:17:59
2. Giulio Ciccone (Trek-Segafredo) +0:23
3. Thibaut Pino (Groupama-FDJ) +0:53
1. Peter Sagan (BORA-Hansgrohe) 204
2. Michael Matthews (Team Sunweb) 144
3. Sonny Colbrelli (Bahrain-Merida) 129
King of the Mountains
1. Tim Wellens (Lotto-Soudal) 43
2. Thomas De Gendt (Lotto-Soudal) 37
3. Giulio Ciccone (Trek-Segafredo) 30
Sunday's stage nine will see riders tackle a shorter but hilly 170.5km route from Saint-Etienne to Brioude.