Italian rider Elia Viviani after crossing the finish line to win the 17th stage of the Giro d'Italia cycling race from Riva del Garda to Iseo, Italy on Wednesday. Photo: Daniel Dal Zennaro/EPA

ISEO – Italy's Elia Viviani won a sprint finish for his fourth stage win of this year's Giro d'Italia on Wednesday as Britain's Simon Yates held the leader's pink jersey as the race heads for the Alps.

Quick Step rider Viviani crossed first after a bunch sprint finish made treacherous following a late downpour after the 155km 17th stage which finished on the banks of Lake Iseo in northern Italy.

Yates of the Mitchelton team finished in 28th place in the same time as defending champion Tom Dumoulin of the Netherlands and four-time Tour de France winner Chris Froome.

It was enough to keep 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. “I was expecting a much easier day today. It's been a very fast stage. Everybody was looking for a breakaway. 

“In the coming three days, I'll watch Tom mostly and the other GC (general classification) guys. As the days tick down, I feel that I'm getting closer to the overall victory but I also feel that difficult days are coming so I’ll be careful.”

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.

Italian rider Elia Viviani celebrates on the podium after winning the 17th stage of the Giro d'Italia cycling race over 155km. Photo: Daniel Dal Zennaro/EPA

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 sprinter 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.”

Teak Sky leader Froome, 33, also conceded that the day had been tougher than he expected.

“That was like junior racing out there - from the gun to the finish it was non-stop! It was a really full-on day at the Giro even though on paper it looked to be quite a straightforward day. I'm still hoping to do the best I can do, whatever place that ends up being.”

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.