Rome - Colombia's Fernando Gaviria won Monday's sixth and penultimate stage of the Tirreno-Adriatico as his compatriot Nairo Quintana retained the leader's blue jersey.
Gaviria held off world champion Peter Sagan and Jasper Stuyven in a sprint finish to the 166km ride from Ascoli Piceno to Civitanova Marche on the Adriatic.
Ahead of Tuesday's final day Quintana heads the general classification by 50sec from Thibaut Pinot of France with Australian Rohan Dennis at 1min 06sec in third.
Quick Step rider Gaviria was thrilled to get a stage win on the board.
"On stage three, I crashed and the legs weren't excellent, but now I'm going well," the 22-year-old said.
"It's always a nice duel with Peter Sagan but also a fight with the other riders. I'm glad I got this one."
Gaviria, who is targeting Saturday's Milan-San Remo, added: "We really wanted to win. This was the first day for the sprinters.
"The climb before the finish made the race a little Milan-San Remo today."
Tuesday's concluding seventh stage is a 10km time trial at San Benedetto del Tronto.
Should Quintana seal his second Tirreno-Adriatico he will be the second Colombian winner of a stage race in 48 hours after Sergio Henao's success in the Paris-Nice on Sunday.
Results from the sixth stage of Tirreno-Adriatico, held over 159km between Ascoli Piceno and Civitanova Marche on Monday:
Stage
1. Fernando Gaviria (COL/ETI) 4hr 09min 31sec (average: 38.2 km/h), 2. Peter Sagan (SVK/BOA) at 0:00, 3. Jasper Stuyven (BEL/TRE) 0:00, 4. Matteo Trentin (ITA/ETI) 0:00, 5. Jens Debusschere (BEL/LOT) 0:00, 6. Elia Viviani (ITA/SKY) 0:00, 7. Scott Thwaites (GBR/DDT) 0:00, 8. Eduard-Michael Grosu (ROM/NIP) 0:00, 9. Anthony Roux (FRA/FDJ) 0:00, 10. Jrgen Roelandts (BEL/LOT) 0:00
Overall
1. Nairo Quintana (COL/Movistar) 25hr 44min 28sec, 2. Thibaut Pinot (FRA/FDJ) at 0:50sec, 3. Rohan Dennis (AUS/BMC) 1:06, 4. Primoz Roglic (SLO/LNL) 1:15, 5. Tom Dumoulin (NED/GIA) 1:19, 6. Geraint Thomas (GBR/SKY) 1:23, 7. Rigoberto Uran (COL/CAN) 1:30, 8. Jonathan Castroviejo (ESP/MOV) 1:32, 9. Bauke Mollema (NED/TRE) 1:37, 10. Simon Spilak (SLO/KAT) 1:59.