Italy's Paolo Savoldelli won the 20th stage individual time trial of the Giro d'Italia, leaving Danilo di Luca almost certain to take the overall victory.
Di Luca finished 1:57 behind Savoldelli in the time trial
Savoldelli completed the 26.7-mile flat course from Bardolino to Verona in 52 minutes, 20 seconds.
Eddy Mazzoleni was 36 seconds back and two seconds ahead of David Zabriskie.
Di Luca, who finished 1:57 behind Savoldelli, now leads second-place Andy Schleck by 1:55 in the standings going into Sunday's final stage into Milan.
The leg from Vestone is relatively easy, meaning Di Luca can expect to win the 90th edition of the race if there are no unforeseen mishaps.
Saturday's stage result:
1. Paolo Savoldelli, Italy, Astana, 52 minutes, 20 seconds.
2. Eddy Mazzoleni, Italy, Astana, 36 seconds behind.
3. David Zabriskie, United States, Team CSC, 0:38.
4. Laszlo Bodrogi, Hungary, Credit Agricole, 1:08.
5. Marzio Bruseghin, Italy, Lampre-Fondital, 1:16.
6. Andy Schleck, Luxembourg, Team CSC, 1:28.
7. Vincenzo Nibali, Italy, Liquigas, 1:44.
8. Danilo Di Luca, Italy, Liquigas, 1:57.
9. Mikhail Ignatiev, Russia, Tinkoff Credit Systems, 2:01.
10. Franco Pelizotti, Italy, Liquigas, 2:02.
1. Danilo Di Luca, Italy, Liquigas, 87 hours, 40 minutes, 45 seconds.
2. Andy Schleck, Luxembourg, Team CSC, 1 minute, 55 seconds behind.
3. Eddy Mazzoleni, Italy, Astana, 2:25.
4. Gilberto Simoni, Italy, Saunier Duval, 3:15.
5. Damiano Cunego, Italy, Lampre-Fondital, 3:49.
6. Riccardo Ricco, Italy, Saunier Duval, 7:00.
7. Evgeni Petrov, Russia, Tinkoff Credit Systems, 8:34.
8. Marzio Bruseghin, Italy, Lampre-Fondital, 10:14.
9. Franco Pellizotti, Italy, Liquigas, 10:44.
10. David Arroyo Duran, Spain, Caisse D'Epargne, 11:58.