Dan Martin became just the fifth Irishman to win a Tour de France stage as he sprinted to victory on the ninth day of the race.
The Garmin-Sharp rider broke from the peloton during the final climb of the day alongside Astana's Jakub Fuglsang before edging ahead after the final corner.
General classification leader Chris Froome crossed the line 20 seconds later in a group with the other yellow jersey contenders, but his Team Sky teammate Richie Porte finished almost 18 minutes behind.
Movistar's Alejandro Valverde moves into second in the GC, 1:25 behind Froome, while Belkin's Bauke Mollema is 19 seconds further back in third.