# 2021 Tour de France

The 2021 Tour de France was the 108th edition of the Tour de France, one of cycling's three grand tours. Originally planned for the Danish capital of Copenhagen, the start of the 2021 Tour (known as the Grand Départ) was transferred to Brest because of the COVID-19 pandemic, with Copenhagen hosting four matches in the UEFA Euro 2020, which had also been rescheduled to 2021 because of the pandemic. Originally scheduled for 2 to 25 July 2021, the Tour was moved to 26 June to 18 July 2021 to avoid the rescheduled 2020 Summer Olympics. This would have been the first occasion on which the Tour de France had visited Denmark. Denmark instead hosted the Grand Départ in 2022.
The race was won for the second consecutive year by Tadej Pogačar of UAE Team Emirates, becoming the youngest rider to win the Tour twice. Pogačar began to build his advantage with his win in the stage 5 time trial. He first took the maillot jaune on stage 8, when he gained almost three and a half minutes on the other contenders after attacking on the penultimate climb of the Col de Romme. He gained another half minute the next day on the summit finish to Tignes. Pogačar rode defensively in the second week before winning both mountaintop finishes at Col de Portet and Luz Ardiden in the third week. He won by 5' 20" over Jonas Vingegaard of Team Jumbo–Visma. Vingegaard was originally supposed to be a domestique for his team's original leader, Primož Roglič. After Roglič's crash and eventual abandon, Vingegaard became the team's leader and rode into form in the second week. He managed to finish second on both mountaintop finishes in the third week before finishing third in the final time trial. Third place went to Richard Carapaz of Ineos Grenadiers, becoming the first Ecuadorian to finish on the podium in the Tour. He emerged as one of the three strongest climbers in the race, along with Pogačar and Vingegaard, before eventually finishing third on both summit finishes in the final week.
In the race's other classifications, Mark Cavendish of Deceuninck–Quick-Step won the points classification for the second time in his career. Cavendish took the green jersey after winning his first Tour stage since 2016 on stage 4. He proceeded to win three more stages to equal Eddy Merckx's record for the most career Tour stage wins. Aside from winning the maillot jaune, Pogačar also won the mountains and young rider classifications for the second successive year. He clinched the win in the mountains classification after his back-to-back wins in the third week, adding 80 points to his tally as both stages' final climbs offered double points. He took the lead in the young rider classification after the first stage and held on to the lead until the end of the race. Team Bahrain Victorious won the team classification while Franck Bonnamour of B&B Hotels p/b KTM won the race's overall combativity award after being involved in several breakaways.

## Route

The route for the 2021 Tour de France was announced by Christian Prudhomme on 1 November 2020, during France Télévisions' Stade 2 programme. The race covered a distance of 3,414 kilometres (2,121 miles), and saw its longest stage since the 2000 Tour de France, with 249.1 kilometres (154.8 miles) on stage seven.

## Teams

23 teams took part in the 2021 Tour de France. All 19 UCI WorldTeams were entitled and obliged to enter the race, and they were joined by four second-tier UCI ProTeams. Alpecin–Fenix, the best performing UCI ProTeam in 2020, received an automatic invitation, while the other three teams were selected by Amaury Sport Organisation (ASO), the organisers of the Tour. The teams were announced on 4 February 2021. Usually, only twenty-two teams would participate in the race, but for the 2021 season, the Union Cycliste Internationale is allowing the total number of riders to increase from the normal 176 to 184. With team sizes still set at eight riders, the decision allows grand tour organizers to invite one extra wildcard team.

### UCI WorldTeams

* AG2R Citroën Team
* Astana–Premier Tech
* Bora–Hansgrohe
* Cofidis
* Deceuninck–Quick-Step
* EF Education–Nippo
* Groupama–FDJ
* Ineos Grenadiers
* Intermarché–Wanty–Gobert Matériaux
* Israel Start-Up Nation
* Lotto–Soudal
* Movistar Team
* Team Bahrain Victorious
* Team BikeExchange
* Team DSM
* Team Jumbo–Visma
* Team Qhubeka NextHash
* Trek–Segafredo
* UAE Team Emirates

### UCI ProTeams

* Alpecin–Fenix
* Arkéa–Samsic
* B&B Hotels p/b KTM
* Team TotalEnergies

## Pre-race favourites

In the lead up to the 2021 Tour de France, Tadej Pogačar (UAE Team Emirates) and Primož Roglič (Team Jumbo–Visma) were seen by many pundits as the top pre-race favourites for the general classification. Their closest rivals were considered to be the trio of Geraint Thomas, Richard Carapaz and Richie Porte from Ineos Grenadiers.
Pogačar was the defending champion and came into the 2021 edition with a successful start to the season, winning the overall classification at Tirreno–Adriatico and the Tour of Slovenia, finishing third at the Tour of the Basque Country, and winning his first Monument at Liège–Bastogne–Liège. After finishing as the Tour runner-up to Pogačar in 2020, Roglič went on to defend his overall title at the 2020 Vuelta a España. In 2021, Roglič finished fifteenth at Paris–Nice before claiming the overall classification at the Tour of the Basque Country. Thomas, the 2018 Tour champion, won the Tour de Romandie before finishing third overall in the lead-up Critérium du Dauphiné which was won by his teammate Porte. Their teammate Carapaz, the 2019 Giro d'Italia champion, won the other lead-up race, the Tour de Suisse.
The other riders considered contenders for the general classification were Rigoberto Urán (EF Education–Nippo), Movistar Team duo Enric Mas and Miguel Ángel López, French riders Julian Alaphilippe (Deceuninck–Quick-Step), Guillaume Martin (Cofidis) and David Gaudu (Groupama–FDJ), 2020 Giro d'Italia champion Tao Geoghegan Hart (Ineos Grenadiers) and fellow podium finisher Wilco Kelderman (Bora–Hansgrohe).
The sprinters considered favourites for the points classification and wins on the flat or hilly bunch sprint finishes were seven-time green jersey winner Peter Sagan (Bora–Hansgrohe), Caleb Ewan (Lotto–Soudal), Arnaud Démare (Groupama–FDJ), Tim Merlier and Mathieu van der Poel (Alpecin–Fenix), Wout van Aert (Team Jumbo–Visma), Sonny Colbrelli (Team Bahrain Victorious), Michael Matthews (Team BikeExchange) and Mark Cavendish, who was a late replacement for the injured defending champion Sam Bennett at Deceuninck–Quick-Step.

## Route and stages

