Kaden Groves claimed a career-defining victory on a sodden day in the Jura, attacking solo from a splintering breakaway with 17km to go and holding off all chasers to win stage 20 of the Tour de France. It was a win that completed his Grand Tour trilogy, having previously taken stage honours at both the Giro d’Italia and Vuelta a España.
The stage from Nantua to Pontarlier was anything but ceremonial, with 184.2km of rolling terrain, punchy climbs, and persistent rain making it one of the toughest transitional stages of the race. With the general classification settled and the sprinters eyeing Paris, the breakaway was always expected to decide the outcome.
A battle to get clear
It took over 70km of relentless racing for the day’s main move to form. Early attempts came thick and fast, with Kasper Asgreen launching the first attack straight from the flag. Riders including Ben Healy, Raúl García Pierna and Quinn Simmons were all involved in the opening salvos, but the peloton was reluctant to let anything go.
The climbing started early with the Col de la Croix de la Serra, and the rain made every descent treacherous. Mauro Schmid crashed while leading the peloton for Jayco-AlUla, and Clément Champoussin went down hard on the greasy roads too. GC riders like Max Poole and Felix Gall were briefly distanced as the bunch split on the climbs and descents.
Eventually, the elastic snapped. A strong group of thirteen riders established a lead of over two minutes. It featured Groves, along with Frank van den Broek, Jake Stewart, Roman Grégoire, Jordan Jegat, Matteo Jorgenson, Tim Wellens, Harry Sweeny, Simone Velasco, Ivan Romeo, Matteo Trentin, Pascal Eenkhoorn and Ewen Costiou. Only those with strong legs made it – by this point, riders were fighting fatigue, crashes, and the cold.
Sweeny and Jegat try long-range moves
The stage really began to take shape around 55km from the finish, when Jordan Jegat attacked on the Côte de Thésy, hoping to move up in the general classification. He was joined and then overtaken by Harry Sweeny, who launched a solo move on the descent and briefly led the race by over 40 seconds.
Sweeny’s bold effort lasted through the next categorised climb, the Côte de Longeville, but the chasers behind were gaining ground. The group of Groves, Stewart, Van den Broek, Grégoire and Eenkhoorn gradually reeled him in. Crucially, Groves was already showing surprising climbing strength, often leading the pace on the ascents despite being the fastest finisher on paper.
As they neared the top of the final climb, Romeo attacked, but crashed on the wet descent. Grégoire also went down in the same section, and Velasco was delayed. That left a leading trio of Groves, Van den Broek and Stewart heading into the final 20km.
Groves makes it stick
At 17km to go, Groves attacked decisively. Van den Broek and Stewart hesitated just long enough for the Australian to carve out a lead. Within minutes, he had 20 seconds, then 30, as the chase faltered. Behind them, a second group had formed containing Eenkhoorn, Velasco and Jegat, but they were preoccupied with the GC implications of Jegat’s move into virtual tenth overall. Cooperation was limited.
With 10km to go, Groves was still riding solo with close to a 50-second lead. He gestured in frustration toward his race radio, seemingly searching for time gap information, before his team car finally came up alongside to encourage him directly. His advantage held steady through the rolling approach to Pontarlier.
Under the flamme rouge, Groves had enough time to sit up, shake his head in disbelief, and celebrate his first ever Tour de France stage victory. It was a reward for boldness and endurance on a day where few would have expected a sprinter to win from a selective break.
Frank van den Broek finished second, 54 seconds down, and Pascal Eenkhoorn came in third.
The peloton arrived nearly five minutes after the stage winner, with Tadej Pogačar safe in yellow and no further changes at the top of the standings. It was a calm day for the favourites, but a chaotic one everywhere else.
2025 Tour de France Stage 20 result
Results powered by FirstCycling.com