Chris Froome saw his Tour de France lead cut but he still looks set to be crowned champion after a dramatic day in the Alps.
The 2013 champion came home third on Friday's stage 19 to La Toussuire to finish 30 seconds behind closest rival Nairo Quintana, who was second.
Italy's defending champion Vincenzo Nibali won the gruelling stage after attacking Froome when he had a mechanical issue on the second climb of the day.
The Kenya-born rider was spat at by fans while another made an obscene gesture at him.
But the Team Sky rider still holds a lead of two minutes 38 seconds over Quintana with just Saturday's final day in the Alps to negotiate.
The Colombian is the only real threat to Froome as the duo look set for a battle on the iconic climb to Alpe d'Huez.
Quintana's Movistar team-mate Alejandro Valverde is still third, but he was dropped on the final climb and is five minutes 25 seconds adrift.
The race had been waiting for Quintana to attack in his bid for the Yellow Jersey and he finally did so with around four miles left.
This time Froome – who has seen his Team Sky teammates other than Dutchman Wout Poels struggle to stay with him – could not respond.
But Quintana will still need a huge effort or Froome to have another mechanical issue for him to snatch the victory ahead of Sunday's processional ride into Paris.
Froome did have a problem on Friday as he suddenly stopped about three miles from the summit of the second climb of the day, the Col de la Croix de Fer.
Nibali, who looked back several times, took advantage by launching an immediate attack even though attacking the yellow jersey when it has a mechanical is seen as unfair.
Froome's problem was later reported to be a stone in his brakes which he had to get rid of before chasing back to the group that contained his closer challengers.
The Nairobi-born rider did so though before he came close to hitting one fan, who gave him an obscene gesture with his forearm.
Froome will be hoping there will be no other issues on stage 20 ahead of the climb to the famous Alpine ski resort as he looks to become the first Brit to regain the coveted maillot jaune.
Froome, 30, was furious with the lack of sportsmanship shown by Nibali for attacking when he had an issue with the bike.
He said: "I just suddenly felt as if my back wheel locked up and a bit of tar or a small stone had locked itself between my brake callipers and my back wheel.
"I had to stop, take the wheel backwards just to get the stone out.
"That was the moment Nibali decided to make his move. He did see what he was doing.
"I'm pretty he looked around, saw I was in trouble and attacked and in my opinion you don't do that to the race leader, it's not sportsmanlike."
"It was a massive day. From the word go the racing was on.
"All in all it was a good day to be able to tick it off with one day of racing left.
"Quintana put in a big attack and I opted to limit my losses and keep a bit of energy."
Quintana said: "I attacked where I'd planned to but I was hoping to get a bigger gap on Froome.
"To be honest it wasn't as much as I wanted, he fought back harder than I thought was likely.
"But I'll go on fighting and see what we can do.
"I'll try again tomorrow from further out, let's see how strong he is then. We'll try for the stage win at least."