Stage characteristics :
| Stage | Date | Course | Distance | Type | Type | Winner |
| 1 | 26 June | Brest to Landerneau | 197.8 km (122.9 mi) | | Hilly stage | Julian Alaphilippe (FRA) |
| 2 | 27 June | Perros-Guirec to Mûr-de-Bretagne (Guerlédan) | 183.5 km (114.0 mi) | | Medium-mountain stage | Mathieu van der Poel (NED) |
| 3 | 28 June | Lorient to Pontivy | 182.9 km (113.6 mi) | | Flat stage | Tim Merlier (BEL) |
| 4 | 29 June | Redon to Fougères | 150.4 km (93.5 mi) | | Flat stage | Mark Cavendish (GBR) |
| 5 | 30 June | Changé to Laval | 27.2 km (16.9 mi) | | Individual time trial | Tadej Pogačar (SLO) |
| 6 | 1 July | Tours to Châteauroux | 160.6 km (99.8 mi) | | Flat stage | Mark Cavendish (GBR) |
| 7 | 2 July | Vierzon to Le Creusot | 249.1 km (154.8 mi) | | Medium-mountain stage | Matej Mohorič (SLO) |
| 8 | 3 July | Oyonnax to Le Grand-Bornand | 150.8 km (93.7 mi) | | Mountain stage | Dylan Teuns (BEL) |
| 9 | 4 July | Cluses to Tignes | 144.9 km (90.0 mi) | | Mountain stage | Ben O'Connor (AUS) |
| | 5 July | Tignes | Rest day | Rest day | Rest day | Rest day |
| 10 | 6 July | Albertville to Valence | 190.7 km (118.5 mi) | | Flat stage | Mark Cavendish (GBR) |
| 11 | 7 July | Sorgues to Malaucène | 198.9 km (123.6 mi) | | Mountain stage | Wout van Aert (BEL) |
| 12 | 8 July | Saint-Paul-Trois-Châteaux to Nîmes | 159.4 km (99.0 mi) | | Flat stage | Nils Politt (GER) |
| 13 | 9 July | Nîmes to Carcassonne | 219.9 km (136.6 mi) | | Flat stage | Mark Cavendish (GBR) |
| 14 | 10 July | Carcassonne to Quillan | 183.7 km (114.1 mi) | | Medium-mountain stage | Bauke Mollema (NED) |
| 15 | 11 July | Céret to Andorra la Vella (Andorra) | 191.3 km (118.9 mi) | | Mountain stage | Sepp Kuss (USA) |
| | 12 July | Andorra la Vella (Andorra) | Rest day | Rest day | Rest day | Rest day |
| 16 | 13 July | El Pas de la Casa (Andorra) to Saint-Gaudens | 169 km (105 mi) | | Medium-mountain stage | Patrick Konrad (AUT) |
| 17 | 14 July | Muret to Saint-Lary-Soulan (Col de Portet) | 178.4 km (110.9 mi) | | Mountain stage | Tadej Pogačar (SLO) |
| 18 | 15 July | Pau to Luz Ardiden | 129.7 km (80.6 mi) | | Mountain stage | Tadej Pogačar (SLO) |
| 19 | 16 July | Mourenx to Libourne | 207 km (129 mi) | | Flat stage | Matej Mohorič (SLO) |
| 20 | 17 July | Libourne to Saint-Émilion | 30.8 km (19.1 mi) | | Individual time trial | Wout van Aert (BEL) |
| 21 | 18 July | Chatou to Paris (Champs-Élysées) | 108.4 km (67.4 mi) | | Flat stage | Wout van Aert (BEL) |
| Total | Total | Total | 3,414.4 km (2,121.6 mi) | 3,414.4 km (2,121.6 mi) | 3,414.4 km (2,121.6 mi) | 3,414.4 km (2,121.6 mi) |

## Race overview
### First week: Brittany to Alps

