It was third time lucky for Switzerland's Marc Hirschi as he claimed his maiden Tour de France stage victory in Sarren Correze while Primoz Roglic retained the yellow jersey.
Hirschi, 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.
It gave Hirschi his first victory as a professional cyclist, and built on second and third places in the first week of the Tour.
"It's unbelievable," Hirschi said. "Two times I was really close so actually today I never believed I could make it. I can't describe it, it's hard to find the words.
"I had the picture in my mind from the last two stages when I was close. Then in the last three kilometres I believed I could make it. It's my first pro victory and it's in the Tour so it couldn't be better."
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 the group lacked organisation, with Hirschi's team-mates Soren Kragh Andersen and Nicolas Roche working to shut down attacks, and could not make an impression before a mechanical problem for Alaphilippe ended his own challenge.
"I think if I had tried any harder I would have been disappointed," the Deceuninck-QuickStep rider said. "I tried my best but Hirschi was the strongest man today. I can't really say anything other than I tried my best."
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 Roglic leads by 21 seconds from defending champion Egan Bernal of the Ineos Grenadiers.
Irishman 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 home the peloton to pick up scraps on the line and cut his deficit in the fight for green to 66 points.
The lumpy 218km stage from Chauvigny was the longest of the entire Tour, before a return to the mountains on Friday.