Highlights: Geraint Thomas takes back-to-back wins with a mighty finish at Alpe d'Huez
Geraint Thomas became the first Briton to win a stage of the Tour de France on Alpe d'Huez and the first man to win here while wearing the yellow jersey as he extended his overall lead on stage 12.
The Welshman won in an uphill sprint from Team Sunweb's Tom Dumoulin and AG2R La Mondiale's Romain Bardet at the end of the 175.5km stage from Bourg-Saint-Maurice.
Thomas' Sky team-mate Chris Froome was just behind in fourth with Movistar's Mikel Landa fifth.
The quintet had attacked and counter-attacked one another on the way up one of cycling's most famous climbs but were back together in the final few hundred metres, before Thomas accelerated out of the last bend to take the stage win for the second straight day.
"Not even in my wildest dreams did I think I would win on here," Thomas said. "It's one of those things that will stay with me for the rest of my life."
Thomas won by just a couple of seconds from Dumoulin, with Bardet one second behind him and Froome a further second back.
With bonus seconds applied, Thomas extends his lead in yellow over Froome by 14 seconds to one minute and 39 seconds, with Dutchman Dumoulin a further 11 seconds back.
It was a second Tour mountain stage win in a row for Thomas following Wednesday's victory in La Rosiere, and his third career Tour stage win.
His lead over Froome may have grown, but Thomas once again repeated that the four-time winner is Sky's leader here.
"Like I said yesterday, I'm still riding for Froomey," Thomas said. "Froomey is still the man. He knows how to ride for three weeks. Legend gets used way too much but he's probably the best ever so I'm just going to enjoy this."
Froome was slapped by one spectator and appeared to be spat at by another as he faced some of the lingering ill-feeling from the salbutamol case in which he has been cleared of wrong-doing.
The defending champion briefly turned to remonstrate with the man who hit out at him with around seven kilometres to go, but will be happy to have made it up safely.
Nowhere do the crowds get more up close and personal than they do here, and 2014 winner Vincenzo Nibali paid a price as he hit a spectator and crashed while with the lead group.
Thomas had actually appeared in danger of losing yellow at the mid-point of the stage, with LottoNL-Jumbo's Steven Kruijswijk, who started Thursday two minutes and 41 seconds down, enjoying a lead of more than six minutes as he went clear of the day's breakaway.
The Dutchman hit the bottom of Alpe d'Huez with a lead of four minutes 18 seconds but the gap began to tumble as the gradient bit, and he was caught with 3.5km to go.
Landa, Bardet, Froome and Dumoulin all tried moves off the front as the ski resort came into view, but they were all together on the final bend before Thomas burst forward.
A second tough mountain stage took its toll with sprinters Dylan Groenewegen, Fernando Gaviria - both of whom had won two stages in this Tour - joining Andre Greipel in abandoning the Tour to leave the field of quickmen much reduced before an expected sprint on Friday.