The first stage featured a hilly course from Brest to Landerneau, with the finish situated atop the climb of Côte de la Fosse aux Loups. A group of six broke away from the peloton, taking a lead of four minutes before Ide Schelling (Bora–Hansgrohe) attacked on the fourth climb of the day, the Côte de Stang ar Garront. The rest of the break were caught before the intermediate sprint, where Schelling took maximum points before Caleb Ewan (Lotto–Soudal) outsprinted Peter Sagan (Bora–Hansgrohe) for second. With 45 kilometres (28 mi) to go, time trial ace Tony Martin (Team Jumbo–Visma) was brought down by a spectator who was holding a sign greeting her grandparents for TV cameras facing forward, and therefore unaware of the incoming peloton. Triggered by the fall of Tony Martin, over 50 cyclists (most of the entire Stage 1 lineup) tripped over each other and crashed over the road, forming a massive pile-up that completely blocked the path for the ones at the back who didn't fall down. Of the remaining ones that finished Schelling was caught with 27 kilometres (17 mi) left, but the KOM points he gained ensured that he wore the polka-dot jersey at the end of the day. With 7.5 kilometres (4.7 mi) to go, a touch of wheels caused another massive crash, delaying some GC contenders and causing them to lose minutes. On the final climb, Julian Alaphilippe (Deceuninck–Quick-Step) attacked and immediately created a gap over the rest of the peloton. He kept his advantage all the way to the line, winning the stage and taking the maillot jaune and the green jersey.
The second stage featured another uphill finish as the riders climbed the Mûr-de-Bretagne twice. Six riders broke away from the peloton, building an advantage of four minutes before Deceuninck–Quick-Step began to chase the break. On the third climb of the day, Edward Theuns (Trek–Segafredo) attacked from the break, with Jérémy Cabot (Team TotalEnergies) the only other rider to respond to his attack. Both riders were eventually caught ahead of the first passage of the Mûr-de-Bretagne. Mathieu van der Poel (Alpecin–Fenix) attacked from the peloton, allowing him to gain eight bonus seconds before being caught on the descent. On the second ascent of Mûr-de-Bretagne, van der Poel attacked again just inside the flamme rouge. He maintained his advantage to the line, winning the stage by six seconds over Tadej Pogačar (UAE Team Emirates) and Primož Roglič (Team Jumbo–Visma). Geraint Thomas (Ineos Grenadiers) was gapped on the climb, finishing 17 seconds behind the two Slovenians. As a result of his gap and bonus seconds, van der Poel took the maillot jaune as well as the polka-dot jersey.
The third stage featured the first opportunity for the sprinters to come to the fore. The break included five riders, leading by as much as three minutes before being chased. 37 kilometres (23 mi) into the stage, a crash in the peloton brought down Geraint Thomas (Ineos Grenadiers) and Robert Gesink (Team Jumbo–Visma), with the latter eventually having to abandon the race. Thomas suffered a dislocated shoulder but he managed to continue and eventually made it back to the peloton. With 10 kilometres (6.2 mi) to go, Roglič crashed in the peloton, suffering from road rashes on the left side of his body. Another crash took place with 5 kilometres (3.1 mi) to go, causing Jack Haig (Team Bahrain Victorious), who sat in sixth place on the GC, to abandon the race. The crash also held up some contenders, including Pogačar. On the final sprint to the line, Ewan went down following a touch of wheels, also taking down Peter Sagan (Bora–Hansgrohe) in the process. Ewan had to abandon the race while Sagan was able to finish the stage. In the aftermath, Tim Merlier (Alpecin–Fenix) won the sprint ahead of his teammate, Jasper Philipsen. Van der Poel escaped the crashes to retain the maillot jaune while Richard Carapaz (Ineos Grenadiers) also finished in the front group. Pogačar's group lost 26 seconds while Roglič lost almost a minute and a half. The crashes led to the peloton staging a brief protest before the start of the next stage. The fourth stage featured another sprint stage, with the break featuring Brent Van Moer (Lotto–Soudal) and Pierre-Luc Périchon (Cofidis). Van Moer dropped Périchon with 15 kilometres (9.3 mi) left and still led by a minute with 7.5 kilometres (4.7 mi) to go. Van Moer would be caught near the finish, where Mark Cavendish (Deceuninck–Quick-Step) outsprinted Nacer Bouhanni (Arkéa–Samsic) to win his first Tour stage since 2016. Cavendish took the green jersey while the GC remained unchanged ahead of the first time trial.
The fifth stage featured a 27.2-kilometre (16.9 mi) individual time trial. Mikkel Bjerg (UAE Team Emirates) set the early benchmark time of 33' 01" before being beaten by Mattia Cattaneo (Deceuninck–Quick-Step), who was six seconds faster than Bjerg. Cattaneo was immediately beaten by Stefan Küng (Groupama–FDJ), who set a time of 32' 19". His time stood at the top until Pogačar set the quickest time at both time checks before beating Küng's time by 19 seconds. Pogačar kept the lead to win the stage and taking significant time from the other contenders. The maillot jaune, van der Poel, took fifth place, 31 seconds behind Pogačar, to keep the race lead by eight seconds over the Slovenian. The sixth stage featured another chance for the sprinters, where Cavendish outsprinted Philipsen to win his second stage of the race and his 32nd overall Tour stage win.
The seventh stage featured the longest stage of the race with a 249.1-kilometre (154.8 mi) course from Vierzon to Le Creusot. A large 29-man break, including van der Poel and Wout van Aert (Team Jumbo–Visma), went away with 200 kilometres (120 mi) to go. UAE Team Emirates tried to chase down the break but gap continued to gradually increase to more than six minutes. With around 87.5 kilometres (54.4 mi) to go, Matej Mohorič (Team Bahrain Victorious) attacked from the break together with Van Moer. They would be joined by other riders before Mohorič soloed off the front on the steepest climb of the day, the Signal d'Uchon. He managed to keep his lead to win the stage by 1' 20" over Jasper Stuyven (Trek–Segafredo) as well as taking the polka-dot jersey. Van der Poel and van Aert finished in the third group at 20 seconds further in arrears as van der Poel kept the maillot jaune. In the peloton, Roglič began to struggle on the climb of Signal d'Uchon, eventually losing more than three minutes to the other contenders. Near the top, Carapaz attacked while Pogačar did not respond to the move. He led by as much as 40 seconds before Movistar Team chased him down, eventually catching him at the finish.

### Second week: The Alps to Andorra

