Alberto Contador rode through the pain of a dislocated shoulder to retain the race lead during yesterday's longest stage of the Giro d'Italia, which was won by Diego Ulissi.

Contador suffered the injury in a big crash in the frantic sprint finish on Thursday's sixth stage, but started the 264km seventh stage from Grosseto to Fiuggi on Friday.

Contador (Tinkoff-Saxo), who crashed out of the 2014 Tour de France before returning to win the Vuelta a Espana, finished the stage in the bunch as Lampre-Merida's Ulissi won.

Saturday's eighth stage is the 186km from Fiuggi to Campitello Matese.

Contador said: "It was a hard day for me but I'm happy because I got through it.

"After three-and-a-half or four hours, I didn't know what to do with my arm, but I hope and trust that, as the days past, it will improve.

"[Saturday] is a stage that I was looking forward to. Now it's going to be hard for me, and I expect attacks.

"Now I'm just thinking of resting and putting ice on my shoulder. Then we'll see."