Chris Froome kept the leader's yellow jersey despite breaking a wheel as Bauke Mollema won the 15th stage of the Tour de France on Sunday in a solo breakaway.
Diego Ulissi was second at the end of the 189.5km mountainous stage from Laissac-Severac l'Eglise in the Massif Central ahead of Tony Gallopin in third.
Reigning champion Froome had to survive a worrying moment when he suffered a mechanical problem in the last 50km that saw him drop 50 seconds behind his main rivals as he had to take a wheel from team-mate Michal Kwiatkowski to continue.
With Romain Bardet's AG2R team pushing the pace, a mad 20km chase ensued as Mikel Nieve, Vasil Kiryienka and Sergio Henao helped pace Froome back to the group, and the three-time champion made contact 3km before the summit of the first-category col de Peyra Taillade, just over 30km from the finish.
"AG2R did their race, they went quickly up the climb but just before the climb I had a problem with my rear wheel — it was broken and I had to change it," Froome told French television.
"My team-mate Michal Kwiatkowski stopped and gave me his wheel because the team car was a long way away.
"We did the maximum to get back to the head of race. Again thanks to my friends and team-mates, you can see it here (on the TV) Sergio Henao and Mikel Nieve did everything to get back to the front of the race, and Mikel Landa as well who waited for me at the top."
The 32-year-old Briton crossed the line alongside most of his main rivals to maintain his 18-second lead over Italian Fabio Aru, with Romain Bardet of France third at 23sec and Colombia's Rigoberto Uran fourth at 29sec.
And he admitted he was relieved to hold onto the yellow jersey.
"It was a stressful moment, of course. I thought I might not be able to get back to the front," said Froome.
The big loser of the day was Colombia's Nairo Quintana, twice a runner-up to Froome, who was dropped on the Peyra Taillade climb and lost almost four minutes by the finish to the other contenders, dropping from eighth to 11th at 6:16.
Meanwhile, Ireland's Dan Martin was typically abrasive and launched an attack inside the last 12km to gain 14 seconds on the other challengers.
The 30-year-old even snatched a place in the standings, moving above Landa into fifth, now 1min 12sec behind Froome — Martin lost 1:15 a week earlier when taken out by a crashing Richie Porte on a hazardous descent and has even been suffering from back pain ever since.
Up front, Mollema was part of a 28-man breakaway that split on the Peyra Taillade.
A nine-man group formed on the descent when he went on a lone attack, increasing his lead to 50sec at one point as the chase proved disorganised.
Finally four men emerged as Mollema's pursuers but they couldn't bridge the gap with Italian Ulissi settling for second 19sec behind the winner, with Gallopin third and his French compatriot Warren Barguil, the winner of Friday's Bastille Day 13th stage, fourth at 23sec.
"It's really amazing. I'm so happy to win a stage at the Tour de France," said 30-year-old Mollema, who has finished in the top 10 of the Tour three times but had never before won a stage.
"I've worked for it so hard in the last few years. That was a big goal for me. I needed a chance, but a lot of teams wanted to go up the road today."
The Dutchman was seventh at May's Giro d'Italia so isn't riding for a top finish here.
"This is the biggest win of my career so far. The Tour de France has always been my dream. I'm incredibly happy," added Mollema.