The race went into the Alps on the eighth stage, with the riders tackling three first-category climbs before a descent into Le Grand-Bornand. At the start of the stage, Roglič and Thomas were unable to follow the pace, eventually conceding more than 35 minutes and ending their chances for Tour victory. A break was soon established with 77 kilometres (48 mi) to go. Just before the second category-one climb of Col de Romme, the Team DSM duo of Søren Kragh Andersen and Tiesj Benoot attacked from the break. They were soon passed by Michael Woods (Israel Start-Up Nation), who led by a minute over the chase group. In the peloton, van der Poel began to struggle on the Col de Romme as UAE Team Emirates started to set a furious pace. Four kilometres to the top of the Romme, Pogačar launched an attack, and only Carapaz could follow. Pogačar launched another acceleration a few seconds later, dropping Carapaz and gradually building his gap over the other contenders. Up front, on the final climb of Col de la Colombière, Woods started to fade and he was soon caught and dropped by Dylan Teuns (Team Bahrain Victorious). From behind, Pogačar passed the remnants of the breakaway and he came to within 15 seconds of catching Teuns at the top of the Colombière. Pogačar avoided taking risks on the descent, allowing Teuns to increase his advantage. Teuns held on to win the stage while Pogačar gained almost three and a half minutes on the other contenders. As a result, Pogačar took the maillot jaune, almost two minutes ahead of van Aert and almost five minutes ahead of the other contenders.
Stage nine featured the race's first mountaintop finish as the riders headed to Tignes. Before the start of the stage, Roglič and van der Poel announced their abandonment from the race. A large 41-man break attacked while the peloton allowed them an advantage of more than eight minutes. Three riders eventually emerged as the strongest in the break, with Ben O'Connor (AG2R Citroën Team), Sergio Higuita (EF Education–Nippo), and Nairo Quintana (Arkéa–Samsic) were left at the front of the race as they began the final climb of Monteé de Tignes. O'Connor soon dropped both Quintana and Higuita, who both faded on the rest of the climb. O'Connor eventually soloed to the stage win by more than five minutes ahead. In the peloton, UAE Team Emirates controlled for much of the day before Ineos Grenadiers took over on the final climb. With around 2 kilometres (1.2 mi) to the top of the climb, Carapaz attacked, with Pogačar immediately responding. Shortly afterwards, Pogačar accelerated himself, dropping all his rivals and gaining 32 seconds over a group containing Carapaz, Jonas Vingegaard (Team Jumbo–Visma), Enric Mas (Movistar Team), and Rigoberto Urán (EF Education–Nippo). In the GC, Pogačar held a lead of more than two minutes over O'Connor while the rest of the contenders were more than five minutes behind. Van Aert, who sat in second at the start of the day, lost more than 31 minutes on the stage.
The first day after the rest day offered another chance for the sprinters. Hugo Houle (Astana–Premier Tech) and Tosh Van der Sande (Lotto–Soudal) established the day's main breakaway, but both riders were caught with around 36 kilometres (22 mi) to go. Several teams attempted to split the peloton in the crosswinds but no contenders were caught out. In the final sprint, Deceuninck–Quick-Step perfectly led out Cavendish for his third stage win and his 33rd career Tour stage win.
The race headed back into the mountains on the eleventh stage, with the riders tackling the Mont Ventoux twice before a descent into Malaucène. Two separate groups broke away from the peloton, with second group eventually joining the riders up front. On the first ascent of the Ventoux, Alaphilippe led an attack that split the break into two. At the bottom of the second ascent of the Ventoux, Kenny Elissonde (Trek–Segafredo) attacked the break while a chase group composed of Alaphilippe, van Aert, and Bauke Mollema (Trek–Segafredo) formed behind. Van Aert soon bridged up to Elissonde before dropping him while Mollema dropped Alaphilippe. Van Aert gradually built his advantage to solo to the stage win. From behind, Ineos Grenadiers controlled the peloton for much of the day. At the bottom of the second ascent of the Ventoux, O'Connor began to struggle, eventually losing more than four minutes on the day. Ineos Grenadiers continued to splinter the GC group until Vingegaard attacked 2 kilometres (1.2 mi) from the top. Pogačar followed his move before getting dropped by the Dane shortly afterwards. Vingegaard led by almost 40 seconds at the top while Pogačar, Carapaz, and Urán joined on the descent. The trio managed to work together to bring back Vingegaard near the flamme rouge. In the GC, Pogačar's advantage over second place increased to more than five minutes as Urán moved up to second.
The twelfth and thirteenth stage featured chances for the sprinters. In stage 12, several teams attempted to split the race into echelons at the start of the stage, with the peloton splitting into three groups. A group of 13 soon went off the front while the peloton eased off and allowed the two other groups to rejoin the main peloton. No teams took up the chase as the break continued to extend their advantage. With 50 kilometres (31 mi) to go, Nils Politt (Bora–Hansgrohe) started the attacks but he was chased down. A few kilometres later, Politt attacked again, this time with Küng, Harry Sweeny (Lotto–Soudal), and Imanol Erviti (Movistar Team). Politt emerged as the strongest from the break, dropping his companions to solo to the stage win. The peloton finished around 16 minutes down. Stage 13 featured another threat of crosswinds in the final part of the course but the winds were not strong enough to form echelons. With 62 kilometres (39 mi) to go, a crash on a descent took out several riders at the back of the peloton, with other riders also falling down a small ravine. No riders were seriously hurt but the crash led to several abandons. In a messy sprint to the line, Michael Mørkøv (Deceuninck–Quick-Step) led out Cavendish, who won his fourth stage of the race. His 34th career Tour win meant that he tied Eddy Merckx's record for the most number of Tour stage wins.
The fourteenth stage featured a transition stage as the race began to head into Andorra and the Pyrenees. It would take almost 100 kilometres (62 mi) for a breakaway to be fully established. A 14-man break went off the front of the peloton, including Woods and Wout Poels (Team Bahrain Victorious) who were vying for the polka-dot jersey. The break also included Guillaume Martin (Cofidis), who started the day in ninth place on the GC. On one of the descents, Woods slid out on a bend but he managed to rejoin the break. With 42 kilometres (26 mi) to go and still on the descent, Mollema attacked off the front. He gained an advantage of more than a minute over his breakaway companions ahead of the final climb of the Col de Saint-Louis. He maintained his advantage to solo to the stage win. Woods took the polka-dot jersey from Quintana while Martin moved up to second overall. Mattia Cattaneo (Deceuninck–Quick-Step) also took enough time to move into the top ten. The other contenders remained together in preparation of the mountainous stage to Andorra.
In the fifteenth stage, the race headed to Andorra and passing over the Port d'Envalira, the highest point in the race. A large 32-rider group broke away from the peloton, eventually extending their advantage to around 10 minutes. The break included Woods, Poels, van Aert, and Quintana, who were all battling for the KOM competition. Woods and Poels were both neck and neck at the top before Poels soon took the lead to take the polka-dot jersey. Near the top of the Port d'Envalira, Quintana attacked to take the Souvenir Henri Desgrange, given to the first rider across the highest point in the Tour. Quintana would be caught on the descent. On the last climb of the day, the Col de Beixalis, Sepp Kuss (Team Jumbo–Visma) launched his move 5 kilometres (3.1 mi) from the top. Only Alejandro Valverde (Movistar Team) was able to follow his move before he began to struggle following Kuss. Kuss managed to hold off Valverde to win the stage. In the peloton, Martin and Cattaneo, two riders in the top ten of the GC, were distanced on the descent of the Envalira. On the climb of the Beixalis, several contenders attempted to attack but the other contenders were able to follow each time. The GC group finished around five minutes down on Kuss. Alexey Lutsenko (Astana–Premier Tech), who was seventh on GC, lost 29 seconds while Martin and Cattaneo conceded four and five minutes, respectively. Pogačar retained a lead of more than five minutes to keep the maillot jaune ahead of the second rest day.

### Third week: Pyrenees to finale in Paris

