Spaniard Omar Fraile won stage 14 of the Tour de France in a dramatic finish as Team Sky's Geraint Thomas retained the leader's yellow jersey.
Jasper Stuyven attacked alone with 35km to go but was caught and passed by Fraile inside the last 3km on the brutal final climb in Mende.
Fraile took the summit solo and stayed clear of Julian Alaphilippe's late counter-attack, with Stuyven third.
Thomas finished alongside nearest rivals Chris Froome and Tom Dumoulin.
That trio again looked the strongest riders in the race, with Dumoulin briefly gapped but chasing back and launching an attack, which Froome countered, with Thomas able to follow.
Although that skirmish ended in a stalemate - Thomas keeping his lead of one minute 39 seconds over Froome, with Dumoulin 11 seconds further adrift - the top three were able to put more time into most of their rivals.
However, Primoz Roglic was able to make a late attack stick and gained eight seconds to move 2:38 behind Thomas in fourth.
Thomas was again booed when crossing the line, while Froome had a clear liquid thrown in his face on the final climb. It is not clear why the riders were targeted here, although Team Sky have detractors, both stemming from their recent dominance in the sport, and because of a recent anti-doping investigation into Froome, which was dropped in early July.
"I'd rather be on the podium getting booed than on the bus and everybody cheering me," Thomas told BBC Radio 5 live.
The Welshman added that Dumoulin and Roglic are "the biggest threats" to himself and Froome but is not ruling out anyone, with three mountain stages in the Pyrenees and an individual time trial still to come.
"Who knows how people are - including myself? This is the first time I've really gone for GC [the general classification victory] over three weeks," he said.
Ireland's Dan Martin sustained a puncture just before the final climb and dropped one position in the general classification to 10th.
Top three assert their strength
The stage split into two races, with a 32-man breakaway, containing no threat to the overall leaders, allowed to build up an advantage of about 20 minutes over the peloton on the undulating terrain of the Massif Central.
Team Sky controlled proceedings behind, ensuring nobody could launch a long-distance attack and would have to leave any onslaughts to the slopes of Cote de la Croix Neuve.
But with an average gradient of 10.2% over 3.3km, that final climb had already proved tough enough to produce significant time losses, as Stuyven found.
The main favourites duly gathered in the front group as the peloton splintered and were slowly whittled down before Roglic kicked away.
Thomas and Froome seemed content to let the Slovenian go, but had to quickly latch on to the wheel of Dumoulin when the Dutchman rode back up to the British pair and immediately attacked, having briefly been in trouble.
Four-time winner Froome, who also fell behind fleetingly earlier in the climb, then made his own show of strength but Thomas was again able to match his team-mate, while they were unable to drop the unshakeable Dumoulin together.
Those accelerations were enough to distance Romain Bardet though, with the Frenchman losing 14 more seconds to Thomas, while Movistar pair Nairo Quintana and Mikel Landa lost 10 and 29 seconds respectively.
Fraile fries Stuyven
Trek-Segafredo's Stuyven initially formed a three-man group of escapees from the breakaway but left Gorka Izagirre and Tom-Jelte Slagter behind on the long descent towards Mende.
The Belgian admirably kept a chasing pack of 19 riders at bay, carrying a lead of 1:40 into the final climb, but could not quite drag himself to the summit in time.
His compatriot Thomas de Gendt was the first to try to bridge across but it was Fraile who timed his attack exquisitely, reeling in and kicking past De Gendt before doing the same to Stuyven.
France's Alaphilippe, who won stage 10, put in a strong dig to chase down Fraile but left his attack too late, with the Spaniard able to cruise through the flat run-in to the line unopposed.
World champion Peter Sagan put in another superb ride after winning Friday's stage 13 in a sprint. The versatile Slovak hung on with supposedly superior climbers before kicking away to finish fourth and extend his dominant lead in the green jersey points classification.
More Massif mountains on stage 15
Sunday's stage 15 stays in the Massif Central, with a 181.5km route from Millau to Carcassonne that features three categorised climbs.
In his stage-by-stage guide for BBC Sport, Mark Cavendish said: "There are other ways we could have got to Carcassonne without going over the category one Pic de Nore near the finish, which will break things up for the run-in.
"The sprinters won't be looking to do anything but there are guys like Sagan who can get over it and come to the finish."
Stage 14 result
1. Omar Fraile (Spa/Astana) 4hrs 41mins 57secs
2. Julian Alaphilippe (Fra/Quick-Step Floors) +6secs
3. Jasper Stuyven (Bel/Trek-Segafredo) same time
4. Peter Sagan (Svk/Bora-Hansgrohe) +12secs
5. Damiano Caruso (Ita/BMC Racing) +17secs
6. Simon Geschke (Ger/Sunweb) +19secs
7. Nicolas Edet (Fra/Cofidis) same time
8. Lilian Calmejane (Fra/Direct Energie) +23secs
9. Daryl Impey (SA/Mitchelton-Scott) +30secs
10. Thomas de Gendt (Bel/Lotto-Soudal) +37secs
General classification after stage 14
1. Geraint Thomas (GB/Team Sky) 58hrs 10mins 44secs
2. Chris Froome (GB/Team Sky) +1min 39secs
3. Tom Dumoulin (Ned/Sunweb) +1min 50secs
4. Primoz Roglic (Slo/LottoNL-Jumbo) +2mins 38secs
5. Romain Bardet (Fra/AG2R La Mondiale) +3mins 21secs
6. Mikel Landa (Spa/Movistar) +3mins 42secs
7. Steven Kruijswijk (Ned/LottoNL-Jumbo) +3mins 57secs
8. Nairo Quintana (Col/Movistar) +4mins 23secs
9. Jakob Fuglsang (Den/Astana) +6mins 14secs
10. Dan Martin (Ire/UAE Team Emirates) +6mins 54secs