Constantino Zaballa won the 19th stage of the Tour of Spain on Friday.
The Spaniard, riding for Saunier Duval, broke away early in the day to win the 142km (88 mile) stage between Avila and Collado Villalba by over a minute.
"I doubted I would be able to make it because I was alone for so long, but I've been looking for this win since my first year as a pro," said Zaballa.
Roberto Heras retained the overall lead and is now just two stages away from a record-equalling third overall victory.
Zaballa finished ahead of a group of 15 riders headed by Moldova's Ruslan Ivanov and Italian Damiano Cunego.
Stage 19 results:
1. Constantino Zaballa (Spain) Saunier Duval 3 hours 33 minutes 32 seconds
2. Ruslan Ivanov (Moldova) Alessio-Bianchi 1 minutes 23 seconds behind
3. Damiano Cunego (Italy) Saeco
4. Jose Luis Arrieta (Spain) Illes Balears-Banesto
5. Eddy Mazzoleni (Italy) Saeco
6. Juan Manuel Garate (Spain) Lampre
7. Felix Cardenas (Colombia) Cafes Baque
8. Stefano Garzelli (Italy) Vini Caldirola
9. Benoit Joachim (Luxembourg) US Postal Service
10. Dario David Cioni (Italy) Fassa Bortolo all same time
Leading overall placings:
1. Roberto Heras (Spain) Liberty Seguros 7 hours 13 minutes 1 second
2. Santiago Perez (Spain) Phonak 1 minute 13 seconds behind
3. Alejandro Valverde (Spain) Kelme 2:15
4. Francisco Mancebo (Spain) Illes Balears-Banesto 2:16
5. Isidro Nozal (Spain) Liberty Seguros 6:08
6. Carlos Garcia Quesada (Spain) Kelme 6:15
7. Carlos Sastre (Spain) Team CSC 7:56
8. Angel Gomez (Spain) Costa De Almeria 10:21
9. Stefano Garzelli (Italy) Vini Caldirola 12:21
10. Luis Perez (Spain) Cofidis 12:25