Australian Cameron Meyer kept the leader's jersey as Dutchman Bauke Mollema won the second stage of the Tour of Switzerland on Sunday.
Blanco's Mollema beat Swiss rider Mathias Frank and Frenchman Thibaut Pinaut by 11 seconds at the end of the 119.2km stage from Ulrichen to the Crans-Montana ski resort.
The course should have been 161.3km long but snow caused several peaks, including the 2,478-metre Nufenenpass, to be closed, shortening the race.
Orica-GreenEdge's Meyer, who won the first stage time-trial, now leads 2012 Giro d'Italia winner Ryder Hesjedal of Canada by 3sec with Frank 2sec further back.
Mollema was over the moon with his success.
"It's the biggest win of my career and it's been a long time coming since the last race I won was almost three years ago," he gushed.
"I opened a good gap on the riders behind me and when I came up to Ryder I knew he was tired from riding alone for most of the climb."
Hesjedal was the one who livened things up in the peloton on the final climb up to Crans-Montana.
After his Garmin-Sharp teammate Daniel Martin had put in a good shift on the front of the bunch, the Canadian attacked alongside Astana's Tanel Kangert.
With 5km left, Hesjedal went it alone and at one point had a 30sec lead on the peloton.
But he was eventually reeled in as Italian Domenico Pozzovivo and American Tejay van Garderen put in bursts that brought him back into view.
Mollema attacked with 800m left and passed Hesjedal with 500m to go before opening up an 11sec gap by the finish line.
Although beaten by Frank and Pinot in the sprint, Hesjedal came home in a seven-strong group on the same time.
Although Meyer kept hold of the leader's jersey, a host of GC contenders are now within a minute of his time, such as Roman Kreuziger who is sixth, 28sec back.
One who is no threat, though, is the 2010 Tour de France champion Andy Schleck, who trailed in 54th 3min 32sec behind on the stage.
The Luxemburger's miserable season continues and sees him 56th overall more than 4min back.
Monday's third stage will take the peloton over 204.9km from Montreux to Meiringen.