A tearful Fabio Aru is set to win the Vuelta a Espana after taking a decisive advantage on the penultimate stage.
His Astana team worked together to break overnight leader Tom Dumoulin on a tough mountain finish, which was won by more than a minute by Ruben Plaza.
Aru finished almost four minutes clear of Dutchman Dumoulin, who is now sixth overall, and the Italian leads Joaquim Rodriguez by one minute 17 seconds.
Sunday's finale is largely processional and Aru just needs to finish in Madrid.
It is a huge turnaround in fortunes for an Astana team that lost its race leader Vincenzo Nibali on stage two when the Italian was disqualified for accepting a tow from a team car on stage two after being involved in a crash.
"We had our difficulties but we were motivated and that gave us strength," said Aru. "It made us a force to be reckoned with."
Dumoulin, 24, could not hide his disappointment.
"I was just empty, I had no legs," he said. "I had an idea that would be the case.
"Tomorrow I will be proud but today I just feel disappointed."
Stage 20 result:
1. Ruben Plaza (Spa/Lampre) 4hrs 37mins 5secs
2. Jose Goncalves (Por/Caja Rural) +1min 7secs
3. Alessandro De Marchi (Ita/BMC Racing) +1min 8secs
4. Romain Sicard (Fra/Europcar) +1min 29secs
5. Amael Moinard (Fra/BMC Racing) +1min 30secs
6. Carlos Verona (Spa/Etixx - Quick-Step) same time
7. Sergio Henao (Col/Team Sky) same time
8. Kenny Elissonde (Fra/FDJ) +1min 35secs
9. Matteo Montaguti (Ita/AG2R) +1min 43secs
10. Moreno Moser (Ita/Cannondale) +2min 40secs
General classification after stage 20:
1. Fabio Aru (Ita/Astana) 83hrs 1min 40secs
2. Joaquim Rodriguez (Spa/Katusha) 1min 17secs
3. Rafal Majka (Pol/Tinkoff - Saxo) +1min 29secs
4. Nairo Quintana (Col/Movistar) +2mins 02secs
5. Esteban Chaves (Col/Orica) +3min 30secs
6. Tom Dumoulin (Ned/Giant) +3mins 46secs
7. Alejandro Valverde (Spa/Movistar) +7mins 10secs
8. Mikel Nieve (Spa/Team Sky) +7mins 26secs
9. Daniel Moreno (Spa/Katusha) +7mins 32secs
10. Louis Meintjes (SA/ Team MTN) +10mins 46secs