Colombia's Santiago Buitrago earned his first Grand Tour stage win at the Giro d'Italia today ©Getty Images

Colombia's Santiago Buitrago won stage 17 of the Giro d'Italia after a decisive attack on the final climb on a day when Olympic champion Richard Carapaz retained the leader’s pink jersey.

The 22-year-old from Bogotá, riding for Bahrain-Victorious, moved clear of Alpecin-Fenix rider Mathieu van der Poel and Gijs Leemreize of Jumbo-Visma - both Dutch - to earn the first Grand Tour stage win of his career, just as Czech rider Jan Hirt had on the previous day.

While the 16th stage, involving three major ascents, was regarded as the toughest of this year’s event, today’s mountain stage was also hugely demanding, following a course of 168 kilometres from Ponte di Legno to Lavarone.

Buitrago, who finished second on stage 15 despite suffering a heavy fall halfway through it, celebrated emotionally after coming home 35 seconds clear of Leemreize.

"I feel very excited and emotional, it’s my first Giro," Buitrago said.

"My team, my family and girlfriend have been supporting me for the last 17 days and this is for them.

"I’m really happy."

Hirt, riding for Intermarché-Wanty-Gobert, came home third on the day, followed by Britain’s Hugh Carthy, representing EF Education-EasyPost, with both credited at 2min 28sec behind.

Carapaz, of Ecuador, finished fifth, 2:53 behind to remain three seconds ahead of Australia’s Jai Hindley in the general classification.

Buitrago's Spanish team-mate Mikel Landa moved into third place overall, 1:05 behind Carapaz, with João Almeida of Portugal fourth at 1:54 and Italy’s Vincenzo Nibali fifth at 5:48.

Britain’s Simon Yates, meanwhile, has withdrawn from the race.

Tomorrow’s 18th stage will be raced on the flat on a 152km course from Borgo Valsugana to Treviso and will be followed by two further mountain stages before Sunday’s (May 29) concluding individual time trial in Verona.