Tadej Pogačar (UAE Team Emirates-XRG) won the 2026 Milan-San Remo, beating Tom Pidcock (Pinarello-Q36.5 Pro Cycling Team) by half a wheel after dropping Mathieu van der Poel (Alpecin-Premier Tech) on the Poggio.
Results
Milan - San Remo • Mar 21 • 294km
| Pos | Rider | Team | Time |
|---|---|---|---|
| 🥇 | Tadej Pogačar | UAE TEAM EMIRATES XRGUAE TEAM EMIRATES XRG | 6:35:49 |
| 🥈 | Thomas Pidcock | PINARELLO-Q36.5 PRO CYCLING TEAMPINARELLO-Q36.5 PRO CYCLING TEAM | +0:00 |
| 🥉 | Wout van Aert | TEAM VISMA | LEASE A BIKETEAM VISMA | LEASE A BIKE | +0:04 |
| 4 | Mads Pedersen | LIDL-TREKLIDL-TREK | +0:04 |
| 5 | Corbin John Strong | NSN CYCLING TEAMNSN CYCLING TEAM | +0:04 |
| 6 | Andrea Vendrame | TEAM JAYCO ALULATEAM JAYCO ALULA | +0:04 |
| 7 | Jasper Stuyven | SOUDAL QUICK-STEPSOUDAL QUICK-STEP | +0:04 |
| 8 | Mathieu van der Poel | ALPECIN-PREMIER TECHALPECIN-PREMIER TECH | +0:04 |
| 9 | Matteo Trentin | TUDOR PRO CYCLING TEAMTUDOR PRO CYCLING TEAM | +0:04 |
| 10 | Edoardo Zambanini | BAHRAIN VICTORIOUSBAHRAIN VICTORIOUS | +0:04 |
| 11 | Jenno Berckmoes | LOTTO INTERMARCHÉLOTTO INTERMARCHÉ | +0:04 |
| 12 | Alex Aranburu Deva | COFIDISCOFIDIS | +0:04 |
| 13 | Tobias Lund Andresen | DECATHLON CMA CGM TEAMDECATHLON CMA CGM TEAM | +0:04 |
| 14 | Mike Teunissen | XDS ASTANA TEAMXDS ASTANA TEAM | +0:04 |
| 15 | Matej Mohoric | BAHRAIN VICTORIOUSBAHRAIN VICTORIOUS | +0:04 |
| 16 | Christophe Laporte | TEAM VISMA | LEASE A BIKETEAM VISMA | LEASE A BIKE | +0:04 |
| 17 | Paul Lapeira | DECATHLON CMA CGM TEAMDECATHLON CMA CGM TEAM | +0:04 |
| 18 | Romain Gregoire | GROUPAMA-FDJ UNITEDGROUPAMA-FDJ UNITED | +0:04 |
| 19 | Laurence Pithie | RED BULL - BORA - HANSGROHERED BULL - BORA - HANSGROHE | +0:04 |
| 20 | Jon Barrenetxea Golzarri | MOVISTAR TEAMMOVISTAR TEAM | +0:04 |
| 21 | Bastien Tronchon | GROUPAMA-FDJ UNITEDGROUPAMA-FDJ UNITED | +0:04 |
| 22 | Bryan Coquard | COFIDISCOFIDIS | +0:04 |
| 23 | Guillermo Thomas Silva Coussan | XDS ASTANA TEAMXDS ASTANA TEAM | +0:04 |
| 24 | Jonas Abrahamsen | UNO-X MOBILITYUNO-X MOBILITY | +0:04 |
| 25 | Georg Zimmermann | LOTTO INTERMARCHÉLOTTO INTERMARCHÉ | +0:04 |
| 26 | Maximilian Schachmann | SOUDAL QUICK-STEPSOUDAL QUICK-STEP | +0:04 |
| 27 | Kasper Asgreen | EF EDUCATION - EASYPOSTEF EDUCATION - EASYPOST | +0:04 |
| 28 | Brandon Mcnulty | UAE TEAM EMIRATES XRGUAE TEAM EMIRATES XRG | +0:04 |
| 29 | Clément Braz Afonso | GROUPAMA-FDJ UNITEDGROUPAMA-FDJ UNITED | +0:04 |
| 30 | Michael Valgren | EF EDUCATION - EASYPOSTEF EDUCATION - EASYPOST | +0:04 |
| 31 | Mauro Schmid | TEAM JAYCO ALULATEAM JAYCO ALULA | +0:04 |
| 32 | Mikkel Honoré | EF EDUCATION - EASYPOSTEF EDUCATION - EASYPOST | +0:04 |
| 33 | Filippo Ganna | INEOS GRENADIERSINEOS GRENADIERS | +0:04 |
| 34 | Mark Jamie Donovan | PINARELLO-Q36.5 PRO CYCLING TEAMPINARELLO-Q36.5 PRO CYCLING TEAM | +0:04 |
| 35 | Natnael Tesfatsion | MOVISTAR TEAMMOVISTAR TEAM | +0:04 |
| 36 | Jordan Labrosse | DECATHLON CMA CGM TEAMDECATHLON CMA CGM TEAM | +0:04 |
| 37 | Primož Roglič | RED BULL - BORA - HANSGROHERED BULL - BORA - HANSGROHE | +0:04 |
| 38 | Giulio Ciccone | LIDL-TREKLIDL-TREK | +0:04 |
| 39 | Alessandro Covi | TEAM JAYCO ALULATEAM JAYCO ALULA | +0:04 |
| 40 | Giulio Pellizzari | RED BULL - BORA - HANSGROHERED BULL - BORA - HANSGROHE | +0:10 |
| 41 | Julian Alaphilippe | TUDOR PRO CYCLING TEAMTUDOR PRO CYCLING TEAM | +0:23 |
| 42 | Matteo Jorgenson | TEAM VISMA | LEASE A BIKETEAM VISMA | LEASE A BIKE | +0:42 |
| 43 | Liam Slock | LOTTO INTERMARCHÉLOTTO INTERMARCHÉ | +1:41 |
| 44 | Andrea Bagioli | LIDL-TREKLIDL-TREK | +2:07 |
| 45 | Matteo Sobrero | LIDL-TREKLIDL-TREK | +2:07 |
| 46 | Fabio van den Bossche | SOUDAL QUICK-STEPSOUDAL QUICK-STEP | +2:58 |
| 47 | Davide Ballerini | XDS ASTANA TEAMXDS ASTANA TEAM | +3:00 |
| 48 | Mattia Bais | TEAM POLTI VISITMALTATEAM POLTI VISITMALTA | +3:00 |
| 49 | Ivan Garcia Cortina | MOVISTAR TEAMMOVISTAR TEAM | +3:03 |
| 50 | Sergio Meris | UNIBET ROSE ROCKETSUNIBET ROSE ROCKETS | +3:17 |
| 51 | Rick Pluimers | TUDOR PRO CYCLING TEAMTUDOR PRO CYCLING TEAM | +3:45 |
| 52 | Alfred Brockwell Wright | PINARELLO-Q36.5 PRO CYCLING TEAMPINARELLO-Q36.5 PRO CYCLING TEAM | +3:45 |
| 53 | Mirco Maestri | TEAM POLTI VISITMALTATEAM POLTI VISITMALTA | +3:45 |
| 54 | Filippo Turconi | BARDIANI CSF 7 SABERBARDIANI CSF 7 SABER | +3:45 |
| 55 | Luca Paletti | BARDIANI CSF 7 SABERBARDIANI CSF 7 SABER | +3:45 |
| 56 | Clement Venturini | UNIBET ROSE ROCKETSUNIBET ROSE ROCKETS | +3:45 |
| 57 | Lukáš Kubiš | UNIBET ROSE ROCKETSUNIBET ROSE ROCKETS | +3:45 |
| 58 | William Levy | UNO-X MOBILITYUNO-X MOBILITY | +3:45 |
| 59 | Francisco Muñoz Llana | TEAM POLTI VISITMALTATEAM POLTI VISITMALTA | +3:45 |
| 60 | John Degenkolb | TEAM PICNIC POSTNLTEAM PICNIC POSTNL | +3:45 |
| 61 | Giovanni Lonardi | TEAM POLTI VISITMALTATEAM POLTI VISITMALTA | +3:45 |
| 62 | Søren Wærenskjold | UNO-X MOBILITYUNO-X MOBILITY | +3:45 |
| 63 | Yevgeniy Fedorov | XDS ASTANA TEAMXDS ASTANA TEAM | +3:45 |
| 64 | Lorenzo Conforti | BARDIANI CSF 7 SABERBARDIANI CSF 7 SABER | +3:45 |
| 65 | Robbe Dhondt | TEAM PICNIC POSTNLTEAM PICNIC POSTNL | +3:45 |
| 66 | Bjoern Koerdt | TEAM PICNIC POSTNLTEAM PICNIC POSTNL | +3:45 |
| 67 | Laurenz Rex | SOUDAL QUICK-STEPSOUDAL QUICK-STEP | +3:45 |
| 68 | Anders Foldager | TEAM JAYCO ALULATEAM JAYCO ALULA | +3:45 |
| 69 | Jasper Philipsen | ALPECIN-PREMIER TECHALPECIN-PREMIER TECH | +3:45 |
| 70 | Filippo Ridolfo | TEAM NOVO NORDISKTEAM NOVO NORDISK | +3:45 |
| 71 | Dario Igor Belletta | TEAM POLTI VISITMALTATEAM POLTI VISITMALTA | +3:45 |
| 72 | Casper Pedersen | SOUDAL QUICK-STEPSOUDAL QUICK-STEP | +3:45 |
| 73 | Hartthijs de Vries | UNIBET ROSE ROCKETSUNIBET ROSE ROCKETS | +3:45 |
| 74 | Paul Ourselin | COFIDISCOFIDIS | +3:45 |
| 75 | Alessandro Borgo | BAHRAIN VICTORIOUSBAHRAIN VICTORIOUS | +3:45 |
| 76 | Edoardo Zamperini | COFIDISCOFIDIS | +3:45 |
| 77 | Erik Nordsaeter Resell | UNO-X MOBILITYUNO-X MOBILITY | +3:45 |
| 78 | Edward Planckaert | ALPECIN-PREMIER TECHALPECIN-PREMIER TECH | +3:45 |
| 79 | Brent van Moer | PINARELLO-Q36.5 PRO CYCLING TEAMPINARELLO-Q36.5 PRO CYCLING TEAM | +3:45 |
| 80 | Paul Magnier | SOUDAL QUICK-STEPSOUDAL QUICK-STEP | +3:45 |
| 81 | Pierre Gautherat | DECATHLON CMA CGM TEAMDECATHLON CMA CGM TEAM | +3:45 |
| 82 | Krists Neilands | NSN CYCLING TEAMNSN CYCLING TEAM | +3:45 |
| 83 | Madis Mihkels | EF EDUCATION - EASYPOSTEF EDUCATION - EASYPOST | +3:45 |
| 84 | Roman Ermakov | BAHRAIN VICTORIOUSBAHRAIN VICTORIOUS | +3:45 |
| 85 | Jasha Sütterlin | TEAM JAYCO ALULATEAM JAYCO ALULA | +3:45 |
| 86 | Clement Izquierdo | COFIDISCOFIDIS | +3:45 |
| 87 | Matthew Dinham | TEAM PICNIC POSTNLTEAM PICNIC POSTNL | +3:45 |
| 88 | Jonas Rutsch | LOTTO INTERMARCHÉLOTTO INTERMARCHÉ | +3:45 |
| 89 | Pau Miquel Delgado | BAHRAIN VICTORIOUSBAHRAIN VICTORIOUS | +3:45 |
| 90 | Kelland O’Brien | TEAM JAYCO ALULATEAM JAYCO ALULA | +3:45 |
| 91 | Luke Lamperti | EF EDUCATION - EASYPOSTEF EDUCATION - EASYPOST | +3:45 |
| 92 | Filip Maciejuk | MOVISTAR TEAMMOVISTAR TEAM | +3:45 |
| 93 | Xandro Meurisse | PINARELLO-Q36.5 PRO CYCLING TEAMPINARELLO-Q36.5 PRO CYCLING TEAM | +3:45 |
| 94 | Jelle Johannink | UNIBET ROSE ROCKETSUNIBET ROSE ROCKETS | +3:45 |
| 95 | Anders Skaarseth | UNO-X MOBILITYUNO-X MOBILITY | +3:45 |
| 96 | Quentin Pacher | GROUPAMA-FDJ UNITEDGROUPAMA-FDJ UNITED | +3:45 |
| 97 | Lorenzo Rota | LOTTO INTERMARCHÉLOTTO INTERMARCHÉ | +3:45 |
| 98 | Oliver Naesen | DECATHLON CMA CGM TEAMDECATHLON CMA CGM TEAM | +3:45 |
| 99 | Florian Stork | TUDOR PRO CYCLING TEAMTUDOR PRO CYCLING TEAM | +3:45 |
| 100 | Luca van Boven | LOTTO INTERMARCHÉLOTTO INTERMARCHÉ | +3:45 |
| 101 | Dion Allan Smith | NSN CYCLING TEAMNSN CYCLING TEAM | +3:45 |
| 102 | Nicholas Schultz | NSN CYCLING TEAMNSN CYCLING TEAM | +3:45 |
| 103 | Alberto Bettiol | XDS ASTANA TEAMXDS ASTANA TEAM | +3:45 |
| 104 | Damiano Caruso | BAHRAIN VICTORIOUSBAHRAIN VICTORIOUS | +3:45 |
| 105 | Jack Leonard Haig | INEOS GRENADIERSINEOS GRENADIERS | +3:45 |
| 106 | Andrea Pietrobon | TEAM POLTI VISITMALTATEAM POLTI VISITMALTA | +3:45 |
| 107 | Tomas Kopecký | UNIBET ROSE ROCKETSUNIBET ROSE ROCKETS | +3:45 |
| 108 | Biniam Girmay | NSN CYCLING TEAMNSN CYCLING TEAM | +3:45 |
| 109 | Christopher Jensen | TEAM JAYCO ALULATEAM JAYCO ALULA | +3:45 |
| 110 | Isaac del Toro Romero | UAE TEAM EMIRATES XRGUAE TEAM EMIRATES XRG | +4:01 |
| 111 | Magnus Nielsen | UNO-X MOBILITYUNO-X MOBILITY | +4:01 |
| 112 | Fran Miholjević | BAHRAIN VICTORIOUSBAHRAIN VICTORIOUS | +4:08 |
| 113 | Valentin Ferron | COFIDISCOFIDIS | +4:18 |
| 114 | Timo Kielich | TEAM VISMA | LEASE A BIKETEAM VISMA | LEASE A BIKE | +4:47 |
| 115 | Oliver Peace | TEAM PICNIC POSTNLTEAM PICNIC POSTNL | +4:52 |
| 116 | Marco Haller | TUDOR PRO CYCLING TEAMTUDOR PRO CYCLING TEAM | +5:01 |
| 117 | Mathias Vacek | LIDL-TREKLIDL-TREK | +5:49 |
| 118 | Luca Colnaghi | BARDIANI CSF 7 SABERBARDIANI CSF 7 SABER | +5:49 |
| 119 | Wouter Poels | UNIBET ROSE ROCKETSUNIBET ROSE ROCKETS | +5:59 |
| 120 | Victor Campenaerts | TEAM VISMA | LEASE A BIKETEAM VISMA | LEASE A BIKE | +6:15 |
| 121 | Finn Lachlan Fox Fisher-Black | RED BULL - BORA - HANSGROHERED BULL - BORA - HANSGROHE | +6:29 |
| 122 | Benjamin Thomas | COFIDISCOFIDIS | +6:37 |
| 123 | Gianni Moscon | RED BULL - BORA - HANSGROHERED BULL - BORA - HANSGROHE | +7:13 |
| 124 | Harrison Sweeny | EF EDUCATION - EASYPOSTEF EDUCATION - EASYPOST | +7:13 |
| 125 | Joshua Michael Tarling | INEOS GRENADIERSINEOS GRENADIERS | +7:13 |
| 126 | Pier-André Côté | NSN CYCLING TEAMNSN CYCLING TEAM | +7:42 |
| 127 | Lewis Askey | NSN CYCLING TEAMNSN CYCLING TEAM | +7:42 |
| 128 | Nicolya Vinokurov | XDS ASTANA TEAMXDS ASTANA TEAM | +9:07 |
| 129 | Søren Kragh Andersen | LIDL-TREKLIDL-TREK | +9:12 |
| 130 | Marco Manenti | BARDIANI CSF 7 SABERBARDIANI CSF 7 SABER | +9:12 |
| 131 | Florian Vermeersch | UAE TEAM EMIRATES XRGUAE TEAM EMIRATES XRG | +11:14 |
| 132 | Felix Grossschartner | UAE TEAM EMIRATES XRGUAE TEAM EMIRATES XRG | +11:14 |
| 133 | Huub Artz | LOTTO INTERMARCHÉLOTTO INTERMARCHÉ | +11:14 |
| 134 | Gabriele Raccagni | TEAM POLTI VISITMALTATEAM POLTI VISITMALTA | +11:14 |
| 135 | Mathias Norsgaard | LIDL-TREKLIDL-TREK | +11:14 |
| 136 | Owain Doull | TEAM VISMA | LEASE A BIKETEAM VISMA | LEASE A BIKE | +11:50 |
| 137 | Clément Russo | GROUPAMA-FDJ UNITEDGROUPAMA-FDJ UNITED | +13:03 |
| 138 | Alastair Mackellar | EF EDUCATION - EASYPOSTEF EDUCATION - EASYPOST | +13:03 |
| 139 | Antonio Polga | TEAM NOVO NORDISKTEAM NOVO NORDISK | +14:35 |
| 140 | Sam Brand | TEAM NOVO NORDISKTEAM NOVO NORDISK | +14:35 |
| 141 | Hamish Armitt | TEAM NOVO NORDISKTEAM NOVO NORDISK | +14:35 |
| 142 | Frank van den Broek | TEAM PICNIC POSTNLTEAM PICNIC POSTNL | +14:35 |
| 143 | Lorenzo Milesi | MOVISTAR TEAMMOVISTAR TEAM | +14:35 |
| 144 | Edoardo Affini | TEAM VISMA | LEASE A BIKETEAM VISMA | LEASE A BIKE | +15:04 |
| 145 | Ådne Holter | UNO-X MOBILITYUNO-X MOBILITY | +15:04 |
| 146 | Tord Gudmestad | DECATHLON CMA CGM TEAMDECATHLON CMA CGM TEAM | +15:04 |
| 147 | Tim Marsman | ALPECIN-PREMIER TECHALPECIN-PREMIER TECH | +15:04 |
| 148 | Mattia Cattaneo | RED BULL - BORA - HANSGROHERED BULL - BORA - HANSGROHE | +15:04 |
| 149 | Danny van Poppel | RED BULL - BORA - HANSGROHERED BULL - BORA - HANSGROHE | +15:04 |
| 150 | Emiel Verstrynge | ALPECIN-PREMIER TECHALPECIN-PREMIER TECH | +15:04 |
| 151 | Axel Laurance | INEOS GRENADIERSINEOS GRENADIERS | +15:04 |
| 152 | Johan Jacobs | GROUPAMA-FDJ UNITEDGROUPAMA-FDJ UNITED | +15:04 |
| 153 | Kévin Geniets | GROUPAMA-FDJ UNITEDGROUPAMA-FDJ UNITED | +16:11 |
| 154 | Silvan Dillier | ALPECIN-PREMIER TECHALPECIN-PREMIER TECH | +16:11 |
| 155 | Gleb Syritsa | XDS ASTANA TEAMXDS ASTANA TEAM | +16:23 |
| 156 | Arthur Kluckers | TUDOR PRO CYCLING TEAMTUDOR PRO CYCLING TEAM | +16:23 |
| 157 | Umberto Poli | TEAM NOVO NORDISKTEAM NOVO NORDISK | +16:23 |
| 158 | Noa Isidore | DECATHLON CMA CGM TEAMDECATHLON CMA CGM TEAM | +16:23 |
| 159 | Connor Swift | INEOS GRENADIERSINEOS GRENADIERS | +16:23 |
| 160 | Jacob Eriksson | TUDOR PRO CYCLING TEAMTUDOR PRO CYCLING TEAM | +16:23 |
| 161 | Pepijn Reinderink | SOUDAL QUICK-STEPSOUDAL QUICK-STEP | +16:23 |
| 162 | Ben Turner | INEOS GRENADIERSINEOS GRENADIERS | +16:23 |
| 163 | Manuele Tarozzi | BARDIANI CSF 7 SABERBARDIANI CSF 7 SABER | +16:23 |
| 164 | Manlio Moro | MOVISTAR TEAMMOVISTAR TEAM | +17:48 |
| 165 | Xabier Mikel Azparren Irurzun | PINARELLO-Q36.5 PRO CYCLING TEAMPINARELLO-Q36.5 PRO CYCLING TEAM | +17:48 |
| 166 | Michael Gogl | ALPECIN-PREMIER TECHALPECIN-PREMIER TECH | +18:57 |
| 167 | Martin Marcellusi | BARDIANI CSF 7 SABERBARDIANI CSF 7 SABER | +18:57 |
| 168 | Alexy Faure Prost | TEAM PICNIC POSTNLTEAM PICNIC POSTNL | +19:54 |
But what preceded that was not the clean, scripted demolition UAE had planned. It was messier, more improvised, and in several respects more impressive than anything the team managed in last year's near-miss.
When Pogačar hit the deck around a left-hand corner in Imperia, his race should have been over. “When I crashed, for a second I thought it was all over” he said after the race. By the time he got back on his bike he was trailing the peloton by around 40 seconds with only a few kilometers to go before the base of the Cipressa. It was down to Florian Vermeersch and Felix Grossschartner to bring the world champion back and they did a monster performance to reduce the gap to 8 seconds by the start of the climb.
McNulty delivers the MVP performance
A rider arriving at the base of the Cipressa out of position in Milan-San Remo does not normally get a second chance. The climb is too short, the pace too high, the road too narrow for riders to move up easily.
Brandon McNulty (UAE Team Emirates-XRG) had different ideas. With Pogačar still off the back as the Cipressa began, McNulty drove the pace and created space for Pogačar to follow. Within two minutes, and 4.6km still to climb, Pogačar was back at the front. McNulty wasn't done there and continued to push the pace for another 40 seconds before handing over to Isaac Del Toro (UAE Team Emirates-XRG) .
The rescue proved more critical than any single attack. Jan Christen (UAE Team Emirates-XRG) had already crashed out with 242km to go, and with Tim Wellens and Jhonatan Narváez absent from the roster, UAE's Cipressa lead-out train was thinner than planned. McNulty's effort was an improvisation that preserved the entire race strategy.
Del Toro was only on the front for 500m before Pogačar launched, Pidcock right on the wheel and van der Poel struggling to bridge across. Pogačar attacked again with 400 metres to the summit but couldn't shake the two behind him.
The Cipressa was covered in 8:57, tying the previous race record set in 2025. But even more impressively, Pogačar did the climb in 8:48. That came despite what appeared to be light headwind rather than the tailwind that powered last year's record-breaking assault. The chase group crossed the summit 25 seconds down.
Cipressa & Poggio Climb Times
2026 vs 2025 comparison
| Cipressa | Poggio | |
|---|---|---|
| Distance | 5.6km (4.1%) | 3.7km (3.7%) |
| Record | 8:59 | 5:31 |
| 2025 | 8:59 | 5:53 |
| 2026 | 8:57 | 5:42 |
| Pogačar 2026 | 8:48 | 5:42 |
Climb | Distance | Record | 2025 | 2026 | Pogačar 2026 |
|---|---|---|---|---|---|
| Cipressa | |||||
| Poggio |
On the Poggio, the race became a direct test. Pogačar attacked immediately, with Pidcock glued to his wheel and Van der Poel unable to match the acceleration, finally being distanced. Finally Pogačar had achieved his goal of dropping van der Poel. Unfortunately for him, Pidcock was able to cover the attacks with relative ease. The Poggio was covered in 5:42, compared with 5:53 in 2025 and the strava record of 5:31.
Pidcock's persistence was what turned the finale from a solo victory ride into a sprint. He followed every acceleration on the Cipressa and the Poggio without taking a turn at the front until the descent, where Pogačar pushed hard to extend the gap. By the flamme rouge, 24 seconds separated the front pair from the chase.
Wout van Aert (Visma-Lease a Bike) attacked from behind, but it was too late. Pogačar led from one kilometre out and despite Pidcock trying to bait him into an early sprint, held on to win by half a wheel at the line.
In 2025, UAE engineered what was arguably the perfect Cipressa assault and Pogačar still could not shake Van der Poel. In 2026, things went wrong before the climbs even started, and Pogačar won anyway. After the race Pogačar said that if it wasn't for his teammates he would have skipped the Cipressa and ridden straight to the finish. The plan fell apart but the team executed perfectly to deliver a fourth monument. Only Roubaix remains.
Cover image credit: RCS/ Massimi Paolone/LaPresse
Velora newsletter
Never miss a story
The biggest cycling stories, tech insight and race analysis — twice a week, free.