The sixteenth stage of the race was another transition stage as the race headed into the Pyrenees. Much like stage 14, it took a while before a break formed before a trio of riders built a gap after the first climb. An 11-man chase group formed just before the intermediate sprint with the peloton letting them go. On the second climb of Col de la Core, Patrick Konrad (Bora–Hansgrohe) bridged up from the chase group to the trio up front before eventually attacking solo from the third climb of the day, the Col de Portet-d'Aspet. He soloed the rest of the day to win his team's second stage, 42 seconds ahead of Sonny Colbrelli (Team Bahrain Victorious). The peloton enjoyed a quiet day but Cofidis and van Aert instigated an attack on the Côte d'Aspret-Sarrat, causing a split in the peloton; however, all the contenders made it to the front group and all of them finished together.
The seventeenth stage featured the first of two consecutive summit finishes as the riders tackled two first-category climbs and the hors catégorie Col de Portet in the final 62.5 kilometres (38.8 mi). On Bastille Day, French riders composed four of the six riders in the break, gaining an advantage of more than eight minutes. Two riders, Anthony Perez (Cofidis) and Dorian Godon (AG2R Citroën Team), proved themselves as the strongest from the break as the duo led by four minutes heading into the final climb, the Col du Portet. Perez dropped Godon further up the climb, but UAE Team Emirates chased him down. With 8.5 kilometres (5.3 mi) to go, Pogačar attacked, catching Perez and bringing some of the contenders with him. He launched another acceleration a few moments later and this time, only Vingegaard and Carapaz could follow him. Pogačar and Vingegaard worked together while Carapaz sat in their wheels. Near the flamme rouge, Carapaz launched his move, dropping Vingegaard while Pogačar immediately went to his wheel. Vingegaard slowly made his way back to set up a sprint for the win. With 100 metres (330 ft) to go, Pogačar made his move, distancing his companions to win his second stage of the race. Vingegaard finished three seconds behind and one second ahead of Carapaz. The other contenders lost at least a minute and a half to the trio, who comprised the GC podium at the end of the day.
The next day was the final day in the mountains, with the riders tackling the Col du Tourmalet before a summit finish at Luz Ardiden. A break immediately formed at the start but they were not allowed to build a lead of more than two minutes. As the Tourmalet started, several riders bridged up to the break up front while the Ineos Grenadiers controlled the peloton and kept the break in check. From behind, Urán began to struggle, eventually losing nine minutes on the day. At the top of the Tourmalet, only two riders were left at the front as David Gaudu (Groupama–FDJ) and Pierre Latour (Team TotalEnergies) led by around half a minute ahead of a chase group composed of Poels and Woods. Gaudu pushed on the descent while the peloton swept up the remnants of the break. 9 kilometres (5.6 mi) from the top of Luz Ardiden, Gaudu was caught. With 3.3 kilometres (2.1 mi) left, Pogačar launched his attack, followed by Vingegaard, Carapaz, Mas, and Kuss. Inside the final kilometre, Mas attacked twice but he would be caught both times. After catching Mas a second time, Pogačar pushed on, eventually taking his second successive stage win. Vingegaard and Carapaz finished two seconds down while the other contenders lost between half a minute to a minute. Pogačar also took the polka-dot jersey after acquiring 80 points with his two consecutive stage wins.
The nineteenth stage featured a flat parcours. Two crashes took place at the start of the stage but no riders were seriously hurt. Only six riders comprised the break before being joined by 14 other riders with 100 kilometres (62 mi) to go. The peloton chased hard but the break gradually increased their advantage before the peloton called off the chase. The attacks started with 45 kilometres (28 mi) left before Mohorič went away with 25 kilometres (16 mi) to go. The chase group were not able to work together as Mohorič slowly built his gap. Mohorič soloed to his second stage win while the peloton crossed the line 21 minutes down. The GC remained unchanged ahead of the final time trial.
The penultimate stage was a 30.8-kilometre (19.1 mi) individual time trial. Stefan Bissegger (EF Education–Nippo) set the early benchmark time of 36' 37" before Kasper Asgreen (Deceuninck–Quick-Step) beat Bissegger's time by 23 seconds. Küng threatened Asgreen's time at the first time check but he faded towards the end. Asgreen's time stood until van Aert beat his time by 21 seconds. His time would not be beaten as he won his second stage of the race. In the battle for the GC placings, all riders in the top ten kept their positions. Vingegaard finished with the third best time, 32 seconds behind van Aert, to confirm his second place on GC. Meanwhile, Pogačar avoided taking any risks, eventually finishing with the eighth best time as he put himself on the cusp of winning his second successive Tour title.
The final stage featured the traditional sprint stage to Champs-Élysées. The first part of the stage was ridden as a procession, with no riders attacking off the front. The race started in earnest as they passed through the finish line for the first time. Several breakaways were attempted but the stage would eventually come down to a sprint finish. In the final sprint to the line, Mike Teunissen (Team Jumbo–Visma) managed to lead out his teammate, van Aert, who managed to hold off Philipsen and Cavendish to win his second consecutive stage and his third overall in the race. All riders finished safely as 141 riders completed the race, 43 less than the number of riders who started in Brest. Pogačar won his second successive Tour title as well as winning the mountain and young riders classification for the second year running. Cavendish won his second points classification title while Team Bahrain Victorious won the teams classification. Franck Bonnamour (B&B Hotels p/b KTM) won the overall combativity award after featuring in several breakaways.

## Classification leadership

Classification leadership by stage :
| Stage | Winner | General classification | Points classification | Mountains classification | Young rider classification | Team classification | Combativity award |
| 1 | Julian Alaphilippe | Julian Alaphilippe | Julian Alaphilippe | Ide Schelling | Tadej Pogačar | Team Jumbo–Visma | Ide Schelling |
| 2 | Mathieu van der Poel | Mathieu van der Poel | Julian Alaphilippe | Mathieu van der Poel | Tadej Pogačar | Team Jumbo–Visma | Edward Theuns |
| 3 | Tim Merlier | Mathieu van der Poel | Julian Alaphilippe | Ide Schelling | Tadej Pogačar | Team Bahrain Victorious | Michael Schär |
| 4 | Mark Cavendish | Mathieu van der Poel | Mark Cavendish | Ide Schelling | Tadej Pogačar | Team Bahrain Victorious | Brent Van Moer |
| 5 | Tadej Pogačar | Mathieu van der Poel | Mark Cavendish | Ide Schelling | Tadej Pogačar | Team Jumbo–Visma | no award |
| 6 | Mark Cavendish | Mathieu van der Poel | Mark Cavendish | Ide Schelling | Tadej Pogačar | Team Jumbo–Visma | Greg Van Avermaet |
| 7 | Matej Mohorič | Mathieu van der Poel | Mark Cavendish | Matej Mohorič | Tadej Pogačar | Team Jumbo–Visma | Matej Mohorič |
| 8 | Dylan Teuns | Tadej Pogačar | Mark Cavendish | Wout Poels | Tadej Pogačar | Team Bahrain Victorious | Wout Poels |
| 9 | Ben O'Connor | Tadej Pogačar | Mark Cavendish | Nairo Quintana | Tadej Pogačar | Team Bahrain Victorious | Ben O'Connor |
| 10 | Mark Cavendish | Tadej Pogačar | Mark Cavendish | Nairo Quintana | Tadej Pogačar | Team Bahrain Victorious | Hugo Houle |
| 11 | Wout van Aert | Tadej Pogačar | Mark Cavendish | Nairo Quintana | Tadej Pogačar | Team Bahrain Victorious | Kenny Elissonde |
| 12 | Nils Politt | Tadej Pogačar | Mark Cavendish | Nairo Quintana | Tadej Pogačar | Team Bahrain Victorious | Nils Politt |
| 13 | Mark Cavendish | Tadej Pogačar | Mark Cavendish | Nairo Quintana | Tadej Pogačar | Team Bahrain Victorious | Quentin Pacher |
| 14 | Bauke Mollema | Tadej Pogačar | Mark Cavendish | Michael Woods | Tadej Pogačar | Team Bahrain Victorious | Bauke Mollema |
| 15 | Sepp Kuss | Tadej Pogačar | Mark Cavendish | Wout Poels | Tadej Pogačar | Team Bahrain Victorious | Wout van Aert |
| 16 | Patrick Konrad | Tadej Pogačar | Mark Cavendish | Wout Poels | Tadej Pogačar | Team Bahrain Victorious | Patrick Konrad |
| 17 | Tadej Pogačar | Tadej Pogačar | Mark Cavendish | Wout Poels | Tadej Pogačar | Team Bahrain Victorious | Anthony Perez |
| 18 | Tadej Pogačar | Tadej Pogačar | Mark Cavendish | Tadej Pogačar | Tadej Pogačar | Team Bahrain Victorious | David Gaudu |
| 19 | Matej Mohorič | Tadej Pogačar | Mark Cavendish | Tadej Pogačar | Tadej Pogačar | Team Bahrain Victorious | Matej Mohorič |
| 20 | Wout van Aert | Tadej Pogačar | Mark Cavendish | Tadej Pogačar | Tadej Pogačar | Team Bahrain Victorious | no award |
| 21 | Wout van Aert | Tadej Pogačar | Mark Cavendish | Tadej Pogačar | Tadej Pogačar | Team Bahrain Victorious | no award |
| Final | Final | Tadej Pogačar | Mark Cavendish | Tadej Pogačar | Tadej Pogačar | Team Bahrain Victorious | Franck Bonnamour |
* On stage 2, Michael Matthews, who was second in the points classification, wore the green jersey, because first placed Julian Alaphilippe wore the yellow jersey as the leader of the general classification.
* On stage 3, Ide Schelling, who was second in the mountains classification, wore the polka-dot jersey, because first placed Mathieu van der Poel wore the yellow jersey as the leader of the general classification.
* On stages 9–21, Jonas Vingegaard, who was second in the young rider classification, wore the white jersey, because first placed Tadej Pogačar wore the yellow jersey as the leader of the general classification.
* On stages 19–21, Wout Poels, who was second in the mountains classification, wore the polka-dot jersey, because first placed Tadej Pogačar wore the yellow jersey as the leader of the general classification.

