Italians Vincenzo Nibali and Michele Scarponi took third and fourth respectively on a day when Contador once again strengthened his grip on the maglia rosa.
Basque rider Anton (Euskaltel) attacked inside the closing seven kilometres and rode alone to the summit of the much-feared climb to take the biggest win of his career.
Anton becomes the first non-Italian to win on the vertiginous slopes of the Zoncolan since it made its Giro debut back in 2003.
Amid boos from the fervent home crowd, race leader Contador (Saxo Bank) crossed the line 33 seconds behind Anton and six seconds ahead of Nibali (Liquigas).
Reigning Vuelta a Espana champion Nibali had been distanced on the early part of the climb before clawing his way back onto Contador's wheel with 4km left to ride.
The pair rode together until Contador put in a dig inside the closing kilometre, increasing his lead over the young Italian to 3:20 in the overall standings.
Another home favourite, Lampre's Michele Scarponi, found himself distanced by the three leading riders on the final climb, before suffering a mechanical problem with his chain.
Finishing fourth, Scarponi lost 1:12 to the stage winner and now drops to fourth place in the GC at the expense of Anton, who now lies just one second behind Nibali.
Russian Denis Menchov (Geox) finished the stage in fifth place, 1:20 down, while stage 11 winner John Gadret (AG2R) was sixth, at 1:38.
Saturday's stage was shortened from 220km to 190km on Friday night after race organisers decided to pull the controversial climb and descent of the Monte Crostis.
Confusion reigned during the race prior to the ascent of the Zoncolan when the route was altered yet again following alleged protests at the foot of the Monte Taulis, a short second-category climb that has been introduced to replace the Crostis.
As a result, a further 20km was taken off the stage. This led to an initial panic from the peloton, who had let a three-man breakaway ride 12 minutes up the road.
Some frantic pace setting by the Liquigas team of Nibali saw the advantage whittled down to just three minutes at the foot of the day's showpiece finale.
Italian rookies Gianluca Brambilla (Colnago) and Matteo Rabottini (Farnese Vini) were first to be caught, the veteran Dutchman Bram Tankink (Rabobank) managing to hold on until the final five kilometres before being swept up by Anton and his pursuers.
Joaquim Rodriguez (Katusha) had made an early break on the 18 per cent gradient slopes of the Zoncolan, but the Spaniard soon tired once Anton made his move.
Until the closing two kilometres, Anton never rode more than 30 metres further up the road than race leader Contador. But the 28-year-old turned on the style towards the finish, opening up a comfortable cushion before saluting the
Twelve months ago, Ivan Basso won convincingly atop the Zoncolan on his way to the overall victory in Milan.
This year, the pink jersey seems destined to adorn the shoulders of the ruthless Contador all the way to the finish.
The Giro continues on Sunday with a long 229km trek from Conegliano to Gardeccia-Val di Fassa. The route includes the Giau, the race's highest point, as well as the dreaded Fedaia climb and the gruelling summit finish.