Jhonatan Narvaez triumphed in difficult conditions on stage 12 of the Giro d'Italia to seal a third victory of the race for Team INEOS.
Time-trial specialist Filippo Ganna has claimed two stage wins for the team and Narvaez completed the hat-trick on Thursday by attacking on the final climbs.
The Ecuadorian broke clear of the chasing pack along with Mark Padun but the Bahrain-McLaren rider had a mechanical issue with around 23 kilometres to go and needed to change bike.
Narvaez rallied for his maiden Grand Tour stage victory as he finished clear of Padun in Cesenatico, where rain fell during the majority of the 204km leg.
"This feels so good because it was a really hard stage with the cold and the rain," Narvaez said post-race.
"I'm happy because we've been working really hard before the Giro, then to try to get into the breakaway and to stay well and recover every day.
"Padun had a flat tyre and my sports director said to wait for him a little. But the race was fast and so I kept the pace. I knew the gap and kept going to the end.
"It means a lot for any professional rider to win here at the Giro d'Italia and especially so for me."
EF Pro Cycling's Simon Clarke took third place, while Joseph Rosskopf (CCC Team) and Simon Pellaud (Androni Giocattoli–Sidermec) completed the top five.
There was no change at the top of the general classification as Joao Almeida kept hold of the maglia rosa.
Despite being put under pressure, the Deceuninck-Quick-Step rider retained his 34-second lead over Wilco Kelderman (Team Sunweb).
1. Jhonatan Narvaez (Team INEOS) 05:31:24
2. Mark Padun (Bahrain-McLaren) +01:08
3. Simon Clarke (EF Pro Cycling) +06:50
4. Joseph Rosskopf (CCC Team) +07:30
5. Simon Pellaud (Androni Giocattoli–Sidermec) +07.43
1. Joao Almeida (Deceuninck-Quick-Step) 49:21:46
2. Wilco Kelderman (Team Sunweb) +00:34
3. Pello Bilbao (Bahrain-McLaren) +00:43
1. Arnaud Demare (Groupama-FDJ) 220
2. Peter Sagan (Bora-Hansgrohe) 184
3. Filippo Ganna (Team INEOS) 51
King of the Mountains
1. Ruben Guerreiro (EF Pro Cycling) 84
2. Giovanni Visconti (Vini Zabu-Brado-KTM) 76
3. Filippo Ganna (Team INEOS) 45
Friday's stage 13 will be contested over 192km and is a sprinter's run from Cervia to Monselice, featuring some testing hurdles across a 40km stretch to the finish line.