Slovakia's Peter Sagan won a sprint finish in a rain-hit penultimate stage of Italy's Tirreno-Adriatico.
Sagan edged out Gerald Ciolek and Jens Debusschere for his first victory with Tinkoff-Saxo, while Colombia's Nairo Quintana retained the overall lead.
Quintana, who was runner-up last year, will take a 39-second advantage over Bauke Mollema into the final day.
Tuesday's final stage is a 6.2-mile individual time trial around San Benedetto del Tronto.
Sagan, 25, was thrilled to win Monday's 130-mile stage six from Rieti to Porto Sant'Elpidio in difficult conditions, after two second-placed finishes in this year's Tirreno and 15 runner-up spots this season.
"Finishing second so often was bad because I wanted to win," said Sagan. "I honestly don't know how many second places I got. So many. It could have been a load of first places.
"But it's all an experience. Life is like that too, sometimes you are up and sometimes you are down."
Stage six result
1. Peter Sagan (Svk/Tinkoff-Saxo) 5hrs 04mins 13secs
2. Gerald Ciolek (Ger/Team MTN) Same time
3. Jens Debusschere (Bel/Lotto) Same time
4. Magnus Cort (Den/Orica) Same time
5. Maximiliano Richeze (Arg/Lampre) Same time
6. Edvald Boasson Hagen (Nor/Team MTN) Same time
7. Nikias Arndt (Ger/Giant) Same time
8. Sam Bennett (Ire/BORA) Same time
9. Ramunas Navardauskas (Lit/Cannondale) Same time
10. Alexey Lutsenko (Kaz/Astana) Same time
Classification after stage six
1. Nairo Quintana (Col/Movistar) 24hrs 58mins 58secs
2. Bauke Mollema (Ned/Trek) +39secs
3. Rigoberto Uran (Col/Etixx-Quick-Step) +48secs
4. Thibaut Pinot (Fra/FDJ) +57secs
5. Alberto Contador (Spa/Tinkoff - Saxo) +1min 03secs
6. Adam Yates (GB/Orica) +1min 04secs
7. Domenico Pozzovivo (Ita/AG2R) +1min 06secs
8. Joaquim Rodriguez (Spa/Katusha) +1min 07secs
9. Steven Cummings (GB/Team MTN) +1min 12secs
10. Wout Poels (Ned/Team Sky) +1min 13secs