Chris Horner extended his overall lead over Vincenzo Nibali after finishing second on the penultimate stage of the Vuelta a España.
American Horner, 41, took a three-second lead over Nibali in the previous stage and stretched it to 37 seconds on the summit finish at Alto de l'Angliru.
Horner was 26 seconds behind France's Kenny Elissonde, the stage winner, with Nibali 54 seconds back in fourth.
The year's final Grand Tour race finishes in Madrid on Sunday.
RadioShack's Horner had to repel repeated attacks by Nibali in the closing stages, but wore down the Giro d'Italia winner by the foggy finish.
"Nibali's attacks make this win much more epic, the fans must have been on the edges of their seats back home," said Horner.
Asked if he needed time to realise he was on the brink of his first Grand Tour victory, Horner replied: "I've had lots of time to think about it, about how much suffering it's taken to get this. What I'm feeling today will last a lifetime".
Horner ended 28 seconds ahead of Alejandro Valverde in third, with Nibali given the same time in fourth.
Valverde is third overall, one minute 36 seconds behind Horner, with Ireland's Nicolas Roche in fifth.
Results of stage 20:
1. Kenny Elissonde (Fra/FDJ.fr) 3:55:36"
2. Chris Horner (US/RadioShack) +26"
3. Alejandro Valverde (Spa/Movistar) +54"
4. Vincenzo Nibali (Ita/Astana)
5. Andre Cardoso (Por/Caja Rural)
6. Dominik Nerz (Ger/BMC Racing)
7. Jose Mendes (Por/NetApp) +1:15"
8. Joaquim Rodriguez (Spa/Katusha) +1:45"
9. Serge Pauwels (Bel/Omega Pharma - Quick-Step) +1:52"
10. Thibaut Pinot (Fra/FDJ.fr) +1:59"
Overall standings after stage 20:
1. Chris Horner (US/RadioShack) 81:52:01"
2. Vincenzo Nibali (Ita/Astana) +37"
3. Alejandro Valverde (Spa/Movistar) +1:36"
4. Joaquim Rodriguez (Spa/Katusha) +3:22"
5. Nicolas Roche (Ire/Saxo-Tinkoff) +7:11"
6. Domenico Pozzovivo (Ita/AG2R) +8:00"
7. Thibaut Pinot (Fra/FDJ.fr) +8:41"
8. Samuel Sanchez (Spa/Euskaltel) +9:51"
9. Leopold Koenig (Cze/NetApp) +10:11"
10. Daniel Moreno (Spa/Katusha) +13:11"