Barring accident, mechanical issues or more illness (Visma said that he had been ill during the week), this race belongs to Vinegaard, who now leads second-place Afonso Eulálio (Bahrain Victorious) by 2:26, with Felix Gall (Decathlon CMA CGM) back on the podium in third, 2:50 adrift.
“I think the pink jersey is one of the most special ones in cycling and something I’m really happy with,” Vingegaard said at a press conference after the stage. “It’s something I’ve been dreaming of. A lot of young guys and kids dream of having a pink jersey. It’s really special for me and for the team.”
A marvellous team performance
There is no exaggerating the contribution of his teammates to his victory. They took charge of the peloton from the start of the stage, which featured more than 4,200 metres of climbing over just 133 kmfrom Aosta to Pila. When some 30 riders formed a powerful breakaway not long after the start, the team kept its lead to under 4 minutes, as its number dwindled over four categorised climbs, including two tough Category 1’s.
When the peloton reached the final climb, the Category 1 ascent to the finish at Pila (16.5 km @ 7.1%), there were 13 riders in front of the peloton, but Visma had four support riders and Vingegaard, and they were all fresh because while Eulálio held the pink jersey for nine days, Visma had not been obliged to control the peloton, but could ride at its ease – except for his summit-finish victories on stages 7 and 9.
First, 22-year-old Tim Rex turned himself inside out on the lower slopes of the climb, the suffering etched on his face as the gap to the front groups decreased. Then the indefatigable Victor Campenaerts took up the pace at the front of the peloton, which was reduced to 10 riders with 9 km left to climb.
Veteran Sepp Kuss then took over and brought Vingegaard close to what remained of the break. He was followed by 23-year-old Davide Piganzole, one of the revelations of this Giro, who caught the break and rode until Vingegaard attacked, 4.6 km from the finish. The rest of the stage was a formality.
“I think this [victory] is the one I will remember the most today,” the winner said. “We made a plan from the start with the team, and we wanted to control the race, and that’s what we did. My teammates did an incredible job all day, they were so impressive, and I’m so proud that I can pay them back. It’s a super nice win.”
He had a special word for Piganzole, saying: “I almost didn’t have to attack today. He rode everyone out of my wheel almost, so that was really impressive.” Also impressive is the fact that the young Italian finished fourth in the stage and now sits 10th in the GC, 6:13 behind Vingegaard.
And speaking of impressive, the other three-stage winner of this Giro, Jhonatan Narváez (UAE Team Emirates–XRG), took 12 points at an intermediate sprint in the stage and now leads the race for the purple jersey of the points classification with 131 points, 1 point ahead of the previous leader, Paul Magnier (Soudal Quick-Step), with pre-race (and local) favourite Jonathan Milan (Lidl-Trek) in third, with 76.
Sprinters don’t get a break
Narváez was realistic about his chances of holding the jersey for more than a day, because Sunday’s stage was ideal for sprinters, flat all the way and ending with four 16.3 km loops on the flat and straight streets of Milan. But a funny thing happened to the peloton on the way to the bunch sprint: they were beaten to the line by a four-rider breakaway.
The four – Fredrik Dversnes (Uno-X Mobility), Martin Marcellusi (Bardiani CSF 7 Saber), Mirco Maestri, and Mattia Bais (both Team Polti VisitMalta) – broke away from the peloton about 3 km from the start of the 156 km course from Voghera to Milan and were kept on what the teams in the peloton believed was a tight enough leash to keep them under control.
View this post on Instagram
And they also must have thought that the four were riders with modest talents because Dversnes’s biggest win was a stage of Tirreno-Adriatico in 2025, Maestri’s only win was the Tour of Rhodes in 2018, while Marcellusi and Bais had never won a professional race. What they didn’t perhaps consider was how hungry for glory that made these four riders.
After 65 km, the breakaway had a lead of 2 minutes, and the lead was about the same as they began the first of four laps of the Milan circuit. But as the high-speed chase continued in the city, Vingegaard and, later, Giulio Ciccone (Lidl-Trek), convinced organisers to neutralise the GC race at the start of the final lap because of safety concerns regarding tram tracks on the route and the barriers on both sides of the course.
The four riders in front, who were giving everything in their bid for glory, still led by 38 seconds at the start of the final lap, 27 seconds with 5 km left to race and 20 seconds at the final kilometre, which was enough for them to reach the line and Dversnes to take a famous victory in his team’s first appearance at the Giro.
“[It was ] Super good help from the other guys in the breakaway, the Italian from Bardiani and the Polti guys, they were really strong today,” Dversnes said. “I knew I had some good opportunities because I’m pretty good at going in breakaways, so this was my big shot. With five Ks to go, of course you start believing [you can win], but you have to think about what to do and what’s important and not about what happens.” The win for his team in their first Giro, he added, “is big, it’s really big. It’s an amazing feeling.”
So, what happened to the sprinters’ teams, who raced at an astonishing average speed of 51.064 km/h? “We tried, but we came up short,” sprinter Dylan Groenewegen (Unibet Rose Rockets) explained to Cyclingnews. “We did everything we could, we put the whole team in the front, and I think a lot of teams, Lidl-Trek, Soudal, did too. The breakaway was just too strong.” Perhaps, he suggested, the full-gas riding of the week was one cause. “Everybody is tired at this point, two weeks into a Grand Tour. The local laps made it quite hard, too.”
Nevertheless, it was a good stage for Magnier, who beat Narváez in the intermediate sprint and came in fifth in the stage, thereby taking back the sprinter’s purple jersey. He now leads the competition by 14 points over the Ecuadorian and a whopping 67 points over Milan.
There’s no place like home
Friday’s stage 13 might also have been for the sprinters, but too many riders had seen what can happen when chaos erupts early on a stage that the GC riders don’t care about: a breakaway forms that has a good chance of making it to the finish line. Cue the breakaways. Cue the chaos.
It took about 42 km on the 189 km course from Alessandria to Verbania before a 15-rider breakaway formed, which the riders were only too happy to let go because they were a little fatigued from the previous full-gas stages and because they wanted to save some gas for the next day’s brutal mountain stage. As a result, the breakaway’s lead ballooned to nearly 12 minutes.
When the break came to the only challenging climb on the stage (4.7 km @ 7.1%, with a 13% ramp at the top), it broke up, and only four riders remained at the front: Alberto Bettiol (XDS Astana), Andreas Leknessund (Uno-X Mobility), Josh Kench (Groupama–FDJ United), and Michael Valgren (EF Education–EasyPost). But Bettiol had an advantage: he knew the climb and the course well.
As he put it after the stage, “In theory, I won already before the start because I had all my family here, and my second family because my girlfriend and all her family are from Verbania. I consider Verbania my second home. I knew every single corner in the last 50 km. I saw the climb a couple of months ago with the motorbike, and I saw a film of the downhill several times.” Verbania was actually the hometown of Filippo Ganna (Netcompany INEOS), who had expressed his desire to win the stage. But he failed to make it into the breakaway.
Bettiol attacked near the top of the climb, and then rode the remaining 13.2 km to the line on his own.”For me, this climb is really, really at the limit,” he explained. “But I knew that my shape was good and the fact that I knew the climb really helped me. That’s how I won.”
Leknussend finished 26 seconds down, with Jasper Stuyven (Soudal Quick-Step) coming third, at 44 seconds. It was Bettiol’s second Giro stage win, his first coming in 2021, and his team’s third victory of the race, a terrific performance for a team that was fighting to stay at the top level last year.
Results, 2026 Giro d’Italia, stage 12: Voghera to Milan (175 km)
- Fredrik Dversnes, Uno-X Mobility 3:03:18
- Mirco Maestri, Polti-VisitMalta “
- Martin Marcellusi, Bardiani-CSF 7 Saber “
- Mattia Bais, Polti-VisitMalta “
- Paul Magnier, Soudal Quick-Step +0:05
- Dylan Groenewegen, Unibet Rose Rockets “
- Tobias Lund Andresen, Uno-X Mobility “
- Ethan Vernon, NSN Cycling “
- Paul Penhoët, Groupama–FDJ United “
- Luca Mozzato, Tudor Pro Cycling “
2026 Giro d’Italia GC Standings After Stage 15
- Jonas Vingegaard, Visma–Lease a Bike 59:12:56
- Afonso Eulálio, Bahrain Victorious +2:26
- Felix Gall, Decathlon CMA CGM +2:50
- Thymen Arensman, Netcompany INEOS +3:03
- Jai Hindley, Red Bull–BORA–hansgrohe +3:43
- Giulio Pellizzari, Red Bull–BORA–hansgrohe +4:22
- Michael Storer, Tudor Pro Cycling +4:46
- Ben O’Connor, Jayco AlUla +5:22
- Derek Gee-West, Lidl-Trek +5:41
- Davide Piganzoli, Visma–Lease a Bike +6:13