## Final classification standings

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

### General classification

Final general classification (1–10) :
| Rank | Rider | Team | Time |
| 1 | Tadej Pogačar (SLO) | UAE Team Emirates | 82h 56' 36" |
| 2 | Jonas Vingegaard (DEN) | Team Jumbo–Visma | + 5' 20" |
| 3 | Richard Carapaz (ECU) | Ineos Grenadiers | + 7' 03" |
| 4 | Ben O'Connor (AUS) | AG2R Citroën Team | + 10' 02" |
| 5 | Wilco Kelderman (NED) | Bora–Hansgrohe | + 10' 13" |
| 6 | Enric Mas (ESP) | Movistar Team | + 11' 43" |
| 7 | Alexey Lutsenko (KAZ) | Astana–Premier Tech | + 12' 23" |
| 8 | Guillaume Martin (FRA) | Cofidis | + 15' 33" |
| 9 | Pello Bilbao (ESP) | Team Bahrain Victorious | + 16' 04" |
| 10 | Rigoberto Urán (COL) | EF Education–Nippo | + 18' 34" |
Final general classification (11–141) :
| Rank | Rider | Team | Time |
| 11 | David Gaudu (FRA) | Groupama–FDJ | + 21' 50" |
| 12 | Mattia Cattaneo (ITA) | Deceuninck–Quick-Step | + 24' 58" |
| 13 | Esteban Chaves (COL) | Team BikeExchange | + 37' 48" |
| 14 | Louis Meintjes (RSA) | Intermarché–Wanty–Gobert Matériaux | + 38' 09" |
| 15 | Aurélien Paret-Peintre (FRA) | AG2R Citroën Team | + 39' 09" |
| 16 | Wout Poels (NED) | Team Bahrain Victorious | + 50' 35" |
| 17 | Dylan Teuns (BEL) | Team Bahrain Victorious | + 51' 40" |
| 18 | Ruben Guerreiro (POR) | EF Education–Nippo | + 54' 10" |
| 19 | Wout van Aert (BEL) | Team Jumbo–Visma | + 57' 02" |
| 20 | Bauke Mollema (NED) | Trek–Segafredo | + 1h 02' 18" |
| 21 | Sergio Henao (COL) | Team Qhubeka NextHash | + 1h 03' 12" |
| 22 | Franck Bonnamour (FRA) | B&B Hotels p/b KTM | + 1h 04' 35" |
| 23 | Jonathan Castroviejo (ESP) | Ineos Grenadiers | + 1h 06' 20" |
| 24 | Alejandro Valverde (ESP) | Movistar Team | + 1h 07' 50" |
| 25 | Sergio Higuita (COL) | EF Education–Nippo | + 1h 09' 16" |
| 26 | Ion Izagirre (ESP) | Astana–Premier Tech | + 1h 23' 39" |
| 27 | Patrick Konrad (AUT) | Bora–Hansgrohe | + 1h 27' 06" |
| 28 | Nairo Quintana (COL) | Arkéa–Samsic | + 1h 33' 11" |
| 29 | Xandro Meurisse (BEL) | Alpecin–Fenix | + 1h 40' 48" |
| 30 | Julian Alaphilippe (FRA) | Deceuninck–Quick-Step | + 1h 43' 06" |
| 31 | Matej Mohorič (SLO) | Team Bahrain Victorious | + 1h 50' 04" |
| 32 | Sepp Kuss (USA) | Team Jumbo–Visma | + 1h 50' 04" |
| 33 | Emanuel Buchmann (GER) | Bora–Hansgrohe | + 1h 51' 05" |
| 34 | Rafał Majka (POL) | UAE Team Emirates | + 1h 54' 04" |
| 35 | Quentin Pacher (FRA) | B&B Hotels p/b KTM | + 1h 55' 34" |
| 36 | Kenny Elissonde (FRA) | Trek–Segafredo | + 1h 56' 33" |
| 37 | Julien Bernard (FRA) | Trek–Segafredo | + 2h 03' 32" |
| 38 | Richie Porte (AUS) | Ineos Grenadiers | + 2h 06' 39" |
| 39 | Jasper Stuyven (BEL) | Trek–Segafredo | + 2h 07' 39" |
| 40 | Dan Martin (IRL) | Israel Start-Up Nation | + 2h 09' 35" |
| 41 | Geraint Thomas (GBR) | Ineos Grenadiers | + 2h 11' 37" |
| 42 | Valentin Madouas (FRA) | Groupama–FDJ | + 2h 11' 39" |
| 43 | Neilson Powless (USA) | EF Education–Nippo | + 2h 13' 33" |
| 44 | Davide Formolo (ITA) | UAE Team Emirates | + 2h 15' 56" |
| 45 | Mark Donovan (GBR) | Team DSM | + 2h 17' 40" |
| 46 | Cristián Rodríguez (ESP) | Team TotalEnergies | + 2h 19' 31" |
| 47 | Pierre Latour (FRA) | Team TotalEnergies | + 2h 19' 36" |
| 48 | Jan Bakelants (BEL) | Intermarché–Wanty–Gobert Matériaux | + 2h 21' 30" |
| 49 | Stefan Küng (SUI) | Groupama–FDJ | + 2h 22' 03" |
| 50 | Nils Politt (GER) | Bora–Hansgrohe | + 2h 22' 44" |
| 51 | Pierre Rolland (FRA) | B&B Hotels p/b KTM | + 2h 23' 11" |
| 52 | Sonny Colbrelli (ITA) | Team Bahrain Victorious | + 2h 24' 39" |
| 53 | Michael Valgren (DEN) | EF Education–Nippo | + 2h 26' 16" |
| 54 | Dylan van Baarle (NED) | Ineos Grenadiers | + 2h 27' 07" |
| 55 | Jonas Rutsch (GER) | EF Education–Nippo | + 2h 29' 33" |
| 56 | Magnus Cort (DEN) | EF Education–Nippo | + 2h 30' 23" |
| 57 | Omar Fraile (ESP) | Astana–Premier Tech | + 2h 31' 14" |
| 58 | Michael Schär (SUI) | AG2R Citroën Team | + 2h 35' 18" |
| 59 | Silvan Dillier (SUI) | Alpecin–Fenix | + 2h 35' 43" |
| 60 | Tao Geoghegan Hart (GBR) | Ineos Grenadiers | + 2h 37' 02" |
| 61 | Élie Gesbert (FRA) | Arkéa–Samsic | + 2h 38' 28" |
| 62 | Simon Geschke (GER) | Cofidis | + 2h 38' 51" |
| 63 | Lorenzo Rota (ITA) | Intermarché–Wanty–Gobert Matériaux | + 2h 39' 57" |
| 64 | Kasper Asgreen (DEN) | Deceuninck–Quick-Step | + 2h 43' 41" |
| 65 | Brent Van Moer (BEL) | Lotto–Soudal | + 2h 43' 49" |
| 66 | Hugo Houle (CAN) | Astana–Premier Tech | + 2h 44' 39" |
| 67 | Imanol Erviti (ESP) | Movistar Team | + 2h 49' 07" |
| 68 | Michał Kwiatkowski (POL) | Ineos Grenadiers | + 2h 49' 22" |
| 69 | Brandon McNulty (USA) | UAE Team Emirates | + 2h 50' 53" |
| 70 | Oliver Naesen (BEL) | AG2R Citroën Team | + 2h 52' 25" |
| 71 | Toms Skujiņš (LAT) | Trek–Segafredo | + 2h 52' 56" |
| 72 | Víctor de la Parte (ESP) | Team TotalEnergies | + 2h 54' 28" |
| 73 | Anthony Turgis (FRA) | Team TotalEnergies | + 2h 55' 51" |
| 74 | Alex Aranburu (ESP) | Astana–Premier Tech | + 2h 56' 44" |
| 75 | Dorian Godon (FRA) | AG2R Citroën Team | + 2h 57' 11" |
| 76 | Mike Teunissen (NED) | Team Jumbo–Visma | + 2h 58' 25" |
| 77 | Rui Costa (POR) | UAE Team Emirates | + 2h 58' 29" |
| 78 | Fabien Doubey (FRA) | Team TotalEnergies | + 3h 02' 45" |
| 79 | Michael Matthews (AUS) | Team BikeExchange | + 3h 03' 30" |
| 80 | Georg Zimmermann (GER) | Intermarché–Wanty–Gobert Matériaux | + 3h 05' 48" |
| 81 | Cyril Gautier (FRA) | B&B Hotels p/b KTM | + 3h 08' 30" |
| 82 | Thomas De Gendt (BEL) | Lotto–Soudal | + 3h 08' 46" |
| 83 | Bruno Armirail (FRA) | Groupama–FDJ | + 3h 09' 58" |
| 84 | Rubén Fernández (ESP) | Cofidis | + 3h 10' 43" |
| 85 | Harry Sweeny (AUS) | Lotto–Soudal | + 3h 10' 52" |
| 86 | Anthony Perez (FRA) | Cofidis | + 3h 10' 56" |
| 87 | Jesús Herrada (ESP) | Cofidis | + 3h 11' 15" |
| 88 | Cyril Barthe (FRA) | B&B Hotels p/b KTM | + 3h 12' 31" |
| 89 | Connor Swift (GBR) | Arkéa–Samsic | + 3h 13' 48" |
| 90 | Jorge Arcas (ESP) | Movistar Team | + 3h 14' 41" |
| 91 | Christophe Laporte (FRA) | Cofidis | + 3h 15' 03" |
| 92 | Pierre-Luc Périchon (FRA) | Cofidis | + 3h 16' 27" |
| 93 | Maxime Chevalier (FRA) | B&B Hotels p/b KTM | + 3h 16' 54" |
| 94 | Iván García Cortina (ESP) | Movistar Team | + 3h 21' 25" |
| 95 | Jonas Rickaert (BEL) | Alpecin–Fenix | + 3h 22' 36" |
| 96 | Fred Wright (GBR) | Team Bahrain Victorious | + 3h 24' 19" |
| 97 | Greg Van Avermaet (BEL) | AG2R Citroën Team | + 3h 24' 29" |
| 98 | Marc Hirschi (SUI) | UAE Team Emirates | + 3h 24' 38" |
| 99 | Philippe Gilbert (BEL) | Lotto–Soudal | + 3h 27' 22" |
| 100 | Luke Durbridge (AUS) | Team BikeExchange | + 3h 28' 05" |
| 101 | Carlos Verona (ESP) | Movistar Team | + 3h 28' 40" |
| 102 | Luka Mezgec (SLO) | Team BikeExchange | + 3h 30' 17" |
| 103 | Stefan Bissegger (SUI) | EF Education–Nippo | + 3h 31' 35" |
| 104 | Edward Theuns (BEL) | Trek–Segafredo | + 3h 33' 31" |
| 105 | Guillaume Boivin (CAN) | Israel Start-Up Nation | + 3h 33' 42" |
| 106 | Kristian Sbaragli (ITA) | Alpecin–Fenix | + 3h 34' 19" |
| 107 | Benoît Cosnefroy (FRA) | AG2R Citroën Team | + 3h 34' 54" |
| 108 | Davide Ballerini (ITA) | Deceuninck–Quick-Step | + 3h 35' 13" |
| 109 | Jasper Philipsen (BEL) | Alpecin–Fenix | + 3h 42' 11" |
| 110 | Mikkel Bjerg (DEN) | UAE Team Emirates | + 3h 42' 21" |
| 111 | Casper Pedersen (DEN) | Team DSM | + 3h 42' 52" |
| 112 | Vegard Stake Laengen (NOR) | UAE Team Emirates | + 3h 43' 33" |
| 113 | Dmitriy Gruzdev (KAZ) | Astana–Premier Tech | + 3h 44' 49" |
| 114 | Christopher Juul-Jensen (DEN) | Team BikeExchange | + 3h 45' 07" |
| 115 | Daniel Oss (ITA) | Bora–Hansgrohe | + 3h 46' 53" |
| 116 | Lukas Pöstlberger (AUT) | Bora–Hansgrohe | + 3h 47' 12" |
| 117 | Boy van Poppel (NED) | Intermarché–Wanty–Gobert Matériaux | + 3h 50' 25" |
| 118 | Petr Vakoč (CZE) | Alpecin–Fenix | + 3h 51' 06" |
| 119 | Ide Schelling (NED) | Bora–Hansgrohe | + 3h 51' 16" |
| 120 | Danny van Poppel (NED) | Intermarché–Wanty–Gobert Matériaux | + 3h 52' 53" |
| 121 | Max Walscheid (GER) | Team Qhubeka NextHash | + 3h 53' 05" |
| 122 | Omer Goldstein (ISR) | Israel Start-Up Nation | + 3h 55' 26" |
| 123 | Simon Clarke (AUS) | Team Qhubeka NextHash | + 3h 56' 08" |
| 124 | Carlos Barbero (ESP) | Team Qhubeka NextHash | + 4h 00' 20" |
| 125 | André Greipel (GER) | Israel Start-Up Nation | + 4h 01' 26" |
| 126 | Nils Eekhoff (NED) | Team DSM | + 4h 02' 44" |
| 127 | Marco Haller (AUT) | Team Bahrain Victorious | + 4h 03' 01" |
| 128 | Joris Nieuwenhuis (NED) | Team DSM | + 4h 03' 22" |
| 129 | Julien Simon (FRA) | Team TotalEnergies | + 4h 05' 49" |
| 130 | Sean Bennett (USA) | Team Qhubeka NextHash | + 4h 07' 42" |
| 131 | Jelle Wallays (BEL) | Cofidis | + 4h 09' 46" |
| 132 | Jérémy Cabot (FRA) | Team TotalEnergies | + 4h 11' 35" |
| 133 | Chris Froome (GBR) | Israel Start-Up Nation | + 4h 12' 01" |
| 134 | Rick Zabel (GER) | Israel Start-Up Nation | + 4h 13' 07" |
| 135 | Dries Devenyns (BEL) | Deceuninck–Quick-Step | + 4h 20' 49" |
| 136 | Reto Hollenstein (SUI) | Israel Start-Up Nation | + 4h 24' 19" |
| 137 | Mads Pedersen (DEN) | Trek–Segafredo | + 4h 29' 17" |
| 138 | Michael Mørkøv (DEN) | Deceuninck–Quick-Step | + 4h 32' 45" |
| 139 | Mark Cavendish (GBR) | Deceuninck–Quick-Step | + 4h 34' 14" |
| 140 | Cees Bol (NED) | Team DSM | + 4h 36' 39" |
| 141 | Tim Declercq (BEL) | Deceuninck–Quick-Step | + 5h 01' 09" |

