(CNN) -- Carlos Sastre claimed his second stage win of the centenary Giro d'Italia as Denis Menchov clung on to the leader's pink jersey from Danilo Di Luca.
Sastre again showed his climbing class to score an epic stage victory.
Friday's finish to the summit of Mount Vesuvius had always promised drama and the main protagonists did not disappoint over the 164km from Avellino.
Tour de France champion Sastre of the Cervelo team made his move on the final 13km climb and after shrugging of the attentions of home hope Ivan Basso rode clear for a fine victory to add to his win on Monday's stage.
But his efforts were not enough to move him into a podium position as Italian Franco Pellizotti battled hard to finish second and lose only 21 seconds to Sastre.
Pellizotti had led him by one minute 30 seconds at the start of the day and now looks assured of third overall.
Menchov and Di Luca did not interest themselves in the battle for stage honors but tested each other incessantly on the tough final climb.
2007 champion Di Luca could not open up a gap but did claim third on the stage to take the eight second time bonus on offer.
It leaves him just 18 seconds adrift of Menchov with two stages remaining, including the final short time trial in Rome.
Seven-time Tour de France champion Lance Armstrong was involved in a crash earlier in the stage as a mistake by the Astana rider saw him come down.
He fell on his left side, but after a change of wheel rode to the finish, coming in a respectable one minute 40 seconds down on Sastre to stay in 12th overall.
Yuriy Krivtsov of Ukraine and home rider Mauro Facci gained seven minutes in an early break but were caught at the base of Vesuvius which is world famous for its eruption in A.D. 79 that buried the ancient city of Pompeii.
Saturday sees the riders go 203 kilometers from Naples to Anagni with a slight uphill finish where Menchov will have to be on his guard ahead of the showdown in Rome on Sunday.