Colombian Einer Rubio came through in the final kilometre to overtake Thibault Pinot and Jefferson Cepeda and claim a maiden grand tour win in a shortened stage 13 of the Giro d'Italia on Friday.
The Movistar rider, who was part of an early breakaway, was dropped multiple times on the final climb but dug deep and then found a late burst to snap the tape six seconds in front of Pinot.
Cepeda came in another six seconds behind with the leader's group rolling in 1 min 35 sec behind Rubio.
British rider Geraint Thomas finished ninth to keep the leader's pink jersey for a fifth day, two seconds ahead of Slovenian Primoz Roglic.
"Finally, my big day," said the 25-year-old Rubio at the finish.
"I was looking for it and I've worked really hard for this. I really wanted to prepare for this Giro.
"I've struggled in the bad weather but I knew that I didn't have to give up.
"I wanted to keep looking for my own opportunities and thanks to God and everyone who helps me, my dream came true today."
Rubio admitted that he had allowed Pinot and Cepeda to wear each other down as they bickered at the front of the breakaway, apparently ignoring the threat of the Colombian.
"I knew that Pinot was really strong, Cepeda as well," said Rubio.
"So I just had to leave them to play their game. That was the strategy. Maybe it will sink in soon. I came thinking I could win a stage but I managed to achieve it."
- 'Big disappointment' -
Groupama-FDJ climber Pinot was spitting nails at the end, not even raising his arms as he crossed the line.
He said the result was a "big, big disappointment" before accusing Cepeda (EF Education) of not taking "a single relay".
"I do not understand how you can expect to win in this way," said the flabbergasted Frenchman.
"I didn't want Cepeda to win, I would have spilled my guts not letting him get away," said Pinot.
The 32-year old did at least take the blue jersey for best climber but that was minor consolation for Pinot who was looking for a second Giro stage win, following a lone success in 2017, before he pedals off into retirement at the end of the year.
The first big mountain stage of this year's race was meant to chew up 207km of road from Borgofranco d'Ivrea to the Swiss ski resort Crans Montana.
But the wretched weather, which has claimed the lives of 14 people in Italy's Emilia Romagna region, saw the stage shortened to 74km, with the Great St. Bernard Pass cut from the route, largely in order to reduce the dangers of the downhill sections.
"It's a good decision if we want to arrive in Rome (on May 28) with at least 50 riders," said Ineos leader Thomas.
"It (weather conditions) scares everyone. That's why it stayed calm today and on top of that there was a headwind on the last climb."
Around 40 of the 176 riders who started the race have already dropped out because of Covid and other viruses, including pre-race favourite Remco Evenepoel.
jk/bm/bsp/nr