The 2025 Tour de France was the 112th edition of the Tour de France. It started in Lille on 5 July, and finished with the final stage at Champs-Élysées, Paris, on 27 July.

Classification standings

Legend Denotes the leader of the general classification Denotes the leader of the mountains classification Denotes the leader of the points classification Denotes the leader of the young rider classification Denotes the leader of the team classification Denotes the winner of the combativity award

Stage 1 5 July 2025 – Lille to Lille,

The race began with a flat stage around Lille (the Grand Départ location for the 2025 Tour), offering the sprinters an opportunity to take the first yellow jersey. There were three fourth-category climbs scattered on the route which decided the first wearer of the polka dot jersey as leader of the mountains classification. Due to the high wind speeds, there was a risk of the peloton splitting into echelons.

As the flag dropped to mark the official start of the race, five riders immediately broke away from the peloton. The break included Jonas Rutsch (), Bruno Armirail (), Mathis Le Berre (), Benjamin Thomas (), and Mattéo Vercher (). then went to the front to keep the break's lead at around two and a half minutes. As the race approached the intermediate sprint with left, the pace in the peloton picked up, catching the break ahead of the intermediate sprint, where Jonathan Milan () took maximum points. Afterwards, two members of the original breakaway, Thomas and Vercher, attacked to form another break. Thomas took maximum points at the first two fourth-category climbs to become the first holder of the polka dot jersey. As he took the point at the second climb of the day, Thomas crashed and took Vercher down with him. Both riders were soon caught by the peloton following the crash.

With to go, hit the front on a crosswind section, successfully splitting the peloton. 40 riders made the front split, including Tadej Pogačar () and Jonas Vingegaard (), who were the most notable general classification (GC) contenders who made the front split while Jasper Philipsen () and Biniam Girmay () were the most notable sprinters in the front group. Despite the best efforts of the chasing peloton, the front group gradually extended their lead over the chasers to the finish. Inside the last , Ben O'Connor () and Marijn van den Berg () crashed in the front group but they were credited with the same time due to the five kilometre rule. In the final sprint, with three of their leadout riders also making the front split, delivered a perfect leadout for Philipsen, who won the stage comfortably ahead of Girmay to take the first yellow jersey. The chasing peloton, which included Remco Evenepoel () and Primož Roglič (), lost 39 seconds to the front group.

Two contenders for the stage 5 time trial, Filippo Ganna () and Stefan Bissegger (), crashed at separate times during the stage. They both suffered concussions and had to withdraw from the race.

Stage 2 6 July 2025 – Lauwin-Planque to Boulogne-sur-Mer, The second stage was the longest of the race at in length, taking the riders westwards towards the Côte d'Opale, to a finish at Boulogne-sur-Mer. The hilly stage had four categorized climbs, with three climbs occurring in the last . Inside the last , the riders tackled the Côte de Saint-Étienne-au-Mont (1 km at 10.6%), immediately followed by the Côte d'Outreau (800 m at 8.8%), which topped at to go. The last was on a 3.8% uphill drag.

The start of the stage was delayed by 15 minutes due to the weather conditions and traffic issues, which delayed some teams to the sign-on. A four-man group composed of Bruno Armirail (), Brent Van Moer (), Yevgeniy Fedorov (), and Andreas Leknessund () managed to break away after a few kilometres. and took control of the peloton, keeping the gap at around two and a half minutes. In the break, with left, Fedorov and Leknessund crashed on slippery roads, but they were quickly able to rejoin the break. At the intermediate sprint from the finish, after the break took the top four positions, Jonathan Milan () took fifth ahead of Tim Merlier (). Milan was visibly angry at Biniam Girmay () after the sprint but he eventually apologized to Girmay after the stage. The breakaway was caught shortly after.

On the Côte du Haut Pichot with around left, the peloton split due to a crash but the second part of the peloton quickly closed the gap. As the riders tackled the Côte de Saint-Étienne-au-Mont, and took control with Lewis Askey and Tiesj Benoot, respectively, before Matteo Jorgenson () paced the latter part of the climb. The front group was reduced to just seven riders, including the three pre-race favorites of Pogačar, Vingegaard, and Evenepoel, as well as Mathieu van der Poel (), who was the stage favorite. On the Côte d'Outreau, more riders managed to come back to the front group. Following the climb, Vingegaard launched an attack but he was unable to get a gap. There was also a counter-attack by Kévin Vauquelin (), Alexey Lutsenko (), and Jorgenson but they were brought back by João Almeida (), who was setting up Pogačar for the stage. Before the final kilometre, an attack by Florian Lipowitz () was also brought back by Almeida, setting up a small bunch sprint for the stage win. Van der Poel led out the sprint early but he was able to hold off Pogačar to win his second Tour stage. Vingegaard took third to take the final bonus seconds available at the line. In the , van der Poel took the yellow jersey from his teammate, Philipsen, who lost 31 seconds. Pogačar moved up to second at four seconds down followed by Vingegaard, who was a further two seconds behind.

