Britain's Adam Yates retained his lead of the Tirreno-Adriatico going into the final day as Julian Alaphilippe won the sixth stage.
Yates maintained his 25-second lead over Primoz Roglic with Alaphilippe earning a shock second stage win of the race in a sprint finish.
Tuesday's final stage is a flat 10km time trial in Italy but Yates, 26, played down his chances of winning.
"I hope to create a surprise tomorrow," the Mitchelton-Scott rider said.
"The time trial doesn't suit me and the gap isn't big enough but I'll do my best."
Slovenian Roglic is a former world time trial silver medallist and beat Yates by 36 seconds over the same course last year.
Frenchman Alaphilippe was a surprise winner of the sprint at the end of the 195km sixth stage as he beat off competition from the recognised sprinters.
Italian Davide Cimolai finished second and Alaphilippe's team-mate Elia Viviani came third.
Tirreno-Adriatico stage six result
1. Julian Alaphilippe (Fra/Deceuninck-Quick-Step) 4hr 42min 11sec
2. Davide Cimolai (Ita/Israel Cycling Academy) same time
3. Elia Viviani (Ita/Deceuninck-Quick-Step)
4. Clement Venturini (Fra/Ag2r-La Mondiale)
5. Peter Sagan (Svk/Bora-Hansgrohe)
Tirreno-Adriatico general classification
1. Adam Yates (GB/Mitchelton-Scott) 25hr 15min 59sec
2. Primoz Roglic (Slo/Team Jumbo-Visma) +25secs
3. Jakob Fuglsang (Den/Astana) +35secs
4. Tom Dumoulin (Ned/Team Sunweb) +1min 55secs
5. Julian Alaphilippe (Fra/Deceuninck-Quick-Step) +2mins 24secs