Alberto Contador sprinted to victory ahead of race leader Michael Rasmussen on stage 14 of the Tour de France.
Contador celebrates victory from race leader Rasmussen
The pair went head-to-head in a remarkable battle to the mountain-top finish at Plateau-de-Beille.
Despite losing, Rasmussen stretched his race lead to two minutes 23 seconds and Contador is now second overall, having leapfrogged Australian Cadel Evans.
The stage came alive on the second out-of-category climb of the day after Alexandre Vinokourov blew on the first.
Vinokourov had seemed to ride his way back into contention in Saturday's time-trial, but he had nothing left in the tank on the climb to Port de Pailheres, the bigger of the day's two Pyrenean monsters.
However, it was the 16km climb to the finish at Plateau-de-Beille that proved the more brutal.
Yaroslav Popovych set a relentless pace on the incessant climb and shelled riders out of the back of the leading group, which was chasing down Antonio Colom, the strongest of five Spanish breakaway riders.
Alejandro Valverde and Iban Mayo fell away early, and Andreas Kloden clung on at the back of a group of 10 before gradually losing contact.
When they were down to just six Rasmussen repeatedly tested the resolve of his rivals with short, sharp bursts before Contador went for the kill.
The 24-year-old Spaniard, leader of the Young Rider standings, jumped off the front and the only man who had anything left to respond was Rasmussen.
The pair soon swept past Colom before beginning to bicker in the final few kilometres.
With bonus seconds up for grabs on the line, both wanted the victory and neither man was in the mood to strike a deal.
Contador was content to sit in the slipstream of the yellow jersey and was always favourite to claim the win coming from behind when Rasmussen wound up for the final sprint.
He crossed the line after five hours 25 minutes 48 seconds in the saddle and joined a select band of previous winners at the mountain-top finish.
Marco Pantani took the plaudits in 1998 and Lance Armstrong twice tasted victory at Plateau-de-Beille in 2002 and 2004.
On each occasion they matched their success in the Pyrenees with the Tour title in Paris.
Despite the omens, Rasmussen is now in prime position to claim overall victory after gaining time on everyone bar Contador.
But the Dane refused to get ahead of himself: "I'm thinking about tomorrow before I'm thinking about Paris. There's still another two tough stages in the Pyrenees, and another time trial."
What is certain is the Vinokourov will not be standing on the top step of the podium on the Champs Elysees.
The pre-race favourite finished almost 30 minutes back and tumbled from ninth to 30th overall on a bad day for his Astana team.
Kloden and Andriy Kashechkin also slipped in the general classification, losing a place apiece.
In contrast, Discovery prospered on the first of three testing stages in the Pyrenees.
Contador's team-mate Levi Leipheimer also climbed a spot after finishing fourth and Popovych jumped five places from 15th.
Stage 14 result:
Mazamet to Plateau-de-Beille, 197km
1. Alberto Contador (Spa) Discovery 5 hrs 25 mins 48 secs
2. Michael Rasmussen (Den) Rabobank @ same time
3. Juan Mauricio Soler Hernandez (Col) Barloworld @ 37 secs
4. Levi Leipheimer (USA) Discovery @ 40 secs
5. Carlos Sastre (Spa) Team CSC @ 53 secs
6. Andreas Kloden (Ger) Astana @ 1 min 52 secs
7. Cadel Evans (Aus) Predictor - Lotto @ same time
8. Antonio Colom (Spa) Astana @ 2 mins 23 secs
9. Andrey Kashechkin (Kaz) Astana @ same time
10. Yaroslav Popovych (Ukr) Discovery @ 3 mins 6 secs
14. Alejandro Valverde (Spa) Caisse d'Epargne @ 3 mins 45 secs
30. Charlie Wegelius (GB) Liquigas @ 7 mins 35 secs
35. Iban Mayo (Spa) Saunier Duval @ 9 mins 31 secs
66. David Millar (GB) Saunier Duval @ 18 mins 30 secs
81. Alexandre Vinokourov (Kaz) Astana @ 28 mins 50 secs
137. Geraint Thomas (GB) Barloworld @ 34 mins 52 secs
149. Bradley Wiggins (GB) Cofidis @ 34 mins 52 secs
1. Michael Rasmussen (Den) Rabobank 64 hrs 12 mins 15 secs
2. Alberto Contador (Spa) Discovery @ 2 mins 23 secs
3. Cadel Evans (Aus) Predictor - Lotto @ 3 mins 4 secs
4. Levi Leipheimer (USA) Discovery @ 4 mins 29 secs
5. Andreas Kloden (Ger) Astana @ 4 mins 38 secs
6. Carlos Sastre (Spa) Team CSC @ 5 mins 50 secs
7. Andrey Kashechkin (Kaz) Astana @ 6 mins 58 secs
8. Mikel Astarloza (Spa) Euskaltel @ 8 mins 25 secs
9. Alejandro Valverde (Spa) Caisse d'Epargne @ 9 mins 45 secs
10. Yaroslav Popovych (Ukr) Discovery @ 10 mins 55 secs
30. Alexandre Vinokourov (Kaz) Astana @ 34 mins 12 secs
67. Charlie Wegelius (GB) Liquigas @ 1 hr 20 mins 27 secs
77. David Millar (GB) Saunier Duval @ 1 hr 29 mins 21 secs
135. Bradley Wiggins (GB) Cofidis @ 2 hrs 12 mins 6 secs
162. Geraint Thomas (GB) Barloworld @ 2 hrs 29 mins 44 secs