Alexander Vinokourov claimed his first Tour of Spain stage victory for six years by winning the 173km eighth stage from Ponferrada to Lugo.
Vinokourov celebrates his win
The Kazakhstan rider stunned sprinters such as Thor Hushovd and Paolo Bettini to break away 300m from the finish.
Italian Ruggero Marzoli finished second with Slovenian Uros Murn third.
Janez Brajkovic has retained the overall lead but home hopes Alejandro Valverde and Carlos Sastre are closing in on the Slovenian.
Vinokourov's win makes up for his disappointment in stage seven when he lost the mountain-top finish to Valverde by just 12 seconds.
"I felt stung I missed out the previous day by so little," said the Astana-Wuerth rider. "Today I saw there was a little climb close to the finish and seized my chance."
On Sunday, the riders take on the daunting 207km ninth stage from Fonsagrada to Col de La Cobertoria which includes three first category climbs and one non category climb.
Stage eight result:
1. Alexandre Vinokourov (Kazakhstan/Astana) four hours two minutes 11 seconds
2. Ruggero Marzoli (Italy/Lampre) +1"
3. Uros Murn (Slovenia/Phonak)
4. Thor Hushovd (Norway/Credit Agricole)
5. Paolo Bettini (Italy/Quick-Step)
6. Erik Zabel (Germany/Milram)
7. Samuel Sanchez (Spain/Euskaltel)
8. Thomas Ziegler (Germany/T-Mobile)
9. Andrea Moletta (Italy/Gerolsteiner)
10. Davide Rebellin (Italy/Gerolsteiner)
1. Janez Brajkovic (Slovenia/Discovery Channel) 30:50:39"
2. Alejandro Valverde (Spain/Caisse d'Epargne) +5"
3. Carlos Sastre (Spain/Team CSC) +10"
4. Jose Angel Gomez Marchante (Spain/Saunier Duval) +22"
5. Andrey Kashechkin (Kazakhstan/Astana) +23"
6. Manuel Beltran (Spain/Discovery Channel) +51"
7. Ruggero Marzoli (Italy/Lampre) +1:05"
8. Bernhard Kohl (Austria/T-Mobile) +1:37"
9. Danilo Di Luca (Italy/Liquigas) +1:47"
10. Alexandre Vinokourov (Kazakhstan/Astana) +2:07"