Iseo -Italy's Elia Viviani of the Quick Step team won a sprint finish for the Giro d'Italia 17th stage on Wednesday, his fourth win in this year's race.
Britain's Simon Yates of Mitchelton holds the overall leader's pink jersey after the 155km race in rainy conditions from Riva del Garda to Iseo, east of Milan.
Yates finished in 28th place behind defending champion Tom Dumoulin of the Netherlands and four-time Tour de France winner Chris Froome.
Yates kept his lead of 56 seconds overall on Dumoulin, with Froome fourth 3min 50sec behind his fellow Briton with four days left before the race finishes in Rome.
"There's no easy day at the Giro," said the 25-year-old Yates.
"This was another hard one and it could have some impact on the coming mountain stages.
"I heard about splits in the bunch but I never knew who was caught behind. I hope everyone is tired because I'm tired."
Viviani's dash for the line saw him snatch the stage victory from Ireland's Sam Bennett, the winner of the two other group sprints. Italy's Niccolo Bonifazio was third.
The 29-year-old Olympic omnium gold medallist adds to his two stage wins in Israel and last Friday's 13th stage at Nervesa della Battaglia.
"We knew this could be a very hard stage and it was indeed," said Viviani, the top sprinters in this year's race.
"There were very strong breakaway riders but Bora controlled. We played a little bit with them. We did it right because it was the second last stage for sprinters and Bennett could have put my Maglia Ciclamino (sprinter's jersey) in danger.
"Once it came down to a bunch sprint, I asked my guys to lead me out. When (Danny) Van Poppel (Lotto) anticipated the sprint, I knew it was too early. It was actually perfect for me. I could pass him."
South Africa's Louis Meintjes pulled out before the start of the race with a respiratory infection with Belgian Victor Campenaerts also withdrawing.
Thursday's 18th stage goes from Abbiategrasso on the outskirts of Milan to the ski resort of Pratonevoso, which includes a climb of 13.9 km with a 6.9 percent gradient.
Results and standings after the Giro d'Italia 17th stage on Wednesday, a 155km run from Riva del Garda to Iseo, near Milan:
1. Elia Viviani (ITA/Quick-Step) 3hr 19min 57sec, 2. Sam Bennett (IRL/BOR) s.t., 3. Niccolo Bonifazio (ITA/BAH) s.t., 4. Danny Van Poppel (NED/LNL) s.t., 5. Jens Debusschere (BEL/LOT) s.t., 6. Kristian Sbaragli (ITA/ICA) s.t., 7. Jempy Drucker (LUX/BMC) s.t., 8. Sacha Modolo (ITA/EDF) s.t., 9. Andrea Vendrame (ITA/AND) s.t., 10. Jose Goncalves (POR/KAT) s.t.
Selected others: 26. Chris Froome (GBR/SKY) s.t., 27. Tom Dumoulin (NED/SUN) s.t., 28. Simon Yates (GBR/MIT) s.t., 29. Thibaut Pinot (FRA/FDJ) s.t.
1. Simon Yates (GBR/Mitchelton) 69hr 59min 11sec, 2. Tom Dumoulin (NED/SUN) at 56sec, 3. Domenico Pozzovivo (ITA/BAH) 3:11, 4. Chris Froome (GBR/SKY) 3:50, 5. Thibaut Pinot (FRA/FDJ) 4:19, 6. Rohan Dennis (AUS/BMC) 5:04, 7. Miguel Angel Lopez (COL/AST) 5:37, 8. Peio Bilbao (ESP/AST) 6:02, 9. Richard Carapaz (ECU/MOV) 6:07, 10. George Bennett (NZL/LNL) 7:01