Filippo Ganna won stage 10 of the 2026 Giro d’Italia, storming to victory in the 42km individual time trial from Viareggio to Massa, but the bigger tension lasted until the final rider on the road. Afonso Eulálio, in the maglia rosa, suffered exactly as expected on a course that never suited him, yet still did just enough to keep pink by 27 seconds from Jonas Vingegaard.
Table of Contents
ToggleIt was the first long flat time trial of this year’s race and it reshaped the general classification behind Eulálio, even if it did not quite strip him of the lead. Ganna was in a different race from almost everyone else. Thymen Arensman produced the best ride among the GC contenders, Derek Gee-West and Ben O’Connor also came away with strong days, while Vingegaard took time on most of his rivals without quite delivering the decisive blow many had expected.
Ganna lays down the marker early
From the moment Ganna left the start house, the stage win looked likely to be his. This was exactly the sort of course built for him, long, flat and fast, with the emphasis on sustained power rather than technical complication. He was already 40 seconds faster than the early benchmark at the first time check, and by the second split he had stretched that advantage even further.
When he reached the finish, he had taken more than two minutes out of Sjoerd Bax’s time and immediately turned the stage into a waiting game. Remi Cavagna moved into second for a while with a very strong ride, but even he was comfortably behind. From that point on, the main question was no longer who would win the stage, but how the general classification would be reshaped.
Photo Credit: GettyThe course starts to sort the GC riders
The first useful signs from the GC side of the race came from riders lower down the standings. Derek Gee-West looked strong from early on and got better as the course went on, eventually finishing with one of the best rides of the day. Ben O’Connor also paced his effort well and set himself up for a move up the overall standings.
Arensman was the standout. He was second quickest at the first time check behind only Ganna, sustained that level all the way through the course and eventually finished second on the stage. It was the kind of ride that had been expected from one of the best time trialists among the overall contenders, and it immediately put pressure on the riders around him.
Others were already beginning to lose ground. Mathys Rondel struggled, Michael Storer was only solid rather than exceptional, and both Giulio Pellizzari and Jai Hindley were clearly riding to limit losses rather than to make gains. In the lower half of the top 10, the gaps were small enough that a single good or bad ride was always going to change several positions.
Vingegaard takes time, but not enough
Much of the pre-stage focus centred on Vingegaard. He was the rider best placed to take serious time out of Eulálio, and the nature of the course suggested he could produce the kind of ride needed to put himself into pink.
Instead, his performance was good rather than overwhelming.
At the first time check he was only 10th fastest, already 56 seconds slower than Ganna. He improved as the day went on and eventually finished 13th, but it was not the sort of ride that blew the race apart. He still did what he needed to do against most of his overall rivals, taking time on Gall, Hindley, Pellizzari and others, but there was a clear difference between taking time and taking enough time.
That meant the maglia rosa fight stayed alive all the way to the final starter.
Arensman, Gee-West and O’Connor move up
If Vingegaard’s ride felt slightly underwhelming compared to the expectations around it, Arensman’s was emphatic. His second place on the stage was one of the most important results of the day, and it lifted him above several rivals in the GC battle.
Gee-West also made a major move. His ride was strong enough to propel him upward in the standings, exactly the sort of time trial that can change the direction of a Grand Tour campaign. O’Connor came away well too, finishing with a time good enough to move up overall.
By contrast, Hindley lost enough time to drop from fourth to sixth on GC, overtaken by both Arensman and O’Connor. Gall suffered through a difficult day and slipped from third to fourth overall after losing more than four minutes to Ganna. Pellizzari also limited the damage rather than avoiding it, and that saw him lose ground in the top 10 battle.
Photo Credit: GettyEulálio suffers, then survives
The real drama of the stage came with Eulálio’s ride.
He started the day with a lead of 2 minutes and 24 seconds over Vingegaard, but this always looked like the sort of course that could strip that advantage away very quickly. At the first time check, he was already 50 seconds slower than the Dane, and suddenly the jersey looked genuinely vulnerable.
The pressure only increased from there. At the second check, Eulálio was 1 minute and 29 seconds slower than Vingegaard. The arithmetic became uncomfortable. With the rest of the GC riders coming home and positions shifting everywhere behind him, the possibility of a late change in pink became very real.
But Eulálio never completely cracked. He kept his cadence high, stayed committed through the final section and managed the effort well enough to stop the loss from turning catastrophic. When he finally crossed the line, he had done just enough. Not enough to save face on the stage, but enough to save the jersey.
That was the ride that mattered most.
The stage that reshaped the Giro without changing its leader
By the end of the afternoon, Ganna had the stage win he had been targeting all week, one more dominant time trial added to his Giro collection. Yet the bigger consequence of stage 10 lay in the general classification.
Eulálio remained race leader by 27 seconds. Vingegaard had taken time, but not enough to go into pink. Arensman rose with a superb ride. Gee-West and O’Connor both strengthened their positions. Gall, Hindley and Pellizzari all lost more than they would have wanted.
So the time trial changed the race, even if it did not change the jersey.
That may end up being its real significance. The margins behind Eulálio are now tighter, the hierarchy more defined, and the next mountain stages look set to be even more decisive with the race balanced on such a narrow lead.
Giro d’Italia 2026 stage 10 result
Results powered by FirstCycling.com
Main photo credit: Getty






