Jonas Vingegaard (Visma | Lease a Bike) won stage 14 of the Giro d'Italia at Pila on Saturday, taking the pink jersey from Afonso Eulálio (Bahrain Victorious) on the 133km Alpine stage from Aosta. The result was widely anticipated; the main shifts came behind him. Eulálio stayed second overall at 2:26, and Felix Gall (Decathlon CMA CGM) moved into third at 2:50 after finishing closest to the Dane on the stage.
Vingegaard's winning margin of 49 seconds over Gall was his largest of the race so far. He attacked on the final climb of a day that packed 4,350 metres of climbing into a short stage, riding solo to the line after Visma | Lease a Bike controlled the race through Saint-Barthélémy, Doues, Lin Noir and Verrogne. Gall kept the Dane closest once again on the final climb, with Vingegaard not managing the major time gains on his rivals that had been expected. Jai Hindley (Red Bull-BORA-hansgrohe) took third on the stage at 58 seconds, reinforcing his place in the overall picture.
As said in the prediction piece on Friday, riders just outside the top 10 went for the early break on the first climb of the day, Saint-Barthélémy. That was the right tactic, with teams like Movistar and Uno-X Mobility getting multiple riders in the group to support their main focuses of Einer Rubio and Johannes Kulset. Jan Hirt (NSN) and David de la Cruz (Pinarello-Q36.5) also made moves, with the former holding on to finish ninth on the stage. None of them made major inroads on the GC, but that was more because of what happened behind. Visma | Lease a Bike kept the gap tight throughout, and the GC battle arrived on the final ascent, where Vingegaard imposed himself — though not in quite the dominant fashion many had expected.

Credit to Eulálio, though. The Portuguese rider was dropped early — even before Davide Piganzoli had taken over from Sepp Kuss in the Visma train. Yet the pink jersey wearer found something within him to manage the gap. He got to about 2:15 off the back of the Dane and the time stopped growing. At the finish he crossed the line at 2:49 and remains second overall. A heroic ride from the 24-year-old. That said, if he continues losing time at that rate, he will likely slip down the order in the coming mountain stages, with Gall, Thymen Arensman (Ineos Grenadiers), Hindley, Giulio Pellizzari (Red Bull-BORA-hansgrohe) and Storer all very close by.
Gall's consistency on summit finishes now makes him a live threat to Eulálio's second place, with just 24 seconds separating them in the updated general classification. His pattern through the race has been the same: he stays closest to Vingegaard, even if this time the final gap opened up a little more than before. That persistence keeps the podium battle open.
Further back, Arensman slipped to fourth at 3:03 after losing 1:23 on the stage, while Ben O'Connor (Jayco AlUla) dropped to eighth after conceding 2:55. Hindley sits fifth at 3:43, with teammate Pellizzari sixth at 4:22 after a valiant effort in which the white jersey looked in difficulty on multiple occasions and even found himself off the back at one point. With Michael Storer (Tudor) also riding a solid climb, the top seven in GC are now all within five minutes of each other, with some huge mountain tests still to come.
Away from the GC, Jhonatan Narváez (UAE Team Emirates-XRG) took the points jersey by a single point over Paul Magnier (Soudal-Quickstep), though Sunday's flat sprint stage should quickly swing that margin back into the young Frenchman's favour. In the mountains classification, Jardi van der Lee (EF Education-EasyPost) and Giulio Ciccone (Lidl-Trek) have begun hunting KOM points and sit roughly 85 to 90 points behind Vingegaard, with a big final week of climbing still to come.
Sunday's flatter stage should pause the GC battle before the race returns to the mountains on Tuesday for a brutal final week. Vingegaard will wear pink, but he doesn't hold absolutely every card for the moment as rivals keep him honest.
Stage 14 Results
Aosta to Pila • May 23 • 133km
| Pos | Rider | Team | Time |
|---|---|---|---|
| 🥇 | Jonas Vingegaard | TJVVisma | Lease a Bike | 3:53:01 |
| 🥈 | Felix Gall | DCTDecathlon CMA CGM | +0:49 |
| 🥉 | Jai Hindley | RBHRed Bull-BORA-hansgrohe | +0:58 |
| 4 | Davide Piganzoli | TJVVisma | Lease a Bike | +1:03 |
| 5 | Giulio Pellizzari | RBHRed Bull-BORA-hansgrohe | +1:03 |
| 6 | Thymen Arensman | IGDNetcompany INEOS | +1:23 |
| 7 | Michael Storer | TUDTudor Pro Cycling | +1:35 |
| 8 | Wout Poels | URRUnibet Rose Rockets | +2:08 |
| 9 | Jan Hirt | NSNNSN Cycling | +2:08 |
| 10 | Egan Bernal | IGDNetcompany INEOS | +2:08 |
Cover image credit: Marco Alpozzi






