Filippo Zana prevailed in stage 18 of the Giro d'Italia ©Getty Images

Italian national road race champion Filippo Zana edged in front of Thibaut Pinot in a thrilling final sprint in Val di Zoldo to clinch his first Grand Tour win on stage 18 of the Giro d'Italia.

Frenchman Pinot led the charge towards the line but a second wind from Zana saw him creep in front to clock in after 4hour 52min 12 sec.

Pinot's compatriot Warren Barguil made up the top three after finishing 50 seconds off the pace in the 161-kilometres event.

In the general classification, Primož Roglič of Slovenia moved up to second as he crossed the line with current leader Geraint Thomas in seventh and eighth, respectively, both 1:56 behind Zana.

The Brit, who celebrates his 37th birthday today, is aiming to seal the overall win for the second time after his triumph in 2018.

Portugal's João Almeida dropped to third, 39 seconds behind Thomas and 10 behind Roglič.

"It was a decent day," Thomas said.

"To gain time on Almeida and not get dropped by Primož, it was a good day, a solid day for sure.

"I felt pretty good, pretty in control.

"Primož, he likes to go hard, then take it easy, then go hard.

"I gave him a few turns, then I wasn’t sure how he was feeling.

"In the last two kilometres he [Roglič] really squeezed on it again, he was super strong, but I was pretty happy with how it was.

"Obviously it's nice [to gain time] but Primož had a bad day the other day and Almeida did today.

"I've just got to keep being consistent day by day, climb by climb."

The Giro d'Italia is set to continue tomorrow with stage 19 which sees riders travel 183km from Longarone to Tre Cime di Lavaredo.

The mountain stage features another five categorised climbs including three category-one for more than 5,000m of climbing.