Au départ de cette étape, deux non partants : Danilo Di Luca (Vini Fantini) contrôlé positif à l'EPO et Robert Gesink (Blanco) qui était 12ème du classement général après l'étape 18, l'étape 19 ayant été annulée. Les conditions climatiques auront décidément eu raison des organisateurs du Giro puisque les trois premiers cols initialement prévus pour cette 20ème étape ont été purement et simplement annulés par RCS qui s'occupe de l'organisation et du bon déroulement du Giro. Le début de l'étape se résumait donc à un long faux plat montant qui amenait les coureurs aux cols des Tre Croci puis enfin vers l'arrivée au sommet des Tre Cime di Lavaredo.
Les premières attaques ont eu lieu dès le départ de l'étape, et c'est après 27 kilomètres que la bonne échappée se forme. Ils sont quatre à la composer : Adam Hansen (Lotto-Belisol), Pavel Brutt (Katusha), Giairo Ermeti (Androni) et Yaroslav Popovych (Radioshack). Ils ne dépasseront jamais les 7' d'avance sur le peloton. C'est étonnamment sous l'impulsion de la Cannondale et non de la Astana que le peloton arrive à se rapprocher des quatre fuyards, en effet à trente kilomètres de l'arrivée, ces quatre hommes n'ont plus que 3' d'avance sur un peloton encore bien fourni. C'est à ce moment précis que Popovych décide d'attaquer devant. Il lâche ses trois compagnons d'échappée mais quelques hectomètres plus loin, il voit le retour de Pavel Brutt qui parvient même à le doubler.
A 15 kilomètres de l'arrivée, le Russe est seul en tête, suivi à 1' de Pieter Weening (Orica-GreenEDGE) qui avait attaqué dès le pied du col. Dans le peloton, il ne reste plus grand monde. La plupart des équipiers ont lâché prise dans l'ascension, ils ne sont donc plus qu'une trentaine à pouvoir suivre le rythme dont le maillot rose. S'en suivent des attaques de seconds couteaux tels que Pirazzi (Bardiani), Brambilla (Omega Pharma-Quick Step) mais aussi Capecchi (Movistar). Au premier grand prix de la montagne de la journée, Brutt passe en tête avec 30" d'avance sur ses poursuivants Weening, Brambilla et Capecchi, Pirazzi étant en difficulté. Ce trio n'a cependant qu'une quinzaine de secondes d'avance sur le groupe Nibali.
C'est à 9 kilomètres de l'arrivée que les choses sérieuses commencent et notamment pour la lutte du maillot blanc puisque Betancur, un temps décramponné, a réussi à rejoindre à nouveau le groupe Nibali où se trouve le meilleur jeune de ce Giro Rafal Majka (Saxo-Tinkoff) qui ne disposait, au départ de l'étape, que de 2" d'avance sur Betancur. Pendant deux kilomètres les écarts restent les mêmes. Mais à 7 kilomètres de l'arrivée, Pavel Brutt est rejoint puis dépassé par les trois poursuivants qui disposent de 45" d'avance sur un duo Pirazzi-Atapuma et 1'15" d'avance sur le groupe maillot rose. A 5 kilomètres de l'arrivée, Capecchi tente de partir seul et il parvient à lâcher Weening et Brambilla, il s'envole en tête de la course.
Cependant à 3 kilomètres du but, Nibali décide de montrer à ses adversaires qui est le plus fort sur ce Giro, il attaque donc une première fois, il est suivi par Uran (Sky) et Betancur (AG2R La Mondiale) puis il décide d'en remettre une couche à 2 kilomètres, et cette fois c'est la bonne, il ne sera plus revu par les colombiens. C'en est terminé pour les échappées et notamment Capecchi qui n'en peut plus de cette tempête de neige. Les deux colombiens se maintiennent à une courte distance de Nibali tandis qu'Evans (BMC) et Scarponi (Lampre-Merida) ont plus de mal. Au final Nibali remporte cette étape sous la neige avec 17" d'avance sur Duarte et 19" sur Uran. Betancur recupère, lui, son maillot blanc de meilleur à Majka. Evans finit à 1'30" de l'italien et cède ainsi sa 2ème place au classement général à Rigoberto Uran. Du côté des français, Francis Mourey (FDJ) termine meilleur français à la 29ème place à 2'51" du vainqueur de cette étape dantesque qui restera dans l'histoire du Tour d'Italie.
Live de l'étape : Ici
Classement de l'étape :
Classement général :