
Thursday, May 22: Stage 12, Modena - Viadana (Oglio-Po), 172 km
Stage 12 map & profile | Stage 12 photos

Speedster Olav Kooij wins stage twelve. Photo: La Presse
Les Woodland's book Tour of Flanders: The Inside Story - The rocky roads of the Ronde van Vlaanderen is available in print, Kindle eBook and audiobook versions. To get your copy, just click on the Amazon link on the right.
Weather at the finish city of Viadana at 2:15 PM, local time: 19C (67F), mostly cloudy, with the wind from the southwest at 16 km/hr (10 mph). There is a 5% chance of rain.
The stage: A rolling stage over the first 100 km, then completely flat to the finish. The early section brushes past the Matildic Castles in the Modena countryside before reaching Quattro Castella, after which the road flattens completely. Riders will pass the finish line once before taking on a 27 km circuit, all on wide, mostly straight roads. As usual, urban areas include common traffic obstacles.
Final kilometers: The final 3 km include just one corner at around 500 m from the line. Roads are wide, paved, and well maintained. The final straight is 450 m on 8-metre-wide asphalt.
The race: Speaking seconds after the stage finish, the stage winner Olav Kooij said: “I was waiting for this one! We came to the Giro also with Simon [Yates] being in good position on GC and Wout [van Aert] taking a stage win. In the two previous sprints, not everything went right. I’m really happy that today it’s all good. Only Wout can do such a long lead out like today’s. I got an extraordinary support. I have to thank my team-mates, also the rest of the team did a fantastic job. We didn’t want to be too far in the last curve. I could jump on the wheel of Casper [van Uden] and pass him. We try our best every day to win more and get a good GC with Simon”.

Team Jayco AlUla before the stage start. RCS photo
Here's the stage 12 report from stage winner Olav Kooij's Team Visma | Lease a Bike:
Stage 12 of this year’s Giro d’Italia presented another opportunity for the sprinters. After a hilly start, the race finished on flat roads toward the finish in Viadana. Team Visma | Lease a Bike took control of the peloton behind three early breakaway riders. Among others, Steven Kruijswijk helped ensure the break stayed within reach and was caught well before the finish.
In the hectic run-up to the mass sprint, Kooij was brought forward at the perfect moment by teammates Edoardo Affini and Van Aert. The duo expertly guided their sprinter through the final kilometers. Van Aert then delivered a long, powerful lead-out. Kooij briefly came under threat from Casper van Uden, but the 23-year-old sprinter from Team Visma | Lease a Bike proved to be the fastest. It was his second ever stage win in the Giro d’Italia, bringing his total number of professional victories to 40.

