Ireland's Dan Martin has won the sixth stage of the Tour de France in Brittany.
The Team UAE Emirates rider jumped away from the main pack inside the final kilometre and never looked back, beating France's Pierre Latour and Spain's Alejandro Valverde by one second and three seconds respectively.
BMC rider Richie Porte, Italian Vincenzo Nibali and Britain's Geraint Thomas all crossed the line three seconds off the pace after the 181km ride from Brest to Mur de Bretagne, with defending champion Chris Froome five seconds further back.
Porte sits in 11th spot on the general classification, 53 seconds behind Belgian teammate Belgian Greg van Avermaet, who is clinging on to the yellow jersey, three seconds ahead of Team Sky's Thomas.
Last year's runner-up, Rigoberto Uran was 11 seconds behind Martin, but it was worse for French hope Romain Bardet, who ended up 31 seconds off the pace, after having to swap bikes with a teammate
Dutchman Tom Dumoulin, the 2017 Giro d'Italia champion, suffered a puncture with five kilometres to go and ended the day 53 seconds behind the winner.
Jack Bauer was the pick of the Kiwis on the sixth stage, crossing the line in 106th.
The 33-year-old is up to seventh in the King of the Mountains category, while compatriot Dion Smith is back up to second place in the climbers' race behind Latvian rider Toms Skujins.
Martin came home second the last time a Tour stage ended in Mur de Bretagne and he admitted he had been obsessed about winning here this time on a punchy climb that suited his abilities.
"I thought about it [his second place in 2015] all day," Martin said. "It was good to finish second back then, but this time I was coming for victory.
"It was difficult, because there was a headwind, so going solo was risky."
Saturday (NZ time) will see the riders take on the longest stage of the race at 218km, when they take off from Fougeres and finish in Chartres.
The last time this route was used was in 2004, won by Australia's Stuart O'Grady from a breakaway.