Alexander Vinokourov clinched his second victory of this year's Tour de France with panache when he won the 196-km 15th stage from Foix.
The Astana rider, who lost all hope of winning the race when he cracked and crashed on Sunday's 14th stage, went solo 15km from the summit of the Col de Peyresourde to beat Luxembourg's Kim Kirchen of the T-Mobile team.
Euskaltel rider Haimar Zubeldia of Spain came home third. Overall leader Michael Rasmussen of Denmark retained the yellow jersey.
The Rabobank rider was attacked during the last climb by Spaniard Alberto Contador, second in the overall standings, but managed to resist the Discover Channel rider to maintain his race lead of two minutes 23 seconds.
Australian Cadel Evans and Germany's Andreas Kloeden were unable to respond to Contador's violent burst of speed and they finished 56 seconds behind the pair.
Evans is third, four minutes adrift of Rasmussen, with American Levi Leipheimer fourth 1:25 further behind. Vinokourov's team mate Kloeden is fifth, 5:34 off the pace.
'Yesterday, I had no strength. I told myself the Tour is over but I got the support of the whole team,' said Vinokourov, who had been back in contention after winning Saturday's time trial in Albi.
The Kazakh, however, lost almost half an hour on Sunday and crashed during the ascent of the Plateau-de-Beille.
'I said this morning that I wanted to give it a try. I knew the Col de Peyresourde very well.'
Vinokourov was in the 24-man breakaway that built an advantage of 9:50 over the main pack. The Kazakh attacked at the bottom of the category-one climb and never looked back.
The peloton will rest on Tuesday before Wednesday's hardest stage in the Pyrenees, a 218.5-km ride from Orthez to the Col d'Aubisque.
Stage 15 result
1 Alexander Vinokourov (Kazakhstan / Astana ) 5 hrs 34:28"
2 Kim Kirchen (Luxembourg / T-Mobile ) +51"
3 Haimar Zubeldia (Spain / Euskaltel )
4 Juan Jose Cobo (Spain / Saunier Duval ) +58"
5 Juan Manuel Garate (Spain / Quick-Step ) +2:14"
6 David Arroyo (Spain / Caisse d'Epargne ) +3:23"
7 Bernhard Kohl (Austria / Gerolsteiner ) +4:25"
8 Christian Vande Velde (U.S. / Team CSC )
9 Ludovic Turpin (France / AG2R ) +5:16"
10 Alberto Contador (Spain / Discovery Channel ) +5:31"
11 Michael Rasmussen (Denmark / Rabobank )
12 George Hincapie (US / Discovery Channel ) +5:50"
1 Michael Rasmussen (Denmark / Rabobank ) 69 hrs 52:14"
2 Alberto Contador (Spain / Discovery Channel ) +2:23"
3 Cadel Evans (Australia / Predictor - Lotto ) +4:00"
4 Levi Leipheimer (US / Discovery Channel ) +5:25"
5 Andreas Kloeden (Germany / Astana ) +5:34"
6 Carlos Sastre (Spain / Team CSC ) +6:46"
7 Haimar Zubeldia (Spain / Euskaltel ) +7:27"
8 Andrey Kashechkin (Kazakhstan / Astana ) +7:54"
9 Kim Kirchen (Luxembourg / T-Mobile ) +8:24"
10 Mikel Astarloza (Spain / Euskaltel ) +9:21"
1 Tom Boonen (Belgium / Quick-Step ) 195 points
2 Robert Hunter (South Africa / Barloworld ) 175
3 Erik Zabel (Germany / Milram ) 174
4 Thor Hushovd (Norway / Credit Agricole ) 132
5 Sebastien Chavanel (France / Francaise des Jeux ) 127
King of the Moutains standings
1 Michael Rasmussen (Denmark / Rabobank ) 142 points
2 Mauricio Soler (Colombia / Barloworld ) 140
3 Yaroslav Popovych (Ukraine / Discovery Channel ) 104
4 Alberto Contador (Spain / Discovery Channel ) 85
5 Laurent Lefevre (France / Bouygues Telecom ) 78