Chris Froome survived a huge test of character to retain the yellow jersey after a thrilling Stage nine of the Tour de France.
The stage was won by Garmin's Dan Martin, who sprinted past Jakob Fuglsang in the final 300 metres after the two had staged a late breakaway.
But Froome held onto yellow after surviving a series of punishing attacks from the Movistar team on a classic Pyrenees stage.
Froome's Team Sky lieutenant, Richie Porte, was dropped early on along with the rest of his team, leaving the Tour de France leader isolated in the peloton.
Porte had been in second place heading into the stage, but lost almost 18 minutes and is now well out of contention for a podium finish.
But the drama centred on the battle between Froome and the cluster of Movistar riders keeping him company. The Spanish team, desperate for a home win on the stage, pushed a relentless pace with the goal of isolating Froome.
Garmin-Sharp were the first to up the tempo though, splitting the peloton and blowing the race wide open. Then Movistar stepped in, with seven of their riders surrounding Froome, looking to isolate the Brit.
And they succeeded. Porte quickly slipped behind when Garmin pushed hard on the first two climbs, while Peter Kannaugh suffered a nasty crash early on.
That left Froome alone to cover the attacks from Movistar duo Nairo Quintana and Alejandro Valverde on the final two mountains. Three times Quintana attacked, but Froome covered the Colombian on each pass in a stunning defensive performance.
To many people's surprise, a Movistar one-two punch failed to materialise and Froome crested the last climb with 30km to go still in the main group.
Martin and Astana rider Fuglsang broke clear over the final climb and held off the chasing group to set up a thrilling sprint climax.
And Martin took the stage, darting past the Danish rider to seal the win. Bauke Mollema moves up to third in the general classification, with Valverde second 1"25" behind Froome.
Do YOU want to write for GiveMeSport? Get started today by signing-up and submitting an article HERE: http://gms.to/writeforgms