Jonas Vingegaard (Visma | Lease a Bike) completed the overall victory in Rome on Sunday, capping a Giro d'Italia that had shared the maglia rosa across five riders before settling into a final order that, in hindsight, had been taking shape from the opening week. By the time Jonathan Milan (Lidl-Trek) won the sprint on stage 21, the race had produced a classification outcome without precedent: every eventual winner of the general classification, points, mountains and young rider jerseys had spent time in pink during the same Grand Tour.
Paul Magnier (Soudal Quick-Step) wore it first for a day. Then Guillermo Thomas Silva (XDS Astana Team) wore it for two days, followed Giulio Ciccone (Lidl-Trek), only holding it for a day. It was then the turn for Afonso Eulálio (Bahrain Victorious), and finally Vingegaard, who took it on stage 14 and never let go. The race moved through volatility, sorting and confirmation, with each week showing something different about the riders who had led it.

Credit: Zac Williams/SWpix.com
Week one: pink for everyone
It was musical chairs for the pink jersey in the opening week with Magnier of course taking it on stage 1 as the young Frenchman stormed to victory in Burgas. He lost it a day later, however, as a tricky, brutally long stage saw Silva win a reduced sprint to give Uruguay their first ever Grand Tour stage win. Stage two was brutal with a massive crash taking out key riders such as UAE Team Emirates-XRG trio Adam Yates, Jay Vine and Marc Soler as well as Bahrain Victorious' leader Santiago Buitrago among others. That crash would go on to shape the entire race.

Silva held onto pink for a couple of days thanks to Magnier taking another win in the Bulgarian capital of Sofia. However, a bad day saw the young rider slip out of the jersey and hand it to Italian hero Ciccone. He didn't take the stage; he was third behind a flying Jhonatan Narváez (UAE Team Emirates-XRG) who enjoyed the free ride of a daring push by Movistar for Orluis Aular. That would be Narváez's first of three wins in the race. The Ecuadorian champion's role was already becoming clear: outside the GC fight, his aggression was shaping the race around him.
Then came stage 5, the week's defining day. Igor Arrieta won from a breakaway that featured crashes, a wrong turn and a chaotic rain-soaked finale on the climb to Montagna Grande di Viggiano. But it was Eulálio who took pink after being caught late by Arrieta to miss out on the stage. This would begin a very special nine days for the young man from Portugal. Stage 6 went to Davide Ballerini (XDS-Astana) who rolled back the clock and took advantage of a late crash to win.

Eulálio then held pink through four more stages despite mounting pressure. Vingegaard won stages 7 and 9, tearing chunks out of Eulálio's impressive gap but he did not take pink in week one. Vingegaard looked the strongest by far with Felix Gall (Decathlon-CMA CGM) keeping the Danish star honest each time the road went up. Narváez took stage 8. By the first rest day, the strongest climber in the race had two stage wins and no maglia rosa. The Giro was still open.
Week two: sorting contenders from opportunists
The 42km time trial on stage 10 was the race's first hard filter. Filippo Ganna (Netcompany-Ineos) won by a huge margin, but the more revealing performance was Eulálio's. He limited his losses enough to cling to pink. However, his gap over Vingegaard had shrunk significantly with just 27 seconds splitting the two. It was only a matter of time.

Credit: Zac Williams/SWpix.com
Stages 11 to 13 kept the Giro moving without the GC being shaped. Narváez won again on stage 11, threatening Magnier's points lead and reinforcing his status as the race's most active force. Alec Segaert (Bahrain Victorious) took stage 12 with a late attack, and Alberto Bettiol (XDS Astana Team) won stage 13 from the breakaway. Eulálio survived all of it, but his hold on pink had changed. He was defending rather than expanding.
But then came stage 14 to Pila. The first monster mountain stage proved to be just that as Visma | Lease a Bike made their intentions very clear from the off. They rode hard all day for Vingegaard who attacked on the final ascent and took pink with a summit finish victory, ending Eulálio's nine-day stint in the jersey. It was calculated, efficient and brutal from Vingegaard and his team. It wasn't the end for Eulálio, though. He stayed in second for now and was in the white best young riders jersey.

Credit: Zac Williams/SWpix.com
Stage 15's sprint to Milan went to Fredrik Dversnes rather than the obvious favourites of the sprinters, a reminder that the Giro could still surprise below GC level. Vingegaard now controlled the overall race.
Week three: the hierarchy confirmed
Vingegaard won stage 16 on the first day back, extending his lead on another mountain finish and leaving no doubt that he was now the strongest rider in the race as he took victory in the pink jersey. Stage 17 gave the GC race a pause: Michael Valgren won from the breakaway in an emotional result that shifted attention beyond the classification fight.

Credit: Zac Williams/SWpix.com
Stage 18 reconnected the opening week to the final order. Magnier won the reduced sprint in Pieve di Soligo to reclaim the points jersey, completing an arc that had started with his stage 1 pink. He finally had full control of the points jersey and put the danger of Narváez to bed. Little did he know that the Ecuadorian would abandon a day later after a bizarre crash involving a team bus.
Stage 19 gave Sepp Kuss (Visma | Lease a Bike) a stage win that completed his set of Grand Tour stage victories, while Ciccone secured the mountains jersey despite the heartbreak of losing the stage. It was an emotional moment for Kuss as his mother was at the finish to welcome him. Behind, the podiums and overall placings were being confirmed as Jai Hindley (Red Bull-Bora-Hansgrohe) seized his first chance to distance Thymen Arensman (Netcompany-Ineos) and fight for the third step on the podium as Derek Gee-West (Lidl-Trek) also began a challenge.

The 20th stage was the last big mountain day and it was another dominant display from Vingegaard and team with the pink jersey taking a fifth stage and a statement overall victory with Gall and Hindley confirming their podium places. Gee-West finished ahead of Arensman but wasn't able to gap him enough as Eulálio defended the white jersey for best young rider from a late challenge by Davide Piganzoli (Visma | Lease a Bike) with a truly combative display that has really put him on the map.
Milan won the sprint in Rome after a chaotic and rapid circuit around Rome. The usual start saw the riders ride to the seaside with 'NoSecco', Haribo and photos before they got down to business. There were attacks aplenty with Ganna being the main man at the end. Unfortunately for him he has Matteo Sobrero (Lidl-Trek) and Jasper Stuyven (Soudal-Quickstep) on his wheel meaning the sprinters had their day. The Giro was done. Three weeks, five pink jerseys, four classifications. The maglia rosa had spent the first fortnight previewing a hierarchy that the final week simply confirmed.

Credit: Zac Williams/SWpix.com
Overall, the Giro was its usual chaotic and wonderful self. Vingegaard may have started as the clear favourite, but the stories that unfolded around him were what made this race so compelling. Even Vingegaard’s own journey provided some of the most memorable moments: five stage victories, phone calls home immediately after the finish, kisses for the family photos taped to his handlebars, and then the emotional release of finally embracing his family in Rome.
Magnier secured the points classification to become the youngest winner of the jersey since Giuseppe Saronni, while Ciccone claimed a Grand Tour mountains classification for a third time and Eulálio impressed with victory in the white jersey competition. Elsewhere, Manuele Tarozzi (Bardiani CSF-Faizanè) won the intermediate sprint classification, Arrieta topped the Red Bull Kilometre standings, Diego Pablo Sevilla (Polti-VisitMalta) turned a week of aggressive breakaways into the Fuga prize, and Visma | Lease a Bike took home the team classification.
Cover image credit: Zac Williams/SWpix.com