### Points classification

Final points classification (1–10) :
| Rank | Rider | Team | Points |
| 1 | Mark Cavendish (GBR) | Deceuninck–Quick-Step | 337 |
| 2 | Michael Matthews (AUS) | Team BikeExchange | 291 |
| 3 | Sonny Colbrelli (ITA) | Team Bahrain Victorious | 227 |
| 4 | Jasper Philipsen (BEL) | Alpecin–Fenix | 216 |
| 5 | Wout van Aert (BEL) | Team Jumbo–Visma | 171 |
| 6 | Matej Mohorič (SLO) | Team Bahrain Victorious | 163 |
| 7 | Julian Alaphilippe (FRA) | Deceuninck–Quick-Step | 163 |
| 8 | Tadej Pogačar (SLO) | UAE Team Emirates | 154 |
| 9 | Michael Mørkøv (DEN) | Deceuninck–Quick-Step | 124 |
| 10 | Jonas Vingegaard (DEN) | Team Jumbo–Visma | 103 |

### Mountains classification

Final mountains classification (1–10) :
| Rank | Rider | Team | Points |
| 1 | Tadej Pogačar (SLO) | UAE Team Emirates | 107 |
| 2 | Wout Poels (NED) | Team Bahrain Victorious | 88 |
| 3 | Jonas Vingegaard (DEN) | Team Jumbo–Visma | 82 |
| 4 | Wout van Aert (BEL) | Team Jumbo–Visma | 68 |
| 5 | Nairo Quintana (COL) | Arkéa–Samsic | 66 |
| 6 | Richard Carapaz (ECU) | Ineos Grenadiers | 56 |
| 7 | Ben O'Connor (AUS) | AG2R Citroën Team | 44 |
| 8 | Bauke Mollema (NED) | Trek–Segafredo | 41 |
| 9 | David Gaudu (FRA) | Groupama–FDJ | 41 |
| 10 | Anthony Perez (FRA) | Cofidis | 37 |

