Fernando Gaviria sprinted to his third win of this year’s Giro d’Italia on Stage 12 as Tom Dumoulin retained the overall lead.
Gaviria (Quick-Step Floors) added to his victories on Stage 3 and Stage 5 by beating Jakub Mareczko (Wilier Triestina-Selle Italia) into second place and Sam Bennett (Bora-hansgrohe) into third in Reggio Emilia.
All of the overall contenders followed safely in the peloton, meaning Dumoulin (Team Sunweb) remains 2’23” ahead of second-placed Nairo Quintana (Movistar) and 2’38” ahead of third-placed Bauke Mollema (Trek-Segafredo) at the top of the general classification.
Gaviria said: “I’m not sure if I’m the best sprinter at this Giro. The best sprinter is André Greipel because he’s the one with the most victories in his career here.
"I’ve maybe got better form than him, but he’s the best sprinter here. But I prepared better for this Giro.”
The 229km 12th stage was the longest of this year’s race and contained two categorised climbs, but both were positioned in the first 110km and therefore posed little threat to the expected bunch finish.
Sergey Firsanov (Gazprom RusVelo), Marco Marcato (UAE Team Emirates) and Mirco Maestri (Bardiani-CSF) formed an early breakaway and although they opened up a maximum lead of seven minutes, there was never any chance of the sprint teams allowing them to stay away.
The trio nevertheless produced a remarkable effort, with Firsanov and Marcato being caught 12km from home and Maestri finally being swallowed up just under 7km out, after a huge 220km on the attack.
The four main sprint teams in the peloton - Quick-Step Floors, Bora-hansgrohe, Lotto Soudal and ORICA-SCOTT - were all side by side at the front with 2km to go, but Lotto Soudal and ORICA-SCOTT's trains then broke down and André Greipel and Caleb Ewan consequently both fell out of contention for the win.
Quick-Step Floors led out the sprint and Gaviria never looked in danger of being beaten, while behind, Mareczko used the Colombian's slipstream to pip Bennett to third.
Gaviria's win means he now moves on to 247 points at the top of the points classification, 80 points ahead of second-placed Jasper Stuyven (Trek-Segafredo) and 90 points ahead of third-placed Greipel.
Earlier in the day, Omar Fraile (Team Dimension Data) picked up all three points on offer on the two climbs to replace Jan Polanc (UAE Tean Emirates) at the top of the mountains classification.
The sprinters will get one final chance for a win on Friday's 13th stage, which takes the riders 167km from Reggio Emilia to Tortona.
Dumoulin said: “There was a tailwind in the final so it was really fast, but the rest of the day was quite relaxed and no stress, so it was good. Tomorrow will be another sprint day, I hope to survive that without any trouble and look forward to the weekend.”
Stage 12 result
1. Fernando Gaviria (Col) Quick-Step Floors, 5h 18’55”
2. Jakub Mareczko (Wilier Triestina-Selle-Italia, same time
3. Sam Bennett (Irl) Bora-hansgrohe, same time
4. Phil Bauhaus (Ger) team Sunweb, st
5. Maximilian Richeze (Arg) Quick-Step Floors, st
6. Ryan Gibbons (RSA) Team Dimension Data, st
7. Sacha Modolo (Ita) UAE Team Emirates, st
8. Andre Greipel (Ger) Lotto Soudal, st
9. Jasper Stuyven (Bel) Trek-Segafredo, st
10. Roberto Ferrari (Ita) UAE Team Emirates, st
1. Tom Dumoulin (Ned) Team Sunweb, 52h 41'08
2. Nairo Quintana (Col) Movistar, 2'23"
3. Bauke Mollema (Ned) Trek-Segafredo, +2'38"
4. Thibaut Pinot (Fra) FDJ.fr, +2'40"
5. Vincenzo Nibali (Ita) Bahrain-Merida, +2'47"
6. Andrey Amador (Cos) Movistar, +3'05"
7. Bob Jungels (Lux) Quick-Step Floors, +3'56"
8. Domenico Pozzovivo (Ita) Ag2r-La Mondiale, +3'59"
9. Tanel Kangert (Est) Astana, +3'59"
10. Ilnur Zakarin (Rus) Katusha-Alpecin, +4’17”