Giro d'Italia: Filippo Ganna smashes stage 10 individual time trial as surprises shake up overall

Filippo Ganna rides ahead of a motorbike during the time trial
Filippo Ganna lived up to his status as favourite to win the stage 10 time trial in the 2026 Giro d'Italia (Image credit: Getty Images)

Stage 10 favourite Filippo Ganna (Netcompany Ineos) sped to his eighth Giro d'Italia stage victory in the race's only time trial after dominating the 42km course between Viareggio and Massa.

The Italian champion passed seven riders en route to the finish, recording a time of 45:53 at the line for an average speed of 54.922kph.

His time was almost two minutes quicker than any of the other riders who had set off before the GC men, with Rémi Cavagna (Groupama-FDJ United) second best at that point, 1:59 down.

Latest Videos From

Race leader Afonso Eulálio (Bahrain Victorious), tipped by many to lose over 2:24 and with it the maglia rosa today, instead managed to hang on to pink.

Eulálio now holds an 27 second lead over Vingegaard, who surprisingly underperformed to finish just 13th. The Giro favourite recorded a time of 48:53 at the line, losing over a minute to Arensman.

How it unfolded

Jonas Vingegaard of Denmark and Team Visma | Lease a Bike - Blue Mountain Jersey competes during the 109th Giro d'Italia 2026

Jonas Vingegaard (Image credit: Getty Images)

The Giro d'Italia resumed following its second rest day with a trip to Tuscany for the race's only time trial. Stage 10's course was pan-flat throughout the Ligurian coastal run from Viareggio to Massa. The 42km route had a few technical sections along the way, instead of being characterised by long, straight roads. The three time-check stages were at 16.7km, 28.9km, and 38.4km.

Frank van den Broeck (Picnic-PostNL) kicked off proceedings as the first man off. The Dutchman set an opening time of 55:46 at an average speed of 45.188kph, and his effort would soon be well beaten as a series of strong time triallists set off.

Max Walscheid (Lidl-Trek) shot to the top of the standings shortly afterwards, the German speeding to a time of 48:10 at a blistering average speed of 52.318kph. Johan Price-Pejtersen (Alpecin-Premier Tech) was another quick early starter, slotting in just behind Walscheid with a time of 48:22.

It would take some time for another rider to break the 50-minute barrier as 27th man off, António Morgado (UAE Team Emirates-XRG), scraped under by two seconds. Walscheid's time in the hot seat came to an end shortly after as Sjoerd Bax crossed the line in under 48 minutes with his time of 47:57.

The Dutchman wouldn't hang onto top spot for long with Filippo Ganna speeding along as the favourite to win the stage. The Italian champion duly delivered on that promise, going quickest at every checkpoint en route to setting a time of 45:53.

Neither Mikkel Bjerg (UAE Team Emirates-XRG) nor Rémi Cavagna (Groupama-FDJ United) would trouble Ganna in the top spot with times of 48:26 and 47:52, though the Frenchman did slot into second place, having taken second at all three checkpoints along the way.

Alec Segaert (Bahrain Victorious) also raced into the top 10 shortly afterwards, the Belgian's time of 48:58 leaving him in eighth place. Will Barta (Tudor) and Lorenzo Milesi (Movistar) also did well shortly afterwards, recording times of 48:55 and 48:33, respectively.

The GC battle

Bahrain - Victorious Portuguese rider Afonso Eulalio, wearing the overall leader pink jersey, competes during the 10th stage of the Giro d'Italia 2026

(Image credit: Getty Images)

From there, attention turned to the GC contenders, who soon began heading down the start ramp in Viareggio.

Down in 21st overall, David de la Cruz (Pinarello-Q36.5) put in a strong ride to cross the line in a time of 48:45, while Derek Gee-West (Lidl-Trek) was the quickest of those on the fringes of the top 10 with the fourth-best time of 48:09.

Both Ben O'Connor (Jayco-AlUla) and Thymen Arensman (Netcompany Ineos) flew out of the blocks to start their rides, both setting top five times at the first checkpoint, with Arensman the best of the GC men at 19:39.

The Red Bull-Bora-Hansgrohe pairing of Giulio Pellizzari and Jai Hindley, both reportedly struggling with illness, had a tougher time, however, losing 41 and 37 seconds to Arensman there. Felix Gall (Decathlon CMA CGM) was also having a tough time, the climber racing to 27th at the first check, 57 seconds down on the Dutchman.

Surprisingly, Jonas Vingegaard was down on both O'Connor and Arensman at that checkpoint. His time, the 10th quickest at that point, was 26 seconds slower than Arensman. Maglia rosa Eulálio looked on track to lose a significant chunk of his race lead, shedding a minute to Vingegaard in the opening 16.7km.

MASSA, ITALY - MAY 19: Ben O'Connor of Australia and Team Jayco AlUla competes during the 109th Giro d'Italia 2026, Stage 10

Ben O'Connor (Image credit: Getty Images)

At the finish, O'Connor had faded a little to provisional 10th with a time of 48:35, while Pellizzari improved as his ride went on, finishing with a time of 49:11. Hindley was a little slower, recording a time of 49:24 at the line.

Arensman was the quickest of the GC contenders, however, crossing the line only behind Ganna with a time of 47:47 and an average speed of 52.738kph. Gall finished his day with a time that many would've expected, his 50:15 meaning he'd have a lot of work to do in the remaining mountain stages.

Vingegaard's disappointing ride saw him finish outside the top 10 on the day, his ride a full three minutes slower than Ganna, and also slower than Arensman, Gee-West, and O'Connor. Eulálio continued to fight another day in pink, limiting his losses to Vingegaard and retaining the race lead by almost half a minute.

Results

Results powered by FirstCycling

Dani Ostanek
Senior News Writer

Dani Ostanek is Senior News Writer at Cyclingnews, having joined in 2017 as a freelance contributor, later being hired full-time. Her favourite races include Strade Bianche, the Tour de France Femmes, Paris-Roubaix, and Tro-Bro Léon.

You must confirm your public display name before commenting

Please logout and then login again, you will then be prompted to enter your display name.