The peloton about halfway in to the stage. RCS photo
“We moved up at just the right time,” said Kooij. “The plan was to come forward very late. We had to launch the sprint a bit earlier than we would have liked, but the guys did an amazing job. Wout is one of the few riders in the world capable of delivering such a lead-out. I’m proud to bring our team its second stage win in this Giro. This victory definitely leaves me wanting more.”
Sports director Marc Reef also looked back proudly on his riders’ performance: “We controlled the race perfectly as a team. Steven did a great job all stage to keep the breakaway within reach. We expected a tough race due to the climbs and the wind, but the peloton stayed calm. In the finale, it was crucial for Edoardo, Wout, and Olav to find each other - and fortunately, they did. They finished it off beautifully. The plan was executed to perfection.”
Complete results:
172 kilometers raced at an average speed of 43.791 km/hr
| 1 | Olav Kooij | Team Visma | Lease a Bike | 3hr 55min 40sec |
| 2 | Casper van Uden | Team Picnic PostNL | s.t. |
| 3 | Ben Turner | INEOS Grenadiers | s.t. |
| 4 | Mads Pedersen | Lidl-Trek | s.t. |
| 5 | Kaden Groves | Alpecin-Deceuninck | s.t. |
| 6 | Milan Fretin | Cofidis | s.t. |
| 7 | Max Kanter | XDS Astana Team | s.t. |
| 8 | Paul Magnier | Soudal Quick-Step | s.t. |
| 9 | Matevz Govekar | Bahrain Victorious | s.t. |
| 10 | Matteo Moschetti | Q36.5 Pro Cycling Team | s.t. |
| 11 | Sam Bennett | Decathlon AG2R La Mondiale | s.t. |
| 12 | Gerben Thijssen | Intermarché-Wanty | s.t. |
| 13 | Enrico Zanoncello | VF Group-Bardiani CSF-Faizanè | s.t. |
| 14 | Luca Mozzato | Arkea-B&B Hotels | s.t. |
| 15 | Rick Pluimers | Tudor Pro Cycling Team | s.t. |
| 16 | Lorenzo Milesi | Movistar Team | s.t. |
| 17 | Corbin Strong | Israel-Premier Tech | s.t. |
| 18 | Jensen Plowright | Alpecin-Deceuninck | s.t. |
| 19 | Wout van Aert | Team Visma | Lease a Bike | s.t. |
| 20 | Tord Gudmestad | Decathlon AG2R La Mondiale | s.t. |
| 21 | Giovanni Lonardi | Team Polti-VisitMalta | s.t. |
| 22 | Clément Davy | Groupama-FDJ | s.t. |
| 23 | Orluis Aular | Movistar Team | s.t. |
| 24 | Enzo Paleni | Groupama-FDJ | s.t. |
| 25 | Dries De Bondt | Decathlon AG2R La Mondiale | s.t. |
| 26 | Niklas Märkl | Team Picnic PostNL | s.t. |
| 27 | Mikkel Honore | EF Education-EasyPost | s.t. |
| 28 | Filippo Magli | VF Group-Bardiani CSF-Faizanè | s.t. |
| 29 | Richard Carapaz | EF Education-EasyPost | s.t. |
| 30 | Derek Gee | Israel-Premier Tech | s.t. |
| 31 | Luke Lamperti | Soudal Quick-Step | s.t. |
| 32 | Mirco Maestri | Team Polti-VisitMalta | s.t. |
| 33 | Maikel Zijlaard | Tudor Pro Cycling Team | @ 19sec |
| 34 | Francesco Busatto | Intermarché-Wanty | s.t. |
| 35 | Mathias Vacek | Lidl-Trek | s.t. |
| 36 | Edward Planckaert | Alpecin-Deceuninck | s.t. |
| 37 | Joshua Tarling | INEOS Grenadiers | s.t. |
| 38 | Filippo Fiorelli | VF Group-Bardiani CSF-Faizanè | 0:29 |
| 39 | Milan Vader | Q36.5 Pro Cycling Team | s.t. |
| 40 | Dorian Godon | Decathlon AG2R La Mondiale | s.t. |
| 41 | Jonathan Lastra | Cofidis | s.t. |
| 42 | Owain Doull | EF Education-EasyPost | s.t. |
| 43 | Damiano Caruso | Bahrain Victorious | s.t. |
| 44 | Einer Rubio | Movistar Team | s.t. |
| 45 | Diego Ulissi | XDS Astana Team | 0:49 |
| 46 | Christian Scaroni | XDS Astana Team | s.t. |
| 47 | Gijs Van Hoecke | Intermarché-Wanty | s.t. |
| 48 | Michael Hepburn | Team Jayco-AlUla | s.t. |
| 49 | Chris Harper | Team Jayco-AlUla | s.t. |
| 50 | Edoardo Zambanini | Bahrain Victorious | s.t. |
| 51 | Embret Svestad-Bårdseng | Arkea-B&B Hotels | s.t. |
| 52 | Antonio Tiberi | Bahrain Victorious | s.t. |
| 53 | Jan Maas | Cofidis | s.t. |
| 54 | Anthony Perez | Cofidis | s.t. |
| 55 | Nicolas Debeaumarché | Cofidis | s.t. |
| 56 | Stan Dewulf | Decathlon AG2R La Mondiale | s.t. |
| 57 | Rémy Rochas | Groupama-FDJ | s.t. |
| 58 | Hugo Houle | Israel-Premier Tech | s.t. |
| 59 | Kevin Geniets | Groupama-FDJ | s.t. |
| 60 | Gianmarco Garofoli | Soudal Quick-Step | s.t. |
| 61 | Edoardo Affini | Team Visma | Lease a Bike | s.t. |
| 62 | Giosue Epis | Arkea-B&B Hotels | s.t. |
| 63 | Florian Stork | Tudor Pro Cycling Team | s.t. |
| 64 | Lawrence Warbasse | Tudor Pro Cycling Team | s.t. |
| 65 | Thymen Arensman | INEOS Grenadiers | s.t. |
| 66 | Louis Meintjes | Intermarché-Wanty | s.t. |
| 67 | Filippo Baroncini | UAE Team Emirates-XRG | s.t. |
| 68 | Timo Kielich | Alpecin-Deceuninck | s.t. |
| 69 | Kim Heiduk | INEOS Grenadiers | s.t. |
| 70 | Mattia Cattaneo | Soudal Quick-Step | s.t. |
| 71 | Egan Bernal | INEOS Grenadiers | s.t. |
| 72 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | s.t. |
| 73 | Simon Yates | Team Visma | Lease a Bike | s.t. |
| 74 | Tom Pidcock | Q36.5 Pro Cycling Team | s.t. |
| 75 | Davide Bais | Team Polti-VisitMalta | s.t. |
| 76 | Emils Liepins | Q36.5 Pro Cycling Team | s.t. |
| 77 | Juan Ayuso | UAE Team Emirates-XRG | s.t. |
| 78 | Jon Barrenetxea | Movistar Team | s.t. |
| 79 | Mattia Bais | Team Polti-VisitMalta | s.t. |
| 80 | Brandon McNulty | UAE Team Emirates-XRG | s.t. |
| 81 | Isaac del Toro | UAE Team Emirates-XRG | s.t. |
| 82 | Kasper Asgreen | EF Education-EasyPost | s.t. |
| 83 | Martin Tjøtta | Arkea-B&B Hotels | s.t. |
| 84 | Chris Hamilton | Team Picnic PostNL | s.t. |
| 85 | Primoz Roglic | Red Bull-BORA-hansgrohe | s.t. |
| 86 | Gijs Leemreize | Team Picnic PostNL | s.t. |
| 87 | Max Poole | Team Picnic PostNL | s.t. |
| 88 | Luca Covili | VF Group-Bardiani CSF-Faizanè | s.t. |
| 89 | Gianni Moscon | Red Bull-BORA-hansgrohe | s.t. |
| 90 | Adam Yates | UAE Team Emirates-XRG | s.t. |
| 91 | Giulio Ciccone | Lidl-Trek | s.t. |
| 92 | Alessandro Tonelli | Team Polti-VisitMalta | s.t. |
| 93 | Davide Piganzoli | Team Polti-VisitMalta | s.t. |
| 94 | Quentin Pacher | Groupama-FDJ | s.t. |
| 95 | Carlos Verona | Lidl-Trek | s.t. |
| 96 | Davide De Pretto | Team Jayco-AlUla | s.t. |
| 97 | Lorenzo Germani | Groupama-FDJ | s.t. |
| 98 | Michael Storer | Tudor Pro Cycling Team | s.t. |
| 99 | Filippo Zana | Team Jayco-AlUla | s.t. |
| 100 | Jacopo Mosca | Lidl-Trek | s.t. |
| 101 | Fausto Masnada | XDS Astana Team | s.t. |
| 102 | Daan Hoole | Lidl-Trek | s.t. |
| 103 | Davide Formolo | Movistar Team | s.t. |
| 104 | Darren Rafferty | EF Education-EasyPost | s.t. |
| 105 | Fabio Van den Bossche | Alpecin-Deceuninck | s.t. |
| 106 | Damien Howson | Q36.5 Pro Cycling Team | s.t. |
| 107 | Nairo Quintana | Movistar Team | s.t. |
| 108 | Marco Frigo | Israel-Premier Tech | s.t. |
| 109 | Nicola Conci | XDS Astana Team | s.t. |
| 110 | Patrick Konrad | Lidl-Trek | s.t. |
| 111 | Simon Guglielmi | Arkea-B&B Hotels | s.t. |
| 112 | Yannis Voisard | Tudor Pro Cycling Team | s.t. |
| 113 | Andrea Vendrame | Decathlon AG2R La Mondiale | s.t. |
| 114 | Lorenzo Fortunato | XDS Astana Team | s.t. |
| 115 | Simone Petilli | Intermarché-Wanty | s.t. |
| 116 | Anton Kuzmin | XDS Astana Team | s.t. |
| 117 | Rafal Majka | UAE Team Emirates-XRG | s.t. |
| 118 | Jakob Fuglsang | Israel-Premier Tech | s.t. |
| 119 | James Knox | Soudal Quick-Step | s.t. |
| 120 | Nicolas Prodhomme | Decathlon AG2R La Mondiale | s.t. |
| 121 | Mark Donovan | Q36.5 Pro Cycling Team | s.t. |
| 122 | Nico Denz | Red Bull-BORA-hansgrohe | s.t. |
| 123 | Giovanni Aleotti | Red Bull-BORA-hansgrohe | s.t. |
| 124 | Lucas Hamilton | INEOS Grenadiers | s.t. |
| 125 | Marco Brenner | Tudor Pro Cycling Team | s.t. |
| 126 | Felix Engelhardt | Team Jayco-AlUla | s.t. |
| 127 | Alexander Krieger | Tudor Pro Cycling Team | s.t. |
| 128 | Bart Lemmen | Team Visma | Lease a Bike | s.t. |
| 129 | Wilco Kelderman | Team Visma | Lease a Bike | s.t. |
| 130 | Paul Double | Team Jayco-AlUla | s.t. |
| 131 | Sylvain Moniquet | Cofidis | s.t. |
| 132 | Steven Kruijswijk | Team Visma | Lease a Bike | s.t. |
| 133 | Daniel Martinez | Red Bull-BORA-hansgrohe | s.t. |
| 134 | Alex Edmondson | Team Picnic PostNL | 1:20 |
| 135 | Taco van der Hoorn | Intermarché-Wanty | 1:26 |
| 136 | Wout Poels | XDS Astana Team | 1:33 |
| 137 | Brandon Rivera | INEOS Grenadiers | s.t. |
| 138 | Jonathan Castroviejo | INEOS Grenadiers | s.t. |
| 139 | Xabier Azparren | Q36.5 Pro Cycling Team | s.t. |
| 140 | Sergio Samitier | Cofidis | 1:40 |
| 141 | Pello Bilbao | Bahrain Victorious | s.t. |
| 142 | Albert Torres | Movistar Team | s.t. |
| 143 | Kevin Colleoni | Intermarché-Wanty | s.t. |
| 144 | Laurens Huys | Arkea-B&B Hotels | s.t. |
| 145 | Dylan van Baarle | Team Visma | Lease a Bike | s.t. |
| 146 | Ethan Hayter | Soudal Quick-Step | s.t. |
| 147 | Jay Vine | UAE Team Emirates-XRG | s.t. |
| 148 | Alexander Cepeda | EF Education-EasyPost | s.t. |
| 149 | Nick Schultz | Israel-Premier Tech | s.t. |
| 150 | Jan Tratnik | Red Bull-BORA-hansgrohe | 1:50 |
| 151 | Josef Cerný | Soudal Quick-Step | s.t. |
| 152 | Stefano Oldani | Cofidis | s.t. |
| 153 | Igor Arrieta | UAE Team Emirates-XRG | s.t. |
| 154 | Sven Erik Bystrøm | Groupama-FDJ | s.t. |
| 155 | Romain Bardet | Team Picnic PostNL | s.t. |
| 156 | Georg Steinhauser | EF Education-EasyPost | s.t. |
| 157 | Jefferson Cepeda | Movistar Team | s.t. |
| 158 | Andrea Pietrobon | Team Polti-VisitMalta | s.t. |
| 159 | Alessio Martinelli | VF Group-Bardiani CSF-Faizanè | s.t. |
| 160 | James Shaw | EF Education-EasyPost | 1:54 |
| 161 | Simon Clarke | Israel-Premier Tech | 2:09 |
| 162 | Fran Miholjevic | Bahrain Victorious | 2:30 |
| 163 | Jimmy Janssens | Alpecin-Deceuninck | 2:40 |
| 164 | Quinten Hermans | Alpecin-Deceuninck | s.t. |
| 165 | Manuele Tarozzi | VF Group-Bardiani CSF-Faizanè | s.t. |
| 166 | David Gaudu | Groupama-FDJ | 2:53 |
| 167 | Afonso Eulalio | Bahrain Victorious | s.t. |
| 168 | Martin Marcellusi | VF Group-Bardiani CSF-Faizanè | 3:27 |
| 169 | Alessandro Verre | Arkea-B&B Hotels | 3:49 |
| 170 | Francisco Muñoz | Team Polti-VisitMalta | 4:20 |
| 171 | Lucas Plapp | Team Jayco-AlUla | 8:28 |
GC after stage 12:
1,833.3 kilometers raced so far at an average speed of 42.910 km/hr
| 1 | Isaac del Toro | UAE Team Emirates-XRG | 42hr 43min 28sec |
| 2 | Juan Ayuso | UAE Team Emirates-XRG | @ 33sec |
| 3 | Antonio Tiberi | Bahrain Victorious | 1:09 |
| 4 | Richard Carapaz | EF Education-EasyPost | 1:09 |
| 5 | Simon Yates | Team Visma | Lease a Bike | 1:11 |
| 6 | Primoz Roglic | Red Bull-BORA-hansgrohe | 1:26 |
| 7 | Derek Gee | Israel-Premier Tech | 1:56 |
| 8 | Giulio Ciccone | Lidl-Trek | 2:11 |
| 9 | Brandon McNulty | UAE Team Emirates-XRG | 2:18 |
| 10 | Damiano Caruso | Bahrain Victorious | 2:26 |
| 11 | Adam Yates | UAE Team Emirates-XRG | 2:35 |
| 12 | Thymen Arensman | INEOS Grenadiers | s.t. |
| 13 | Egan Bernal | INEOS Grenadiers | 2:41 |
| 14 | Michael Storer | Tudor Pro Cycling Team | 3:22 |
| 15 | Tom Pidcock | Q36.5 Pro Cycling Team | 3:49 |
| 16 | Giulio Pellizzari | Red Bull-BORA-hansgrohe | 3:51 |
| 17 | Einer Rubio | Movistar Team | s.t. |
| 18 | Davide Piganzoli | Team Polti-VisitMalta | 4:01 |
| 19 | Chris Harper | Team Jayco-AlUla | 4:37 |
| 20 | Diego Ulissi | XDS Astana Team | 5:19 |
| 21 | Max Poole | Team Picnic PostNL | 5:36 |
| 22 | Nicolas Prodhomme | Decathlon AG2R La Mondiale | 7:27 |
| 23 | James Knox | Soudal Quick-Step | 7:54 |
| 24 | Nairo Quintana | Movistar Team | 9:50 |
| 25 | Rafal Majka | UAE Team Emirates-XRG | 9:54 |
| 26 | Louis Meintjes | Intermarché-Wanty | 9:56 |
| 27 | Lorenzo Fortunato | XDS Astana Team | 10:20 |
| 28 | Embret Svestad-Bårdseng | Arkea-B&B Hotels | 12:57 |
| 29 | Edoardo Zambanini | Bahrain Victorious | 19:50 |
| 30 | Mathias Vacek | Lidl-Trek | 21:56 |
| 31 | Marco Frigo | Israel-Premier Tech | 23:22 |
| 32 | Nicola Conci | XDS Astana Team | 25:55 |
| 33 | Florian Stork | Tudor Pro Cycling Team | 26:24 |
| 34 | Kevin Geniets | Groupama-FDJ | 27:06 |
| 35 | Martin Tjøtta | Arkea-B&B Hotels | 27:15 |
| 36 | Rémy Rochas | Groupama-FDJ | 27:23 |
| 37 | Wout Poels | XDS Astana Team | 28:51 |
| 38 | Damien Howson | Q36.5 Pro Cycling Team | 31:29 |
| 39 | Wilco Kelderman | Team Visma | Lease a Bike | 32:07 |
| 40 | Jonathan Lastra | Cofidis | 32:20 |
| 41 | Mark Donovan | Q36.5 Pro Cycling Team | 32:23 |
| 42 | Igor Arrieta | UAE Team Emirates-XRG | 33:18 |
| 43 | Romain Bardet | Team Picnic PostNL | 33:33 |
| 44 | Brandon Rivera | INEOS Grenadiers | 33:59 |
| 45 | Chris Hamilton | Team Picnic PostNL | 34:45 |
| 46 | Andrea Vendrame | Decathlon AG2R La Mondiale | 35:23 |
| 47 | Pello Bilbao | Bahrain Victorious | 36:08 |
| 48 | Patrick Konrad | Lidl-Trek | 36:09 |
| 49 | Davide Formolo | Movistar Team | 36:15 |
| 50 | David Gaudu | Groupama-FDJ | 36:48 |
| 51 | Alessandro Tonelli | Team Polti-VisitMalta | 38:08 |
| 52 | Luca Covili | VF Group-Bardiani CSF-Faizanè | 40:45 |
| 53 | Alexander Cepeda | EF Education-EasyPost | 42:30 |
| 54 | Gianmarco Garofoli | Soudal Quick-Step | 42:52 |
| 55 | Mattia Cattaneo | Soudal Quick-Step | 44:30 |
| 56 | Sergio Samitier | Cofidis | 45:51 |
| 57 | Steven Kruijswijk | Team Visma | Lease a Bike | 45:53 |
| 58 | Carlos Verona | Lidl-Trek | 48:35 |
| 59 | Stefano Oldani | Cofidis | 49:25 |
| 60 | Filippo Zana | Team Jayco-AlUla | 49:59 |
| 61 | Yannis Voisard | Tudor Pro Cycling Team | 50:07 |
| 62 | Fausto Masnada | XDS Astana Team | 50:17 |
| 63 | James Shaw | EF Education-EasyPost | 50:43 |
| 64 | Lawrence Warbasse | Tudor Pro Cycling Team | 50:55 |
| 65 | Mattia Bais | Team Polti-VisitMalta | 52:54 |
| 66 | Daniel Martinez | Red Bull-BORA-hansgrohe | 54:29 |
| 67 | Giovanni Aleotti | Red Bull-BORA-hansgrohe | 54:42 |
| 68 | Jefferson Cepeda | Movistar Team | 55:24 |
| 69 | Jakob Fuglsang | Israel-Premier Tech | 55:51 |
| 70 | Lorenzo Germani | Groupama-FDJ | 56:25 |
| 71 | Martin Marcellusi | VF Group-Bardiani CSF-Faizanè | 56:40 |
| 72 | Bart Lemmen | Team Visma | Lease a Bike | 56:55 |
| 73 | Simone Petilli | Intermarché-Wanty | 59:55 |
| 74 | Jonathan Castroviejo | INEOS Grenadiers | 1:00:03 |
| 75 | Hugo Houle | Israel-Premier Tech | 1:00:38 |
| 76 | Quentin Pacher | Groupama-FDJ | 1:02:00 |
| 77 | Afonso Eulalio | Bahrain Victorious | 1:04:51 |
| 78 | Mads Pedersen | Lidl-Trek | 1:05:03 |
| 79 | Mikkel Honore | EF Education-EasyPost | 1:05:25 |
| 80 | Quinten Hermans | Alpecin-Deceuninck | 1:06:01 |
| 81 | Milan Vader | Q36.5 Pro Cycling Team | 1:07:35 |
| 82 | Filippo Baroncini | UAE Team Emirates-XRG | 1:08:49 |
| 83 | Manuele Tarozzi | VF Group-Bardiani CSF-Faizanè | 1:09:12 |
| 84 | Corbin Strong | Israel-Premier Tech | 1:09:27 |
| 85 | Dorian Godon | Decathlon AG2R La Mondiale | 1:09:34 |
| 86 | Felix Engelhardt | Team Jayco-AlUla | 1:10:10 |
| 87 | Christian Scaroni | XDS Astana Team | 1:10:29 |
| 88 | Filippo Fiorelli | VF Group-Bardiani CSF-Faizanè | 1:12:25 |
| 89 | Jay Vine | UAE Team Emirates-XRG | 1:12:48 |
| 90 | Lucas Plapp | Team Jayco-AlUla | 1:13:07 |
| 91 | Jan Tratnik | Red Bull-BORA-hansgrohe | 1:14:03 |
| 92 | Georg Steinhauser | EF Education-EasyPost | 1:14:05 |
| 93 | Davide Bais | Team Polti-VisitMalta | 1:14:23 |
| 94 | Paul Double | Team Jayco-AlUla | 1:14:59 |
| 95 | Simon Guglielmi | Arkea-B&B Hotels | 1:16:14 |
| 96 | Davide De Pretto | Team Jayco-AlUla | 1:16:19 |
| 97 | Alessio Martinelli | VF Group-Bardiani CSF-Faizanè | 1:18:25 |
| 98 | Fabio Van den Bossche | Alpecin-Deceuninck | 1:19:10 |
| 99 | Darren Rafferty | EF Education-EasyPost | 1:19:21 |
| 100 | Lucas Hamilton | INEOS Grenadiers | 1:19:52 |
| 101 | Joshua Tarling | INEOS Grenadiers | 1:20:21 |
| 102 | Gijs Leemreize | Team Picnic PostNL | 1:23:02 |
| 103 | Wout van Aert | Team Visma | Lease a Bike | 1:23:38 |
| 104 | Nick Schultz | Israel-Premier Tech | 1:24:45 |
| 105 | Dylan van Baarle | Team Visma | Lease a Bike | 1:24:49 |
| 106 | Mirco Maestri | Team Polti-VisitMalta | 1:26:03 |
| 107 | Francesco Busatto | Intermarché-Wanty | 1:26:56 |
| 108 | Edward Planckaert | Alpecin-Deceuninck | 1:28:57 |
| 109 | Lorenzo Milesi | Movistar Team | 1:33:08 |
| 110 | Owain Doull | EF Education-EasyPost | 1:35:09 |
| 111 | Sylvain Moniquet | Cofidis | 1:35:24 |
| 112 | Rick Pluimers | Tudor Pro Cycling Team | 1:36:27 |
| 113 | Kasper Asgreen | EF Education-EasyPost | 1:36:35 |
| 114 | Timo Kielich | Alpecin-Deceuninck | 1:38:29 |
| 115 | Kaden Groves | Alpecin-Deceuninck | 1:38:54 |
| 116 | Alessandro Verre | Arkea-B&B Hotels | 1:39:08 |
| 117 | Filippo Magli | VF Group-Bardiani CSF-Faizanè | 1:39:10 |
| 118 | Ben Turner | INEOS Grenadiers | 1:39:45 |
| 119 | Kevin Colleoni | Intermarché-Wanty | 1:43:53 |
| 120 | Enzo Paleni | Groupama-FDJ | 1:44:19 |
| 121 | Jon Barrenetxea | Movistar Team | 1:45:24 |
| 122 | Marco Brenner | Tudor Pro Cycling Team | 1:45:32 |
| 123 | Anthony Perez | Cofidis | 1:48:01 |
| 124 | Jacopo Mosca | Lidl-Trek | 1:48:10 |
| 125 | Daan Hoole | Lidl-Trek | 1:51:25 |
| 126 | Max Kanter | XDS Astana Team | 1:51:33 |
| 127 | Simon Clarke | Israel-Premier Tech | 1:52:46 |
| 128 | Fran Miholjevic | Bahrain Victorious | 1:53:16 |
| 129 | Nico Denz | Red Bull-BORA-hansgrohe | 1:55:13 |
| 130 | Orluis Aular | Movistar Team | 1:55:17 |
| 131 | Sven Erik Bystrøm | Groupama-FDJ | 1:56:32 |
| 132 | Albert Torres | Movistar Team | 1:56:35 |
| 133 | Stan Dewulf | Decathlon AG2R La Mondiale | 1:56:59 |
| 134 | Gianni Moscon | Red Bull-BORA-hansgrohe | 1:58:39 |
| 135 | Laurens Huys | Arkea-B&B Hotels | 1:58:55 |
| 136 | Edoardo Affini | Team Visma | Lease a Bike | 2:02:01 |
| 137 | Xabier Azparren | Q36.5 Pro Cycling Team | 2:02:52 |
| 138 | Milan Fretin | Cofidis | 2:04:23 |
| 139 | Tord Gudmestad | Decathlon AG2R La Mondiale | 2:05:10 |
| 140 | Giosue Epis | Arkea-B&B Hotels | 2:05:12 |
| 141 | Emils Liepins | Q36.5 Pro Cycling Team | 2:06:42 |
| 142 | Josef Cerný | Soudal Quick-Step | 2:07:58 |
| 143 | Giovanni Lonardi | Team Polti-VisitMalta | 2:08:46 |
| 144 | Kim Heiduk | INEOS Grenadiers | 2:09:25 |
| 145 | Sam Bennett | Decathlon AG2R La Mondiale | 2:10:10 |
| 146 | Luca Mozzato | Arkea-B&B Hotels | 2:10:46 |
| 147 | Andrea Pietrobon | Team Polti-VisitMalta | 2:10:49 |
| 148 | Ethan Hayter | Soudal Quick-Step | 2:10:55 |
| 149 | Luke Lamperti | Soudal Quick-Step | 2:12:05 |
| 150 | Matevz Govekar | Bahrain Victorious | 2:12:09 |
| 151 | Clément Davy | Groupama-FDJ | 2:12:14 |
| 152 | Dries De Bondt | Decathlon AG2R La Mondiale | 2:13:14 |
| 153 | Alex Edmondson | Team Picnic PostNL | 2:13:39 |
| 154 | Jan Maas | Cofidis | 2:13:47 |
| 155 | Jimmy Janssens | Alpecin-Deceuninck | 2:14:30 |
| 156 | Casper van Uden | Team Picnic PostNL | 2:14:33 |
| 157 | Paul Magnier | Soudal Quick-Step | 2:15:03 |
| 158 | Nicolas Debeaumarché | Cofidis | 2:15:06 |
| 159 | Anton Kuzmin | XDS Astana Team | 2:16:10 |
| 160 | Olav Kooij | Team Visma | Lease a Bike | 2:16:43 |
| 161 | Michael Hepburn | Team Jayco-AlUla | 2:17:38 |
| 162 | Taco van der Hoorn | Intermarché-Wanty | 2:18:05 |
| 163 | Francisco Muñoz | Team Polti-VisitMalta | 2:19:05 |
| 164 | Matteo Moschetti | Q36.5 Pro Cycling Team | 2:21:15 |
| 165 | Maikel Zijlaard | Tudor Pro Cycling Team | 2:23:59 |
| 166 | Enrico Zanoncello | VF Group-Bardiani CSF-Faizanè | 2:28:54 |
| 167 | Gijs Van Hoecke | Intermarché-Wanty | 2:29:40 |
| 168 | Gerben Thijssen | Intermarché-Wanty | 2:31:09 |
| 169 | Jensen Plowright | Alpecin-Deceuninck | 2:33:39 |
| 170 | Niklas Märkl | Team Picnic PostNL | 2:34:49 |
| 171 | Alexander Krieger | Tudor Pro Cycling Team | 2:51:55 |
Stage 12 map & profile:

Map of the race route

Profile of the stage 12 route.
Stage 12 photos by Fotoreporter Sirotti:

Romian Bardet had a fan at the start.

Mads Pedersen check out his purple shades that go perfectly with his purple points jersey.

Team Picnic-PostNL before the start.

Tom Pidcock

Wout van Aert before the start.

It time to go race bicycles in beautiful Emilia-Romagna.

GC leader Isaac del Toro in the finish city of Viadana

The finish: Here they come...

Olav Kooij wins stage twelve.

Stage winner Olav Kooij.

Isaac del Toro will start stage 13 in pink.