Alexandre Vinokourov of Kazakhstan won Wednesday's 11th stage of the Tour de France - a gruelling 172km Alpine slog from Courchevel to Briancon.
The T-Mobile rider out-sprinted Colombian rival Santiago Botero in the final 500m to win by a second in four hours, 47 minutes and 38 seconds.
France's Christophe Moreau edged a chasing group that included Lance Armstrong to take third in 4:48.53.
Armstrong finished sixth - good enough to see him retain the yellow jersey.
But there was bad news for former Tour leader Jens Voigt, who was forced out of the 2005 race after finishing outside the time limit.
Vinokourov mounted an early breakaway - at the 28km mark - and by the time he was at the summit of the day's third climb - the massive Hors Category Col du Galibier - he was out on his own.
Botero caught him on the long descent into Briancon and together both riders worked together to hold off a chasing bunch being led by Armstrong's Discovery Channel.
But Vinokourov timed his sprint to the line perfectly to secure the stage and bounce back from a disappointing ride up Courchevel on Tuesday.
"I really wanted to attack on this stage," said Vinokourov, who moves up from 16th overall to 12th.
"After losing so much time on Tuesday, when I just didn't have the legs, I felt I had got nothing to lose and I wanted to show that I'm far from being out of the race."
Armstrong scaled the Galibier more than two minutes behind Vinokourov in a group of about 20 riders.
But he reeled in some of the deficit with a speedy descent, finishing 1:15 adrift.
The American's overall lead over second-place Mickael Rasmussen of Denmark stays at 38 seconds.
But Moreau's efforts puts him up to third overall, 2:34 behind the six-time Tour champion.
Stage results (top 10):
1. Alexandre Vinokourov (Kazakhstan / T-Mobile) 4:47:38"
2. Santiago Botero (Colombia / Phonak) +1"
3. Christophe Moreau (France / Credit Agricole) +1:15"
4. Bobby Julich (United States / Team CSC) same time
5. Eddy Mazzoleni (Italy / Lampre - Caffita)
6. Lance Armstrong (United States / Discovery Channel)
7. Cadel Evans (Australia / Davitamon - Lotto)
8. Levi Leipheimer (United States / Gerolsteiner)
9. Mickael Rasmussen (Denmark / Rabobank)
10. Georg Totschnig (Austria / Gerolsteiner)
Overall standings: (Top 10)
1. Lance Armstrong (United States / Discovery Channel) 41:59:57"
2. Mickael Rasmussen (Denmark / Rabobank) +38"
3. Christophe Moreau (France / Credit Agricole) +2:34"
4. Ivan Basso (Italy / Team CSC) +2:40"
5. Alejandro Valverde (Spain / Illes Balears) +3:16"
6. Santiago Botero (Colombia / Phonak) +3:48"
7. Levi Leipheimer (United States / Gerolsteiner) +3:58"
8. Francisco Mancebo (Spain / Illes Balears) +4:00"
9. Jan Ullrich (Germany / T-Mobile) +4:02"
10. Andreas Kloeden (Germany / T-Mobile) +4:16"