Marc Hirschi made it third time lucky as he claimed his maiden Tour de France stage victory in Sarran Correze.

The Swiss rider, making his debut Tour at the age of 22, had twice been on the podium in the opening week of the race after seeing attacking efforts fall short, but delivered for Team Sunweb on stage 12 as he broke clear on the climb of the Suc au May before soloing to victory.

Hirschi's Sunweb team-mate Nicholas Roche made the top 10 thanks to a superb team effort on a day that was always going to be defined by breakaways and chases.

Ireland's Sam Bennett used the day's intermediate sprint to slightly stretch his advantage over Peter Sagan in the points classification, but the former world champion led in the peloton to pick up the scraps at the finish line, cutting his deficit in the battle for green to 66 points, down from 68.

The main group of contenders were content to ride in together to ensure there was no change at the top of the general classification, in which Jumbo-Visma's Primoz Roglic leads by 21 seconds from defending champion Egan Bernal of the Ineos Grenadiers.

Roche moved up to 70th overall, 1 hour 29 minutes and 54 seconds down on Roglic. Dan Martin rose to 58th place 1hr 15' 57" down.

Julian Alaphilippe, who pipped Hirschi to the line on stage two in Nice, was part of a large chase group on the descent to the finish, but a lack of organisation prevented them from closing him down before a mechanical issue ended Alaphilippe's own challenge. 

The lumpy 218km stage from Chauvigny was the longest of the entire Tour, before a return to the mountains on Friday.