Image 1 of 60
Filippo Ganna (Ineos Grenadiers) picked up where he left off in Turin (Image credit: Getty Images Sport)
The world time trial champion took his fifth Giro stage victory in two years (Image credit: Getty Images Sport)
Ganna was the GIro's first maglia rosa, winning by 10 seconds (Image credit: Getty Images Sport)
Remco Evenepoel (Deceuninck-QuickStep) was among the top GC finishers on stage 1 (Image credit: Getty Images Sport)
Wouter Weylandt was remembered at the start of stage 2 (Image credit: Getty Images Sport)
The peloton race through Piemonte on the second day of the Giro (Image credit: Getty Images Sport)
All smiles for Ganna on his second career day in pink (Image credit: Getty Images Sport)
The first break of the Giro saw wildcards Bardiani-CSF-Faizanè, Androni Giocattoli-Sidermec and Eolo-Kometa make the move (Image credit: Getty Images Sport)
At the end of the stage, the other invitees Alpecin-Fenix took the win with Tim Merlier – note the Weylandt tribute (Image credit: Getty Images Sport)
Meanwhile there were recriminations at UAE Team Emirates after Fernando Gaviria's sprint was disrupted by teammate Juan Sebastian Molano (Image credit: Getty Images Sport)
A wet stage 3 from Biella to Canale looked set for another sprint finish (Image credit: Getty Images Sport)
But from the break, Intermarché-Wanty Gobert's Taco van der Hoorn was determined to hold them off (Image credit: Getty Images Sport)
And hold them off he did, to clinch his team's first win of year in style! (Image credit: Getty Images Sport)
More wet weather greeted the peloton on stage 4, in what would be a recurring theme of the race (Image credit: Getty Images Sport)
There was a GC showdown at Sestola, with Egan Bernal leading an elite group of five which included Vlasov, Carthy, Ciccone and Landa (Image credit: Getty Images Sport)
While 1:37 up the road, Joe Dombrowski (UAE Team Emirates) triumphed from the breakaway (Image credit: Getty Images Sport)
Alessandro De Marchi (Israel Start-Up Nation) battled for the win in dire conditions (Image credit: Getty Images Sport)
But the Italian was more than happy to take over the maglia rosa (Image credit: Getty Images Sport)
It was a less successful day for João Almeida (Deceuninck-QuickStep) though, as he shed over four minutes at the finish (Image credit: Getty Images Sport)
Stage 5 took the peloton on a pan-flat route from Modena to Cattolica (Image credit: Getty Images Sport)
An uneventful day was punctuated late on by a crash with took Mikel Landa (Bahrain Victorious) out of the race along with blue jersey Dombrowski (Image credit: Getty Images Sport)
The expected sprint finish saw Caleb Ewan (Lotto Soudal) go head to head with Giacomo Nizzolo (Qhubeka Assos) (Image credit: Getty Images Sport)
With the Australian coming out on top to take his ninth career Grand Tour stage win (Image credit: Getty Images Sport)
Stage 6 took the peloton to the first real summit finish of the race at the Colle San Giacomo above Ascoli Piceno (Image credit: Getty Images Sport)
There were some seriously great views to be had (Image credit: Getty Images Sport)
Seriously... (Image credit: Getty Images Sport)
But the weather was – once again – unkind to the peloton (Image credit: Getty Images Sport)
Bernal came to the fore on the final climb once again, with Ciccone, Evenepoel and Dan Martin accompanying him (Image credit: Getty Images Sport)
Just up the road, there was another win for the break as Gino Mäder (Bahrain Victorious) crossed the line first (Image credit: Getty Images Sport)
Attila Valter (Groupama-FDJ) took over pink as De Marchi finished 24 minutes down (Image credit: Getty Images Sport)
Notaresco greeted the peloton on stage 8, another one for the sprinters (Image credit: Getty Images Sport)
And once again, it was Caleb Ewan who prevailed with a stunning effort uphill (Image credit: Getty Images Sport)
Job done for the Australian, who is targeting stage wins at each Grand Tour this year (Image credit: Getty Images Sport)
His team were pretty pleased, too (Image credit: Getty Images Sport)
Stage 8 took the peloton to another uphill finish at Guardia Sanframondi but there was to be no GC skirmish (Image credit: Getty Images Sport)
Up the road it was another fight between the breakaway, though. Here, Victor Lafay (Cofidis) puts in an attack (Image credit: Getty Images Sport)
It turned out to be the winning move – some race for his first-ever pro win (Image credit: Getty Images Sport)
Stage 9 headed through the Appennines to the ski station of Campo Felice (Image credit: Getty Images Sport)
The breakaway wasn't a bad bet – they were two minutes up with 10 kilometres to go (Image credit: Getty Images Sport)
But Egan Bernal had other ides on the uphiil gravel finish (Image credit: Getty Images Sport)
Geoffrey Bouchard (AG2R Citroën) and Koen Bouwman (Jumbo-Visma) couldn't stop the Colombian from taking the stage with a brutal attack (Image credit: Getty Images Sport)
Meanwhile, Evenepoel was disappointed to shed a total of 20 seconds at the finish (Image credit: Getty Images Sport)
Bernal took pink as a result, grabbing a 15-second lead over the Belgian (Image credit: Getty Images Sport)
Stage 10 was another one for the sprinters as the peloton headed north to Foligno (Image credit: Getty Images Sport)
Bora-Hansgrohe were keen for their man Peter Sagan to take a win (Image credit: Getty Images Sport)
While up front, the break were only hindered further by having to wait at a level crossing (Image credit: Getty Images Sport)
The intermediate sprint saw the GC men come out to play, with Evenepoel shaving a second off Bernal's lead (Image credit: Getty Images Sport)
The finishing sprint was Sagan's though, with the Slovak taking the points lead to boot (Image credit: Getty Images Sport)
The peloton set off from Perugia to kick off the long-awaited sterrato stage 11 to Montalcino (Image credit: Getty Images Sport)
The roads of Tuscany offered some of the best views of the race (Image credit: Getty Images Sport)
The famous white gravel roads hadn't been included in the race since 2010 (Image credit: Getty Images Sport)
Once again, it was a good day for the break, and not just because of the weather and the view (Image credit: Getty Images Sport)
Ineos Grenadiers took control of the peloton, with Ganna leading Bernal at the front (Image credit: Getty Images Sport)
The pair bossed the field on the sterrato (Image credit: Getty Images Sport)
And Bernal – formerly a mountain-biker – took it up himself later on (Image credit: Getty Images Sport)
Further back, Evenepoel struggled mightily on the sterrato, with Almeida called back to – eventually – help (Image credit: Getty Images Sport)
In Montalcino, Mauro Schmid (Qhubeka Assos) and Alessandro Covi (UAE Team Emirates) battled for the win (Image credit: Getty Images Sport)
With Schmid taking victory on his Grand Tour debut (Image credit: Getty Images Sport)
Bernal and Bora-Hansgrohe's Emanuel Buchmann were the strongest of the GC men (Image credit: Getty Images Sport)
But the Colombian was stronger, putting more time into all of his rivals (Image credit: Getty Images Sport)
The Giro d'Italia drew to a close on Sunday afternoon, capping three weeks of spectacular racing up and down the peninsula from the flats of the Po Valley to the hills of Tuscany and the mountains of the Dolomites and Alps.
Egan Bernal (Ineos Grenadiers) celebrated with the Trofeo Senza Fine in the shadow of the Duomo di Milano, following a series of commanding displays with controlled defensive riding from him and his team later on.
The Colombian, who now has the summer off ahead of the Vuelta a España, can now look back on a job well done and hang a maglia rosa alongside his maillot jaune after beating Damiano Caruso (Bahrain Victorious) and Simon Yates (Team BikeExchange) into second and third place.
But there was much more to the Corsa Rosa beyond the podium and the battle for pink. We saw Filippo Ganna's time trial mastery, sprint battles between Caleb Ewan, Giacomo Nizzolo, Peter Sagan, Tim Merlier and more, 10 breakaway victories, the long-awaited return of the sterrato, 13 first-time Grand Tour stage winners, the natural beauty of Italy, and much more besides.
We've compiled 128 photos from stage 1 to stage 21, bringing together the highlights and key moments of the year's first Grand Tour with the stunning scenery witnessed along the way
Look above for a complete gallery of stages 1-11 of the Giro, and look below for photography from stage 12-21.
Thanks to Bettini Photo and Getty Images for their photography throughout the race from Tim De Waele, Fabio Ferrari, Gian Mattia D'Alberto, Stuart Franklin, Dario Belingheri, Ilario Biondi, and Luca Bettini.
Image 1 of 68
The peloton set off from Siena – the host of the Strade Bianche finish – to start stage 12 (Image credit: Getty Images Sport)
Yet again, it was a day for the breakaway to shine, for the sixth time in 12 days (Image credit: Getty Images Sport)
George Bennett (Jumbo-Visma) couldn't shake everybody on the final climb ahead of the finish in Bagno di Romagna (Image credit: Getty Images Sport)
Andrea Vendrame (AG2R Citroën) was the latest man to take a debut Grand Tour win at the race (Image credit: Getty Images Sport)
And you can see what it meant for the Italian (Image credit: Getty Images Sport)
Stage 13 was another pan-flat day across the Po Valley, another chance for the sprinters (Image credit: Getty Images Sport)
Maglia rosa Bernal staying safe on a quiet day for the peloton (Image credit: Getty Images Sport)
Giacomo Nizzolo – after 11 second places in Giro sprints – sprinted to his first win in Verona (Image credit: Getty Images Sport)
Job done for the European champion and a huge weight lifted after so many near-misses (Image credit: Getty Images Sport)
Stage 14 took the Giro back to the mountains and the fearsome Monte Zoncolan (Image credit: Getty Images Sport)
A peloton reflected in the Tagliamento river (Image credit: Getty Images Sport)
'Welcome to hell or, if you prefer, call it... Zoncolan' (Image credit: Getty Images Sport)
Bernal and Simon Yates (Team BikeExchange) proved the class of the GC men on the double-digit gradients (Image credit: Getty Images Sport)
Up the road, Eolo-Kometa's Lorenzo Fortunato pushed on from the breakaway (Image credit: Getty Images Sport)
The 25-year-old debutant sealed a famous win for his team, also Giro first-timers (Image credit: Getty Images Sport)
1:43 later, a determined Bernal crossed the line having dispatched Yates in the final kilometre (Image credit: Getty Images Sport)
Stage 15 was disrupted early on thanks to a mass crash in the peloton (Image credit: Getty Images Sport)
Natnael Berhane (Cofidis) and Jos Van Emden (Jumbo-Visma) both abandoned due to their injuries (Image credit: Getty Images Sport)
As was Buchmann, who was also forced out of the race (Image credit: Getty Images Sport)
The stage headed to Slovenia – can you tell? (Image credit: Getty Images Sport)
Victor Campenaerts (Qhubeka Assos) was determined to get the win from the break (Image credit: Getty Images Sport)
The Belgian did just that, beating Oscar Riesebeek (Alpecin-Fenix) ini Gorizia (Image credit: Getty Images Sport)
A shortened Dolomite stage to Cortina d'Ampezzo lay in wait on stage 16 (Image credit: Getty Images Sport)
Egan Bernal went on the attack on the Passo Giau, the action largely unseen by TV viewers (Image credit: Getty Images Sport)
Michael Hepburn (Team BikeExchange) alone in the snow on the Giau (Image credit: Getty Images Sport)
Bernal once again showed that he was the strongest man in the race (Image credit: Getty Images Sport)
He won by 27 seconds, finishing with an iconic celebration, and put 2:37 into second-placed Yates (Image credit: Getty Images Sport)
Romain Bardet (DSM) and new second-placed man Damiano Caruso (Bahrain Victorious) were next across the line (Image credit: Getty Images Sport)
Now leading by 2:24, Bernal had to look a long way back to find his closest rival (Image credit: Getty Images Sport)
After the second rest day, the peloton headed to a new summit finish at Sega di Ala on stage 17 (Image credit: Getty Images Sport)
Dan Martin (Israel Start-Up Nation) was in the break alongside maglia azzurra Bouchard (Image credit: Getty Images Sport)
Simon Yates (BikeExchange) enjoyed a resurgence on the climb, putting 57 seconds into Bernal (Image credit: Getty Images Sport)
Up front, Martin struck out to win – another one for the breakaways (Image credit: Getty Images Sport)
Dani Martínez wills on teammate Beral in one of the iconic photos of the race (Image credit: Getty Images Sport)
Evenepoel, 24 minutes down on the Giau, lost more time after crashing during the stage. He'd leave the race overnight (Image credit: Getty Images Sport)
Bernal took a blow but his eyes were still on the prize (Image credit: Getty Images Sport)
The peloton enjoyed an easy day on stage 18 to Stradella, finishing 23 minutes down (Image credit: Getty Images Sport)
The break prevailed, with Alberto Bettiol (EF-Nippo) chasing down Remi Cavagna (Deceuninck-QuickStep) in the finale (Image credit: Getty Images Sport)
The 2019 Flanders winner soloed to the third win of his career (Image credit: Getty Images Sport)
More climbing for the riders on stage 18 as the hit the Alps and the summit finish at Alpe di Mera (Image credit: Getty Images Sport)
Deceuninck-QuickStep were determined to make something happen for Almeida (Image credit: Getty Images Sport)
But it was Yates who went on the attack early on the climb (Image credit: Getty Images Sport)
Once again, Martínez set to work for Bernal to limit the damage (Image credit: Getty Images Sport)
But the Colombian and Almeida eventually had to set off in pursuit of Yates (Image credit: Getty Images Sport)
The detemination – and pain – of the chase (Image credit: Getty Images Sport)
Yates took the win, but his gains on Bernal were limited to 34 seconds (Image credit: Getty Images Sport)
Bernal before the decisive day – stage 20 in the Alps to another summit finish at Alpe Motta (Image credit: Getty Images Sport)
The views – once again at the Giro d'Italia – were stunning (Image credit: Getty Images Sport)
Ineos controlled the peloton through the snow-capped peaks of the San Bernardino and Spluga (Image credit: Getty Images Sport)
And on the way down the challenging descents (Image credit: Getty Images Sport)
Damiano Caruso made a long-range attempt at glory, accompanied by teammate Pello Bilbao, and Romain Bardet (Image credit: Getty Images Sport)
A view of the Alps on the penultimate stage (Image credit: Getty Images Sport)
Martínez, once again, limited the gap for Bernal, who called Caruso's attack "the most complicated moment of the race" (Image credit: Getty Images Sport)
The tifosi cheer on Caruso up the final climb (Image credit: Getty Images Sport)
While former maglia rosa Valter stopped to meet the fans (Image credit: Getty Images Sport)
Caruso prevailed, winning a Giro stage for the first time at the age of 33 and cementing his second place on GC (Image credit: Getty Images Sport)
For Bernal it was job done after taking second place 24 seconds behind Caruso (Image credit: Getty Images Sport)
Filippo Ganna started the race as he finished it, winning the time trial in Milan despite a puncture (Image credit: Getty Images Sport)
Remi Cavagna took second despite crashing late on (Image credit: Getty Images Sport)
30 kilometres lay between Bernal and Giro glory (Image credit: Getty Images Sport)
He made no mistake on the final stage, celebrating as he crossed the line (Image credit: Getty Images Sport)
The final podium – Bernal first, Caruso second, Yates third (Image credit: Getty Images Sport)
The maglia rosa, the Trofeo Senza Fine, and the Duomo di Milano (Image credit: Getty Images Sport)
Ineos Grenadiers celebrate their win (they also won the team competition) (Image credit: Getty Images Sport)
Peter Sagan added the maglia ciclamino to his Tour de France green jersey collection (Image credit: Getty Images Sport)
Geoffrey Bouchard added the mountain classification to his Vuelta mountains win (Image credit: Getty Images Sport)
Dries De Bondt (Alpecin-Fenix) was the most combative rider and intermediate sprint prizes (Image credit: Getty Images Sport)
And, finally, Simon Pellaud (Androni Giocattoli-Sidermec) won the breakaway prize (Image credit: Getty Images Sport)