### Young rider classification

Final young rider classification (1–10) :
| Rank | Rider | Team | Time |
| 1 | Tadej Pogačar (SLO) | UAE Team Emirates | 82h 56' 36" |
| 2 | Jonas Vingegaard (DEN) | Team Jumbo–Visma | + 5' 20" |
| 3 | David Gaudu (FRA) | Groupama–FDJ | + 21' 50" |
| 4 | Aurélien Paret-Peintre (FRA) | AG2R Citroën Team | + 39' 09" |
| 5 | Sergio Higuita (COL) | EF Education–Nippo | + 1h 09' 16" |
| 6 | Valentin Madouas (FRA) | Groupama–FDJ | + 2h 11' 39" |
| 7 | Neilson Powless (USA) | EF Education–Nippo | + 2h 13' 33" |
| 8 | Mark Donovan (GBR) | Team DSM | + 2h 17' 40" |
| 9 | Jonas Rutsch (GER) | EF Education–Nippo | + 2h 29' 33" |
| 10 | Brent Van Moer (BEL) | Lotto–Soudal | + 2h 43' 49" |

### Team classification

Final team classification (1–10) :
| Rank | Team | Time |
| 1 | Team Bahrain Victorious | 249h 16' 47" |
| 2 | EF Education–Nippo | + 19' 12" |
| 3 | Team Jumbo–Visma | + 1h 11' 35" |
| 4 | Ineos Grenadiers | + 1h 27' 10" |
| 5 | AG2R Citroën Team | + 1h 31' 54" |
| 6 | Bora–Hansgrohe | + 1h 36' 44" |
| 7 | Trek–Segafredo | + 1h 47' 04" |
| 8 | Astana–Premier Tech | + 2h 01' 45" |
| 9 | Movistar Team | + 2h 04' 28" |
| 10 | UAE Team Emirates | + 2h 38' 08" |