Chris Froome launched a spectacular attack on the final descent to win stage eight and take the leader's yellow jersey in the Tour de France.
Team Sky rider and defending champion Froome, 31, denied fellow Briton Adam Yates the race lead but Yates retained the young riders' white jersey.
British riders have won five of the first eight stages of the Tour.
They also hold three of the four jerseys after Mark Cavendish kept the green points jersey.
The Team Dimension Data sprinter, who has won three stages in this Tour, finished more than 39 minutes behind Froome on a punishing second day in the Pyrenees, which included four mountains and temperatures approaching 30C.
Overnight race leader Greg van Avermaet lost almost 25 minutes to tumble well down the classification.
- Commentary of Froome's stunning stage win
- Bespoke podcast - stage eight
- Watch the route of the final descent
Froome defends 'lashing out' at fan
Froome was involved in more drama before the 17km descent to the finish, with TV pictures appearing to show him striking a spectator.
But the 2013 and 2015 winner, who was spat at by fans and had urine thrown on him during last year's Tour, said he was taking evasive action.
"This guy in particular was running right next to my handlebars that had a flag that was flying behind him," said Froome.
"It was just getting dangerous, so I pushed him away. I lashed out and pushed him away.
"It's fantastic having so many fans out on the route but please, please, I urge the fans: don't try and run with the riders. It's really dangerous for the guys behind."
Following that altercation, Team Sky increased the pace during the last climb of the 183km stage from Pau to Bagneres-de-Luchon.
Froome, a renowned climber, was first over the 1,569m summit, and then immediately attacked, catching his rivals, including Movistar's Nairo Quintana, by surprise.
Sitting on the crossbar of his bike rather than the saddle in an attempt to make himself more aerodynamic, Froome broke clear to win by 13 seconds.
A 10-second time bonus for winning the stage gave him a 23-second advantage over Quintana and BMC's Tejay van Garderen, with Tinkoff's Alberto Contador now three minutes and 12 seconds adrift.
'I felt like a kid again'
Froome said his attack on the descent "definitely wasn't planned".
"It was really just a spur of the moment thing," he said. "I felt like a kid again, just trying to ride my bike as fast as I could.
"I was taking a risk but I'm glad I did. I couldn't be happier to be back in yellow."
Team Sky team principal David Brailsford said: "When people start thinking you're predictable and conservative and everything else, you always have the element of surprise. We thought we'd use that this year.
"The descent shows a lot about Chris. He made the decision and when he sees the opportunity, he takes it and he never ceases to amaze. That's why he's won two Tours de France. "
Yates denied on fluctuating day for yellow
Froome's surge down the Col de Peyresourde denied Yates the overall lead on a day where the yellow jersey looked like it could end up with several different riders.
Orica-BikeExchange rider Yates started the day with stitches in his chin after he crashed when an inflatable road marker collapsed on him on Friday, one kilometre from the end of stage seven.
His position was revised to second place overall at the start of Saturday's stage and he kept in touch with the leaders as Belgian Van Avermaet slipped behind the peloton on the day's second climb.
Frenchman Thibaut Pinot appeared to have a chance of wearing yellow when he made an early break, but he was caught on the third climb, seemingly giving Bury's Yates the advantage in the race for yellow.
He held a seven-second advantage over Froome at the start and was in touch at the top of the last mountain, but the Kenya-born rider's attack established a decisive lead on the group that Yates was a part of.
Yates said: "I got off pretty lucky [after the crash on stage seven], but I'm OK and today was tough. I just tried to hang on.
"It was a full gas day from start to finish. There's nothing more I could do today."
"It would have been nice to have the yellow but Chris Froome will be on the top step in Paris, so it's no shame to be behind him on GC."
Stage eight result
1. Chris Froome (GB/Team Sky) 4hrs 57mins 33secs
2. Daniel Martin (Ire/Etixx-QuickStep) +13secs
3. Joaquim Rodriguez (Spa/Katusha) same time
4. Romain Bardet (Fra/AG2R)
5. Roman Kreuziger (Cze/Tinkoff)
6. Fabio Aru (Ita/Astana)
7. Adam Yates (GB/Orica)
8. Alejandro Valverde (Spa/Movistar)
9. Bauke Mollema (Ned/Trek)
10. Richie Porte (Aus/BMC Racing)
General classification after stage eight
1. Chris Froome (GB/Team Sky) 39hrs 13mins 4secs
2. Adam Yates (GB/Orica) +16secs
3. Joaquim Rodriguez (Spa/Katusha) same time
4. Daniel Martin (Ire/Etixx - Quick-Step) +17secs
5. Alejandro Valverde (Spa/Movistar) +19secs
6. Nairo Quintana (Col/Movistar) +23secs
7. Fabio Aru (Ita/Astana) same time
8. Tejay van Garderen (US/BMC Racing)
9. Romain Bardet (Fra/AG2R)
10. Bauke Mollema (Ned/Trek)