Geraint Thomas remains in the general classification lead going into the final two stages of the Giro d'Italia ©Getty Images

Geraint Thomas crept closer to his first Giro d'Italia general classification win after stage 19 while Colombian Santiago Buitrago prevailed on the gruelling 183-kilometre mountain route.

The 37-year-old Brit crossed the line in fifth, 1min 49sec slower than Buitrago's leading 5hour 28min 7sec time.

Thomas' closest rival for the maglia rosa Primož Roglič of Slovenia closed the gap to 26 seconds after finishing one place in front of the Ineos Grenadiers rider.

"It was a tough day, a solid one, but again the boys rode really well.

"We expected maybe UAE or Jumbo to try to win the stage.

"It didn't materialise. 

"It's been a long race with a lot of climbing.

"When I went 400 metres to go, I realised it was a long way but I'm happy to gain time on João [Almeida], I lost a couple of seconds on Primož.

"Fingers crossed for tomorrow.

"I think tomorrow's race suits me better than the last 500 metres today.

"I'll just focus on myself and race as fast as I can."

The result marks Buitrago's second Giro d'Italia stage win after he triumphed in stage 17 last year.

He reached the breakaway and managed to take the lead going into the steep final 3km before extending his lead on the way to the line.

"The Tre Cime di Lavaredo is the most important stage of this Giro.

"To win here solo is fantastic after the hard times I had during the race.

"I knew I had the legs for winning but it's been difficult to understand what the peloton was doing behind.

"It's very important for me to win here.

"I've worked so much before the Giro.

"I'm improving my cycling.

"I hope one day I'll be able to fight for the highest positions on the GC."

The penultimate stage is set to take place tomorrow with an 11km time trial.