Italy's Danilo di Luca won the 12th stage of the Giro d'Italia to regain the overall leader's pink jersey.
Di Luca has won two stages on this year's race
The Liquigas rider outsprinted Gilberto Simoni to win the first key mountain stage of the race in four hours, 46 minutes and 39 seconds.
Luxembourg's Andy Schleck finished in third place, seven seconds behind Di Luca and Simoni.
The stage win, Di Luca's second of the race, took him one minute and three seconds clear in the overall standings.
"It's nice to be back in the pink jersey," he said. "I've got a bit of a lead on my rivals but the Giro is still wide open.
"Schleck is only 1:25 down and the others are not far behind.
I want to gain as much time as possible on my main rivals before steep climbs in the Dolomites
"It's important to stay calm and focused for the rest of the race. Hopefully I can gain some time in Friday's mountain time-trial stage but the Giro has only just started."
Italy's Marzio Bruseghin lies in second place with Spain's David Arroyo in third.
Di Luca managed to time his breakaway from a leading group to perfection, surging clear just one kilometre out from the finish line, although Simoni pushed him all the way.
"The first big mountain stage went well and I'm very happy with the result," he said. "I judged my effort pretty well on both climbs.
"I attacked in the final kilometre before the finish to get a bit of a gap on my rivals. Simoni came back up to me but it was important to win the stage.
"I've been aggressive early in the race and especially today because I want to gain as much time as possible on my main rivals before steep climbs in the Dolomites."
Friday's 13th stage is a 12.6-km uphill individual time trial from Biella to Santuario di Oropa.