Vincenzo Nibali graciously hailed Richard Carapaz and said the Movistar rider had the Giro d'Italia "90 per cent won" after maintaining an advantage of almost two minutes on the penultimate stage.

Bahrain-Merida's Nibali did his best to make a dent in Carapaz's general classification lead on Saturday's dramatic ride to Croce d'Aune-Monte Avena, but the Ecuadorian held firm in a stage featuring five climbs.

Carapaz will now begin Sunday's final time trial holding a cushion of one minute and 54 seconds over Nibali, with Mikel Landa of Movistar in third.

"I tried to the very end but it was difficult to do much with Carapaz and Landa so strong. The Movistar team was strong too, they had four riders on the front in the finale and there's not much you can do when a team is so strong," Nibali was quoted as saying by cyclingnews.com.

"I tried something but Carapaz responded and so deserved to keep the maglia rosa.

"I was hoping to win the Giro but that won't happen now, Carapaz has it 90 per cent won. I congratulated Carapaz at the finish because I respect his performance.

"I'm not really disappointed with my Giro. I'm on the podium if everything goes well in the time trial. But I've no real regrets, there's nothing much else I could do."

Carapaz said: "I think that Nibali made a nice gesture to congratulate us on our work. It's a gesture to be admired."

Of his healthy lead, he added: "I don't think I will lose that much time. Anything can happen in the last stage. But I think it's OK for now."

Primoz Roglic was handed a 10-second time penalty after benefiting from pushes by two spectators on the final climb, meaning he trails Landa by 23 seconds ahead of the time trial.

Jumbo-Visma sporting director Addy Engels said of the sanction: "I did not see it, but we got a phone call from the president of the jury. If it's that clear on TV, I understand the decision and we have to take the penalty. It's s***, but it's also correct."