Wout van Aert (Visma-Lease a Bike) soloed to a thrilling victory on stage 21(Image credit: Getty Images)
Kaden Groves won solo on stage 20 of the Tour de France(Image credit: Getty Images)
Thymen Arensman wins stage 19 at the Tour de France(Image credit: Getty Images)
(Image credit: Getty Images)
(Image credit: Getty Images)
(Image credit: Getty Images)
(Image credit: Getty Images)
Tadej Pogacar attacking to the summit of Mont Ventoux(Image credit: Getty Images)
Tim Wellens wins stage 15 of the Tour de France 2025.(Image credit: Getty Images)
Thymen Arensman wins stage 14 at the Tour de France(Image credit: Getty Images)
Tadej Pogačar of UAE Team Emirates-XRG celebrates winning stage 13 mountain time trial to extend his lead in the yellow jersey(Image credit: Getty Images)
Tadej Pogačar wins stage 12 at the Tour de France(Image credit: Getty Images)
Jonas Abrahamsen (Uno-X Mobility) won stage 11(Image credit: MARCO BERTORELLO/AFP via Getty Images)
Simon Yates (Visma-Lease a Bike) solos to the win on stage 10(Image credit: Getty Images)
Tim Merlier of Soudal-QuickStep (centre) sprints to the stage 9 win ahead of Lidl-Trek's Jonathan Milan, wearing the green jersey(Image credit: ANNE-CHRISTINE POUJOULAT/AFP via Getty Images)
Jonathan Milan (Lidl-Trek) wins stage 8 sprint wearing the green points classification jersey(Image credit: SARAH MEYSSONNIER/Pool/AFP via Getty Images)
2025 Tour de France stage 7: Tadej Pogačar claims his second victory of the race(Image credit: Getty Images)
Ben Healy (EF Education-EasyPost) celebrates on the podium after winning stage 6(Image credit: Getty Images)
2025 Tour de France stage 5: Remco Evenepoel on his way to a TT win(Image credit: Getty Images)
2025 Tour de France stage 4: Tadej Pogačar takes victory(Image credit: Getty Images)
2025 Tour de France stage 3: Tim Merlier sprints to victory(Image credit: Tim de Waele/Getty Images)
2025 Tour de France stage 2: Mathieu van der Poel celebrates the win(Image credit: Getty Images)
2025 Tour de France stage 1: Jasper Philipsen wins(Image credit: Getty Images)
The 21st stage led to a thrilling finale in Paris when race leader Tadej Pogačar (UAE Team Emirates-XRG) went on the attack on the climb on the wet cobbles up Montmartre, joining and then splitting the breakaway as they tackled the climb in front of huge and boisterous crowds. Though he did not win the stage, the Slovenian claimed his fourth overall title with over four minutes on GC on Jonas Vingegaard (Visma-Lease a Bike). Florian Lipowitz (Red Bull-BORA-hansgrohe) finished third overall.
Wout van Aert (Visma-Lease a Bike) dropped Pogačar the third and final time on the climb and soloed to victory on the Champs-Élysées. Davide Ballerin (XDS-Astana) took second ahead of Matej Mohorič (Bahrain-Victorious).
Kaden Groves (Alpecin-Deceuninck) claimed a stunning solo victory on stage 20 of the Tour de France, attacking away after a breathless fight from a 13-man breakaway 17km from the finish line in Pontarlier.
Groves was left alongside Jake Stewart (Israel-Premier Tech) and Frank van den Broek (Picnic PostNL) in the lead before he went solo just under 17km from the finish, having got in front after a crash in the lead group of six.
His gap grew all the way to the line with those behind faltering after such a tough day in wet conditions, allowing Groves to celebrate emotionally at the finish.
Thymen Arensman (Ineos Grenadiers) pulled off an exceptional performance to claim his second solo victory at the Tour de France, this time on shortened stage 19 atop the La Plagne.
Exhausted after a massive effort on the 19.4km hors categorie ascent to La Plagne, the Dutch climber collapsed into the roadside barriers after crossing the finish line just two seconds ahead of a chase group battling for the general classification.
Jonas Vingegaard (Visma-Lease a Bike) won the sprint for second place ahead of yellow jersey Tadej Pogačar (UAE Team Emirates-XRG) and fourth-place Florian Lipowitz (Red Bull-Bora-hansgrohe).
Pogačar maintained his lead in the GC standings at 4:24 ahead of Vingegaard and 11:09 ahead of Lipowitz as the race heads into the penultimate stage 20 on Saturday.
Ben O'Connor (Jayco-AlUla) overcame the pain and disappointed of two weeks of suffering at the Tour de France with a tactically brilliant ride to win atop the mighty Col de la Loze. The Australian joined the key break and then attacked in the valley, dropping Einer Rubio (Movistar) and holding off the GC chasers.
Jonas Vingegaard and his Visma-Lease a Bike teammates tried to crack Tadej Pogačar (UAE Team Emirates-XRG) but he attacked the Dane near the finish to gain some extra seconds and extend his lead to 4:26 with just one mountain stage to race.
Jonathan Milan (Lidl-Trek) took an important step towards victory in the green jersey points competition with his second sprint victory in Valence. The Italian was ahead of a lade crash that took out Biniam Girmay and slowed Tim Merlier and so was able to beat Jordi Meeus and Tobias Lund Andresen.
The GC riders were soloed by the crash but were given the same time as Milan, keeping the top-ten unchanged before the Alpine stages.
The stage to Mont Ventoux did not cause any major shifts to the Tour de France GC standings except that Tadej Pogačar put more time into rival Jonas Vingegaard, even if it was it was just two seconds. Kévin Vauquelin dropped one spot after losing touch on a stage won by Valentin-Paret-Peintre from the breakaway.
Tim Wellens (UAE Team Emirates-XRG) joined the elite club of riders who have won stages in all three Grand Tours after securing a 40km solo victory on stage 15 at the Tour de France.
The Belgian Champion attacked from the day's breakaway over the top of the final climb, Pas du Sant, and after high-fiving fans on the final straight away, crossed the finish line 1:06 ahead of runner-up and solo chaser Victor Campenaerts (Visma-Lease a Bike) and 1:36 ahead of third-placed Julian Alaphilippe (Tudor Pro Cycling) from a larger chase group in Carcassonne.
Tadej Pogačar (UAE Team Emirates-XRG) continues to lead the GC standings with 4:13 ahead of Jonas Vingegaard (Visma-Lease a Bike) and 7:53 ahead of Florian Lipowitz (Red Bull-Bora-Hansgrohe) as the race heads into the second rest day at the Tour de France.
Thymen Arensman (Ineos Grenadiers) took a solo win on the savage stage 14 summit finish of Superbagnères. He held off the sparring pair of Tadej Pogačar (UAE Team Emirates XRG) and Jonas Vingegaard (Team Visma–Lease a Bike), gifting Ineos Grenadiers a rare return to Grand Tour glory.
Pogačar extended his lead in the overall classification ahead of Vingegaard, while Remco Evenepoel (Soudal-QuickStep) abandoned the race on the Col du Tourmalet.
Race leader Tadej Pogačar (UAE Team Emirates-XRG) won the 10.9km stage 13 individual time trial to Peyragudes on Friday, his fourth stage victory of this year's Tour. The Slovenian put 36 seconds into second-placed Jonas Vingegaard (Visma-Lease a Bike) on the mountain ITT, the Dane now 4:07 back in the GC in secon overall. Primož Roglič (Red Bull-Bora-Hansgrohe) finished third on the stage at 1:20 off the winning time, and remained seventh overall.
Tadej Pogačar (UAE Team Emirates-XRG) was the strongest of the overall contenders and climbers on stage 12 at the Tour de France, as the race visited the high mountains for the first time to finish at the top of Hautacam. The World Champion attacked 12km from the top of the ascent to score a dominant solo victory and moved back into the overall race lead.
Pogačar now leads the overall classification by 3:31 ahead of Jonas Vingegaard (Visma-Lease a Bike) and 4:45 ahead of Remco Evenepoel (Soudal-QuickStep) as the race heads into stage 13 on Friday.
Jonas Abrahamsen (Uno-X Mobility) completed an amazing comeback from a broken collarbone suffered under a month ago at the Baloise Belgium Tour, winning stage 11 of the Tour de France from the day-long breakaway in Toulouse.
The Norwegian, who was one of the most combative riders last July, outpaced Mauro Schmid (Jayco-AlUla) to the finish as the pair dodged a protester on the line, while metres behind, Mathieu van der Poel (Alpecin-Deceuninck) fell just short of catching the pair with a solo 9km chase.
Simon Yates (Visma-Lease a Bike) succeeded from the breakaway to win stage 10, soloing to victory atop Le Mont-Dore after being in the early 29-man group that was slowly whittled down over eight categorised climbs. With the break building up a lead of over five minutes, third-placed Ben Healy (EF Education-EasyPost) missed out on the stage win, but took the yellow jersey from Tadej Pogačar (UAE Team Emirates-XRG).
Some GC tension kicked off on the final two climbs as Visma-Lease a Bike managed to isolate Pogačar, and he and Jonas Vingegaard went on the attack on the final climb, but ultimately they only took six seconds on the other GC rivals, and nothing on each other.
Tim Merlier (Soudal-QuickStep) timed his sprint to perfection and pipped Jonathan Milan (Lidl-Trek) at the line in Châteauroux for the stage 9 victory. The European Champion earned his second stage win of the race, so far, as the sprint teams caught and passed a 173km breakaway by Mathieu van der Poel just after the flamme rouge. Arnaud De Lie (Lotto) rounded out the podium in third place.
Van der Poel and his Alpecin-Deceuninck teammate Jonas Rickaert rode for more than three hours out front, with Rickaert earning the most combative rider prize.
Wearing the green points jersey, Jonathan Milan (Lidl-Trek) delivered a powerful sprint into Laval and won stage 8 into Laval. The Italian also celebrated his first career Tour victory, as he held off an aggressive late move by Wout van Aert (Visma-Lease a Bike) at the end of the 171.4 kilometres of racing, with Kaden Groves (Alpecin-Deceuninck) taking third.
Milan started the day in second place in the green jersey competition, led by race leader Tadej Pogačar (UAE Team Emirates-XRG), and now has full control of the classification. Pogačar finished safely in the peloton to retain the yellow jersey.
A blistering late acceleration by Tadej Pogačar (UAE Team Emirates-XRG) on the summit of the Mûr-de-Bretagne simultaneously netted the Slovenian both his nineteenth Tour stage win and a return to the top spot overall. Whilst race leader Mathieu van de Poel (Alpecin-Deceuninck) lost 1:20 and with it the maillot jaune, Jonas Vingegaard (Visma-Lease a Bike) was able to shadow Pogačar all the way to the line, the two clipping free of a shattering mini-lead peloton of less than ten riders. Pogačar's latest success and added advantage overall was overshadowed by a major crash in the closing kilometres, badly affecting one of his key domestiques, João Almeida, amongst others.
Ben Healy (EF Education-EasyPost) used a surprise attack from the day's breakaway with 42km to go to win the first Tour de France stage of his career, riding solo across the line into Vire Normandie. From the eight-man group that got away on the 201.5km stage, Mathieu van der Poel (Alpecin-Deceuninck) moved back into the leader's jersey, using his eighth-place finish to reclaim yellow from Tadej Pogačar by just one second.
Remco Evenepoel (Soudal-QuickStep) started the stage 5 time trial as the favourite, and finished it as a winner, using his Olympic and world title-winning power to take victory on the 33km course in Caen. Finishing in second, Tadej Pogačar seized the race lead, now leading the overall by 16 seconds from Evenepoel. It was a bad day for Jonas Vingegaard (Visma-Lease a Bike), who ceded over a minute to his two main rivals and dropped down to fourth overall.
Tadej Pogačar (UAE Team Emirates-XRG) sprinted to the 100th victory of his career on stage 4 of the Tour de France, outpacing race leader Mathieu van der Poel (Alpecin-Deceuninck) to the line at the end of the uphill drag into Rouen. The pair went head-to-head once again on the 5% slope to the line, with Van der Poel launching the sprint before the world champion came around the outside to nip through and take the win with a sharp finishing acceleration.
Tim Merlier (Soudal-QuickStep) took a second career stage win at the Tour de France on Monday, four years after his first, prevailing in a messy sprint. It was a photo finish between Merlier and Jonathan Milan (Lidl-Trek) in Dunkerque, at the end of a day that had been fairly calm but then descended into chaos with a number of crashes in the final 3km. Yellow jersey Mathieu van der Poel (Alpecin-Deceuninck) survived the damage to hold onto the overall lead, but his teammate Jasper Philipsen was not so lucky, crashing heavily at the intermediate sprint and having to abandon the race.
For the second day in a row, Alpecin-Deceuninck reigned supreme as Mathieu van der Poel outsprinted Tadej Pogačar (UAE Team Emirates-XRG) and Jonas Vingegaard (Visma-Lease a Bike), while for a second day in a row, too, the GC battle continued unabated. On a series of short, punchy climbs late on, 26 riders opened up a gap on the rest of the peloton, with Pogačar coming within inches of his 100th career win after trading blows with Vingegaard. While Pogačar moved into the mountains jersey lead, he, Vingegaard, Remco Evenepoel (Soudal-QuickStep) and Primož Roglič (Red Bull-Bora-Hansgrohe) all gained 30 seconds on more on the remainder of the GC contenders.
Jasper Philipsen won a reduced bunch sprint after a late echelon attack inspired by Visma-Lease a Bike left key contenders Remco Evenepoel and Primoz Roglič trailing by 39 seconds. Whilst the Alpecin-Deceuninck racer celebrated his tenth Tour stage victory and first spell in the lead, both Jonas Vingegaard and arch-rival Tadej Pogačar made gains on their GC rivals at the first day possible. Meanwhile former double World Time Trial Champion Filippo Ganna crashed badly and was forced to abandon.
(Image credit: Getty Images)
The 2025 Tour de France started in Lille with three stages in the north of France, the return of the Mûr-de-Bretagne and an early time trial in Caen featuring in the first week.
The 2025 Tour de France route includes seven stages for sprinters, six hilly stages, six mountainous days of racing and five summit finishes on Hautacam, Luchon-Superbagnères, Mont Ventoux, Courchevel Col de la Loze and La Plagne in addition to the mountain time trial from Loudenvielle to Peyragudes.
UAE Team Emirates-XRG's Joxean Fernández Matxin says 'making several changes to the schedule' will be key to maintaining world champion's interest going forward
The Giant of Provence – which hosts the queen stage of the 2026 Tour de France Femmes – can be a nightmare if you don't prepare, so here are some tips to turn the beast into a good memory
From Tadej Pogačar's refinement of his domination of Jonas Vingegaard to the worst Spanish Tour in nearly half a century, here's what we found out in this year's Grand Boucle