Chris Froome has one more mountainous hurdle to overcome to claim a second Tour de France title after today's 19th stage in which 30 seconds was chopped off his lead as Vincenzo Nibali claimed a controversial victory.
The Britsh cyclist, who was spat at by a spectator, still retains a comfortable advantage with one more testing day in the Alps to go before the final procession into Paris.
Froome leads by 2:38 from Colombian Nairo Quintana, who attacked the Team Sky rider in a gripping finale to finish second.
Spain's Alejandro Valverde, who finished 2:26 off the pace among a group that included several of the race's top ten, remains third, 5:25 behind Froome.
It was Nibali, however, who drew the Briton's ire.
The Italian defending champion, who had dropped out of contention in the race after a tough first week and a bad first day in the Pyrenees, broke away from a group of top riders 61 kms from the finish.
The break, however, came just as Froome suffered a mechanical problem, triggering an angry reaction from the Briton.
On his way to victory, the Italian caught and dropped Frenchman Pierre Rolland in the final climb, an 18 km ascent to the ski resort of La Toussuire at an average gradient of 6.1 percent.
The Astana rider crossed the line 44 seconds ahead of Quintana, who also attacked Froome with about 6 kms remaining, finishing 30 seconds ahead of the Briton.
Nibali made his move 6 kms from the top of the gruelling ascent to the col de la Croix de Fer.
"I'm pretty sure he looked around, saw I was in trouble, and attacked," said Froome, who went to Nibali after the finish and "told him exactly what (he) thought of him".
Some riders believe the wearer of the yellow jersey should not be attacked if he suffers a mechanical problem or a crash and Froome clearly agrees.
"It seems to me that Nibali had the whole climb to attack but he chose the moment I had a mechanical to make his move and I've heard from other riders that he turned and attacked. In my opinion it's very unsportsmanlike.
"It's not in the spirit of the Tour de France."
Nibali, not a threat to the yellow jersey after dropping out of contention in the first block of racing, went on to win the stage ahead of Colombian Nairo Quintana and Froome, who were second and third respectively.
Some riders believe the wearer of the yellow jersey should not be attacked if he suffers a mechanical problem or a crash.
Nibali, however, said he did not see the incident.
"I had turned around to talk to my team-mate Tanel Kangert," said the Italian, who is now fourth overall, 6:44 off the pace.
Froome went to confront Nibali after the finish.
Asked what he was told by the Briton, Nibali replied: "It can't be repeated."
It was another testing day for Froome who was spat at by a spectator after having urine thrown at him last week.
"It's appalling behaviour," said the Briton, who did not see the incident but was told by journalists.
The attacks on Froome began early on in the stage.
Alberto Contador and Valverde managed to join a breakaway group in the first climb of the day, the demanding col du Chaussy.
They were reined in just before the top but Froome had to make use of his team mates' support earlier than expected.
Team Sky's Geraint Thomas, who began the day sitting fourth overall, paid dearly for his efforts, cracking later in the stage.
He is now 15th after losing more than 20 minutes.
Froome has one more day in the mountains on the last competitive stage, which ends with the 21 hairpins of the infamous L'Alpe d'Huez.