Stage 3 7 July 2025 – Valenciennes to Dunkirk,

The third stage remained in Hauts-de-France, heading north from Valenciennes towards Dunkirk over a flat route. The only climb on the day was the fourth-category cobbled climb of Mont Cassel (2.3 km at 3.8%), which topped at around left.

With only one late climb on the parcours, no riders were willing to go into the break. The stage was mostly uneventful until the intermediate sprint, where Jonathan Milan () took maximum points. However, Jasper Philipsen (the leader of the points classification) went down heavily during the sprint after Bryan Coquard () lost control of his bike due to a touch of wheels. Philipsen was forced to abandon the race; after the stage, his team announced that he suffered a displaced fracture of the right collarbone as well as broken ribs. As the riders approached the only categorized climb of the day, Tim Wellens () soloed off the front of the peloton to take the solitary KOM point, moving into the lead of the mountains classification ahead of his teammate, Tadej Pogačar. The final was marred by several crashes, the first of which involved notable riders such as Evenepoel and sprinter Jordi Meeus (); all riders involved managed to finish the stage but some riders such as Meeus suffered abrasions.

In the run up to the finish line, Danny van Poppel () was relegated for a dangerous move that caused the crash of several riders such as Davide Ballerini () and Emilien Jeannière (). The final sprint was won by Tim Merlier () in a photo finish with Milan. All 181 finishers were credited with the same time, resulting in only minor changes in the general classification. Milan took the green jersey of the points classification. No rider was awarded the combativity award, with media noting that "nothing noteworthy occurred during 99% of the [stage]".

Stage 4 8 July 2025 – Amiens to Rouen,

The fourth stage started in Amiens, before heading across the plains of Picardy towards Rouen in Normandy. Considered a hilly stage, the stage had five categorized climbs, all of which took place in the last of the stage. The third-category climb of Rampe Saint-Hilaire (800m at 10.6%) was located just from the finish in Rouen.

Three riders, Lenny Martinez (), Thomas Gachignard (), and Jonas Abrahamsen () immediately broke away before eventually being joined by Kasper Asgreen (). The break's gap stabilized at around two minutes with controlling the gap for the yellow jersey, Mathieu van der Poel. As the race approached the categorized climbs in the last , the pace in the peloton picked up. There were a few crashes in the peloton but no riders were seriously injured. The break fragmented over the series of short climbs until Martinez was left alone at the front. He would eventually be caught with to go as started to keep the pace high at the front of the peloton as they entered the city of Rouen.

Just as the riders went over the top of the Côte de la Grand’Mare, the penultimate climb of the day, took control of the race, leading the peloton to the foot of the final climb, Rampe Saint-Hilaire. Jhonatan Narváez and João Almeida () soon began their leadout before Tadej Pogačar launched his attack. Jonas Vingegaard () immediately responded to the attack and although he was briefly dropped, Vingegaard made it back to Pogačar's wheel at the top of the climb. A group containing Remco Evenepoel (), Oscar Onley (), Matteo Jorgenson (), van der Poel, and Almeida caught the pair on the descent, with Romain Grégoire () also catching up a few minutes later. Jorgenson and Evenepoel launched counter-attacks but they were closed down by Almeida, who soon began his leadout inside the final kilometre. Van der Poel launched his sprint first, but unlike in stage 2, Pogačar was able to come around him to win the stage, taking his 100th career victory in the process. Van der Poel narrowly beat Vingegaard for second while Evenepoel and Jorgenson lost a few seconds on the line. A group containing Primož Roglič () finished around half a minute down. In the , despite being on the same time as Pogačar, van der Poel kept the yellow jersey by virtue of a smaller sum of stage positions across the four stages. Vingegaard retained third, at eight seconds down, ahead of the crucial individual time trial on stage 5.

Stage 5 9 July 2025 – Caen to Caen,

The first of two individual time trials on the 2025 Tour took place in Caen in Normandy, over a route on wide, flat roads. There were three intermediate time checks on the course, located after , , and . Prior to the stage Emilien Jeannière withdrew from the tour; it transpired that he had completed stage 4 with a broken shoulder blade after a crash in stage 3. Jasper De Buyst also withdrew due to illness.Rider quits Tour de France after cycling 174km with fractured shoulder

The earliest benchmark time was set by Pablo Castrillo (), who finished with a time of exactly 38 minutes, which was good enough for tenth on the day. His time was quickly bettered by his teammate, Iván Romeo, who finished 16 seconds better than Castrillo. Luke Plapp () seemed to threaten Romeo's time when he set the overall fastest time at the first two time checks but he eventually set a time of 37' 59", 15 seconds slower than Romeo. Eventually, a rider who sat in the hot seat for much of the day was Edoardo Affini (), the current European time trial champion. Although he was not the fastest rider at the first two time checks, Affini sped up towards the end to set a time of 37' 15". Bruno Armirail () came close to beating Affini's time but he eventually fell short by two seconds.