Greg Van Avermaet (BMC) moved into the overall lead at the 2016 Tirreno-Adriatico with one stage remaining, after beating Peter Sagan (Tinkoff) in a sprint on stage six to take three bonus seconds on the line.
Race leader Zdenek Stybar (Etixx-QuickStep) finished four seconds back on the pair, relinquishing his blue jersey.
The sprint came from a select front group which had formed on the first of two circuits in Cepagatti, as the GC hopefuls raced to take bonus seconds on the intermediate sprint.
Sagan took three seconds in the intermediate on the first of the 11.3km finishing circuits, while Van Avermaet took two and Sagan's Tinkoff teammate Daniele Bennati clearing up the final time bonus.
Instead of slowing to let the bunch catch back-up however, Bennati began to put the hammer down for his teammate, and the gap began to extend. Van Avermaet managed to hold on to the pair, but they were quickly joined by Oscar Gatto (Tinkoff), Michal Kwiatkowski (Team Sky), Fernando Gaviria, Matteo Trentin and race leader Stybar of Etixx.
The front group pushed the pace and gained 30 seconds on the bunch, with Astana, Movistar, Orica-GreenEdge and Dimension Data leading the chase.
Vincenzo Nibali (Astana) and Jan Bakelants made a chase but were quickly caught. Another group split away from peloton as Alejandro Valverde (Movistar) broke on the short climb to the finish on the first lap, but none could make sufficient progress.
The gap began to tumble on the final lap, as the lead group's efforts saw their numbers diminish to just the five of Gatto, Sagan, van Avermaet, Kwiatkowski and Stybar, but a crash in the peloton with 5km to go saw the gap jump up once again.
Eventually the leaders hit the final drag to the finish, with Kwiatkowski making the first move with around 500m to go as the bunch loomed.
As Sagan began to make his effort, it looked like he was about to leave everyone in his wake, before van Avermaet made a late move to pass the world champion on the right hand side to take the victory.
The Belgian now leads the race heading into the 10.05km time trial on Tuesday's final stage, with Stybar not far behind at seven seconds and Sagan at eight.
Tirreno-Adriatico 2016, stage six, Castelraimondo to Cepagatti (210km)
1. Greg Van Avermaet (Bel) BMC Racing, in 4-34-14
2. Peter Sagan (Svk) Tinkoff, st
3. Michal Kwiatkowski (Pol) Team Sky, at 2 secs
4. Zdenek Stybar (Cze) Etixx-QuickStep, at 4 secs
5. Caleb Ewan (Aus) Orica-GreenEdge, at 7 secs
6. Alejandro Valverde (Esp) Movistar
7. Sacha Modolo (Ita) Lampre-Merida
8. Jurgen Roelandts (Bel) Lotto-Soudal
9. Sonny Colbrelli (Ita) Bardiani-CSF
10. Moreno Hofland (Ned) LottoNL-Jumbo, all same time
Overall classification after stage six
1. Greg Van Avermaet (Bel) BMC Racing, in 20-30-43
2. Zdenek Stybar (Cze) Etixx-QuickStep, at 7 secs
3. Peter Sagan (Svk) Tinkoff, at 8 secs
4. Bob Jungels (Lux) Etixx-QuickStep, at 21 secs
5. Gianluca Brambilla (Ita) Etixx-QuickStep, st
6. Thibaut Pinot (Fra) FDJ, at 28 secs
7. Sebastien Reichenbach (Sui) FDJ, st
8. Roman Kreuziger (Cze) Tinkoff, at 30 secs
9. Michal Kwiatkowski (Pol) Team Sky, at 31 secs
10. Vincenzo Nibali (Ita) Astana, at 34 secs
Thank you for reading 20 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1