Britain's Tao Geoghegan Hart won Saturday's 20th and penultimate stage of the Giro d'Italia edging new overall leader Jai Hindley, with the pair on the same time heading into Sunday's closing time-trial.

Hindley and Geoghegan Hart will go head-to-head for the title in a 15.7km time-trial in Milan.

Although Hindley took the pink jersey from his Sunweb teammate Wilco Kelderman, all-rounder Geoghegan Hart, who gained precious bonus seconds by winning, will go into the final stage as the favourite.

Kelderman faltered on the second of three climbs in Sestriere, 30km from the finish of the 190km stage.

In a carbon copy of the Stelvio stage on Thursday, Australian Rohan Dennis blew open the group and only his team leader Geoghegan Hart and Hindley stayed with him.

Team Ineos' Tao Geoghegan Hart (R) sprints to victory ahead of Team Sunweb's Jai Hindley in the Giro d'Italia 20th stage
Team Ineos' Tao Geoghegan Hart (R) sprints to victory ahead of Team Sunweb's Jai Hindley in the Giro d'Italia 20th stage AFP / Luca Bettini

Kelderman, already struggling on the Stelvio, where he took the overall lead from Portugal's Joao Almeida limited the loss of time to around 40 seconds at the top.

But the gap widened by another minute at the foot of the third and final Alpine ascent, a 6.9km climb with a 7.2-percent gradient.

Hindley went on the attack several times in the last 2.3km, without managing to shake Geoghegan Hart.

At the top, the 25-year-old Londoner won the sprint for his second stage success, six days after his first.

Hindley, 24, wears the pink jersey for the first time in his career, with Kelderman falling to third place at 1min 32sec.