Battaglin, 23 ans, s'est imposé au sprint devant ses compatriotes Fabio Felline et Giovanni Visconti. Le Colombien Rigoberto Urán a pris la 4e place.

L'Italien Danilo Di Luca, qui avait attaqué à 10 kilomètres de l'arrivée, a été rejoint dans les derniers hectomètres par le premier peloton.

Dans la dernière montée, la Croce Ferrata (12,8 km à 5,5 %), le Français Sylvain Georges a résisté longtemps au peloton mené par les hommes du Britannique Bradley Wiggins (Siutsou, Henao, Uran). Il a été rejoint et débordé après le panneau des 10 derniers kilomètres par Di Luca accompagné du Colombien Robinson Chalapud.

Le duo a basculé au sommet, à 6700 mètres de la ligne, avec un mince avantage sur le peloton qui n'a repris Di Luca qu'in extremis, sous une pluie battante.

Auparavant, l'échappée du jour (Bérard, Sella, Le Bon, Roux, Minguez, Tamouridis, Ligthart) avait compté plus de 7 minutes d'avance au 71e kilomètre. Son dernier rescapé, l'Espagnol Miguel Minguez, a été rejoint à 42 kilomètres de l'arrivée, alors que la pluie faisait son apparition.

Giovanni Visconti a par ailleurs endossé le maillot de meilleur grimpeur qu'il enlève au jeune Willem Wauters (Vacansoleil-DCM).

Parent éloigné de l'ancien vainqueur du Giro et de la Vuelta, Giovanni Battaglin, le vainqueur du jour, a gagné pour la première fois une étape du Giro. Il s'est déjà signalé toutefois en gagnant dès ses débuts professionnels, à l'été 2011, la Coppa Sabatini, une semi-classique italienne.

L'Italien Luca Paolini (Katusha), vainqueur la veille, conserve son maillot de leader devant précisément Rigoberto Uran (Sky), le Britannique Bradley Wiggins (Sky), 2e au général avant cette 4e étape, a perdu 17 secondes.

Mercredi la 5e étape conduira les coureurs de Cosenza à Matera sur 199 km.