The 2025 Four Days of Dunkirk (French: Quatre Jours de Dunkerque 2025) was a road cycling stage race that took place between 14 and 18 May 2025 in the French administrative region of Hauts-de-France. The race was rated as a category 2.Pro event on the 2025 UCI ProSeries calendar, and was the 69th edition of the Four Days of Dunkirk.

Teams

Eleven UCI WorldTeams, nine UCI ProTeams and four UCI Continental teams make up the 24 teams that participated in the race.

UCI WorldTeams

UCI ProTeams

UCI Continental Teams

Route

Stage characteristics and winners
StageDateCourseDistanceTypeStage winner
114 MaySainte-Catherine to Amiens177.3 km (110.2 mi)Flat stageAxel Zingle (FRA)
215 MayAvesnes-sur-Helpe to Crépy-en-Valois178.7 km (111.0 mi)Hilly stageLewis Askey (GBR)
316 MayValenciennes to Famars154.2 km (95.8 mi)Flat stagePierre Gautherat (FRA)
417 MayLa Chapelle-d'Armentières to Cassel172.7 km (107.3 mi)Hilly stageSamuel Watson (GBR)
518 MayWormhout to Dunkerque185.6 km (115.3 mi)Flat stageJake Stewart (GBR)
Total868.5 km (539.7 mi)

Stages

Stage 1

14 May 2025 – Sainte-Catherine to Amiens, 177.3 km (110.2 mi)

Stage 1 Result
RankRiderTeamTime
Stage 1 Result Rank Rider Team Time 1 Axel Zingle (FRA) Visma–Lease a Bike 3h 51' 10" 2 Tobias Lund Andresen (DEN) Team Picnic–PostNL + 0" 3 Stian Fredheim (NOR) Uno-X Mobility + 0" 4 Pascal Ackermann (GER) Israel–Premier Tech + 0" 5 Martijn Budding (NED) Unibet Tietema Rockets + 0" 6 Jason Tesson (FRA) Team TotalEnergies + 0" 7 Jon Aberasturi (ESP) Euskaltel–Euskadi + 0" 8 Matthew Walls (GBR) Groupama–FDJ + 0" 9 Jenno Berckmoes (BEL) Lotto + 0" 10 Mike Teunissen (NED) XDS Astana Team + 0"General classification after Stage 1 Rank Rider Team Time 1 Axel Zingle (FRA) Visma–Lease a Bike 3h 51' 00" 2 Ben Swift (GBR) Ineos Grenadiers + 2" 3 Per Strand Hagenes (NOR) Visma–Lease a Bike + 3" 4 Tobias Lund Andresen (DEN) Team Picnic–PostNL + 4" 5 Stian Fredheim (NOR) Uno-X Mobility + 6" 6 Gil Gelders (BEL) Soudal–Quick-Step + 7" 7 Pascal Ackermann (GER) Israel–Premier Tech + 10" 8 Martijn Budding (NED) Unibet Tietema Rockets + 10" 9 Jason Tesson (FRA) Team TotalEnergies + 10" 10 Jon Aberasturi (ESP) Euskaltel–Euskadi + 10"
1Axel Zingle (FRA)Visma–Lease a Bike3h 51' 10"
2Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 0"
3Stian Fredheim (NOR)Uno-X Mobility+ 0"
4Pascal Ackermann (GER)Israel–Premier Tech+ 0"
5Martijn Budding (NED)Unibet Tietema Rockets+ 0"
6Jason Tesson (FRA)Team TotalEnergies+ 0"
7Jon Aberasturi (ESP)Euskaltel–Euskadi+ 0"
8Matthew Walls (GBR)Groupama–FDJ+ 0"
9Jenno Berckmoes (BEL)Lotto+ 0"
10Mike Teunissen (NED)XDS Astana Team+ 0"
RankRiderTeamTime
1Axel Zingle (FRA)Visma–Lease a Bike3h 51' 00"
2Ben Swift (GBR)Ineos Grenadiers+ 2"
3Per Strand Hagenes (NOR)Visma–Lease a Bike+ 3"
4Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 4"
5Stian Fredheim (NOR)Uno-X Mobility+ 6"
6Gil Gelders (BEL)Soudal–Quick-Step+ 7"
7Pascal Ackermann (GER)Israel–Premier Tech+ 10"
8Martijn Budding (NED)Unibet Tietema Rockets+ 10"
9Jason Tesson (FRA)Team TotalEnergies+ 10"
10Jon Aberasturi (ESP)Euskaltel–Euskadi+ 10"

Stage 2

15 May 2025 – Avesnes-sur-Helpe to Crépy-en-Valois, 178.7 km (111.0 mi)

Stage 2 Result
RankRiderTeamTime
Stage 2 Result Rank Rider Team Time 1 Lewis Askey (GBR) Groupama–FDJ 3h 51' 36" 2 Sakarias Koller Løland (NOR) Uno-X Mobility + 0" 3 Samuel Watson (GBR) Ineos Grenadiers + 0" 4 Axel Zingle (FRA) Visma–Lease a Bike + 0" 5 Matys Grisel (FRA) Lotto + 0" 6 Alberto Dainese (ITA) Tudor Pro Cycling Team + 0" 7 Cedric Beullens (BEL) Lotto + 0" 8 Bryan Coquard (FRA) Cofidis + 0" 9 Jake Stewart (GBR) Israel–Premier Tech + 0" 10 Pierre Gautherat (FRA) Decathlon–AG2R La Mondiale + 0"General classification after Stage 2 Rank Rider Team Time 1 Axel Zingle (FRA) Visma–Lease a Bike 7h 42' 36" 2 Lewis Askey (GBR) Groupama–FDJ + 0" 3 Ben Swift (GBR) Ineos Grenadiers + 2" 4 Nans Peters (FRA) Decathlon–AG2R La Mondiale + 2" 5 Per Strand Hagenes (NOR) Visma–Lease a Bike + 3" 6 Tobias Lund Andresen (DEN) Team Picnic–PostNL + 4" 7 Sakarias Koller Løland (NOR) Uno-X Mobility + 4" 8 Stian Fredheim (NOR) Uno-X Mobility + 6" 9 Samuel Watson (GBR) Ineos Grenadiers + 6" 10 Gil Gelders (BEL) Soudal–Quick-Step + 7"
1Lewis Askey (GBR)Groupama–FDJ3h 51' 36"
2Sakarias Koller Løland (NOR)Uno-X Mobility+ 0"
3Samuel Watson (GBR)Ineos Grenadiers+ 0"
4Axel Zingle (FRA)Visma–Lease a Bike+ 0"
5Matys Grisel (FRA)Lotto+ 0"
6Alberto Dainese (ITA)Tudor Pro Cycling Team+ 0"
7Cedric Beullens (BEL)Lotto+ 0"
8Bryan Coquard (FRA)Cofidis+ 0"
9Jake Stewart (GBR)Israel–Premier Tech+ 0"
10Pierre Gautherat (FRA)Decathlon–AG2R La Mondiale+ 0"
RankRiderTeamTime
1Axel Zingle (FRA)Visma–Lease a Bike7h 42' 36"
2Lewis Askey (GBR)Groupama–FDJ+ 0"
3Ben Swift (GBR)Ineos Grenadiers+ 2"
4Nans Peters (FRA)Decathlon–AG2R La Mondiale+ 2"
5Per Strand Hagenes (NOR)Visma–Lease a Bike+ 3"
6Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 4"
7Sakarias Koller Løland (NOR)Uno-X Mobility+ 4"
8Stian Fredheim (NOR)Uno-X Mobility+ 6"
9Samuel Watson (GBR)Ineos Grenadiers+ 6"
10Gil Gelders (BEL)Soudal–Quick-Step+ 7"

Stage 3

16 May 2025 – Valenciennes to Famars, 154.2 km (95.8 mi)

Stage 3 Result
RankRiderTeamTime
Stage 3 Result Rank Rider Team Time 1 Pierre Gautherat (FRA) Decathlon–AG2R La Mondiale 3h 22' 35" 2 Jake Stewart (GBR) Israel–Premier Tech + 0" 3 Axel Zingle (FRA) Visma–Lease a Bike + 0" 4 Tobias Lund Andresen (DEN) Team Picnic–PostNL + 0" 5 Lewis Askey (GBR) Groupama–FDJ + 0" 6 Alberto Dainese (ITA) Tudor Pro Cycling Team + 0" 7 Benjamin Thomas (FRA) Cofidis + 0" 8 Samuel Leroux (FRA) Team TotalEnergies + 0" 9 Jordi Warlop (BEL) Soudal–Quick-Step + 0" 10 Matys Grisel (FRA) Lotto + 0"General classification after Stage 3 Rank Rider Team Time 1 Axel Zingle (FRA) Visma–Lease a Bike 11h 05' 07" 2 Pierre Gautherat (FRA) Decathlon–AG2R La Mondiale + 4" 3 Lewis Askey (GBR) Groupama–FDJ + 4" 4 Ben Swift (GBR) Ineos Grenadiers + 6" 5 Nans Peters (FRA) Decathlon–AG2R La Mondiale + 6" 6 Per Strand Hagenes (NOR) Visma–Lease a Bike + 7" 7 Tobias Lund Andresen (DEN) Team Picnic–PostNL + 8" 8 Jake Stewart (GBR) Israel–Premier Tech + 8" 9 Sakarias Koller Løland (NOR) Uno-X Mobility + 8" 10 Samuel Watson (GBR) Ineos Grenadiers + 8"
1Pierre Gautherat (FRA)Decathlon–AG2R La Mondiale3h 22' 35"
2Jake Stewart (GBR)Israel–Premier Tech+ 0"
3Axel Zingle (FRA)Visma–Lease a Bike+ 0"
4Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 0"
5Lewis Askey (GBR)Groupama–FDJ+ 0"
6Alberto Dainese (ITA)Tudor Pro Cycling Team+ 0"
7Benjamin Thomas (FRA)Cofidis+ 0"
8Samuel Leroux (FRA)Team TotalEnergies+ 0"
9Jordi Warlop (BEL)Soudal–Quick-Step+ 0"
10Matys Grisel (FRA)Lotto+ 0"
RankRiderTeamTime
1Axel Zingle (FRA)Visma–Lease a Bike11h 05' 07"
2Pierre Gautherat (FRA)Decathlon–AG2R La Mondiale+ 4"
3Lewis Askey (GBR)Groupama–FDJ+ 4"
4Ben Swift (GBR)Ineos Grenadiers+ 6"
5Nans Peters (FRA)Decathlon–AG2R La Mondiale+ 6"
6Per Strand Hagenes (NOR)Visma–Lease a Bike+ 7"
7Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 8"
8Jake Stewart (GBR)Israel–Premier Tech+ 8"
9Sakarias Koller Løland (NOR)Uno-X Mobility+ 8"
10Samuel Watson (GBR)Ineos Grenadiers+ 8"

Stage 4

17 May 2025 – La Chapelle-d'Armentières to Cassel, 172.7 km (107.3 mi)

Stage 4 Result
RankRiderTeamTime
Stage 4 Result Rank Rider Team Time 1 Samuel Watson (GBR) Ineos Grenadiers 4h 17' 01" 2 Carlos Canal (ESP) Movistar Team + 0" 3 Lewis Askey (GBR) Groupama–FDJ + 3" 4 Alexandre Delettre (FRA) Team TotalEnergies + 5" 5 Tobias Lund Andresen (DEN) Team Picnic–PostNL + 5" 6 Victor Langellotti (MON) Ineos Grenadiers + 6" 7 Per Strand Hagenes (NOR) Visma–Lease a Bike + 6" 8 Benjamin Thomas (FRA) Cofidis + 6" 9 Thibaud Gruel (FRA) Groupama–FDJ + 8" 10 Nicolas Breuillard (FRA) St. Michel–Preference Home–Auber93 + 8"General classification after Stage 4 Rank Rider Team Time 1 Samuel Watson (GBR) Ineos Grenadiers 15h 22' 08" 2 Lewis Askey (GBR) Groupama–FDJ + 3" 3 Carlos Canal (ESP) Movistar Team + 8" 4 Tobias Lund Andresen (DEN) Team Picnic–PostNL + 13" 5 Per Strand Hagenes (NOR) Visma–Lease a Bike + 13" 6 Alexandre Delettre (FRA) Team TotalEnergies + 19" 7 Benjamin Thomas (FRA) Cofidis + 20" 8 Victor Langellotti (MON) Ineos Grenadiers + 20" 9 Nans Peters (FRA) Decathlon–AG2R La Mondiale + 20" 10 Thibaud Gruel (FRA) Groupama–FDJ + 22"
1Samuel Watson (GBR)Ineos Grenadiers4h 17' 01"
2Carlos Canal (ESP)Movistar Team+ 0"
3Lewis Askey (GBR)Groupama–FDJ+ 3"
4Alexandre Delettre (FRA)Team TotalEnergies+ 5"
5Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 5"
6Victor Langellotti (MON)Ineos Grenadiers+ 6"
7Per Strand Hagenes (NOR)Visma–Lease a Bike+ 6"
8Benjamin Thomas (FRA)Cofidis+ 6"
9Thibaud Gruel (FRA)Groupama–FDJ+ 8"
10Nicolas Breuillard (FRA)St. Michel–Preference Home–Auber93+ 8"
RankRiderTeamTime
1Samuel Watson (GBR)Ineos Grenadiers15h 22' 08"
2Lewis Askey (GBR)Groupama–FDJ+ 3"
3Carlos Canal (ESP)Movistar Team+ 8"
4Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 13"
5Per Strand Hagenes (NOR)Visma–Lease a Bike+ 13"
6Alexandre Delettre (FRA)Team TotalEnergies+ 19"
7Benjamin Thomas (FRA)Cofidis+ 20"
8Victor Langellotti (MON)Ineos Grenadiers+ 20"
9Nans Peters (FRA)Decathlon–AG2R La Mondiale+ 20"
10Thibaud Gruel (FRA)Groupama–FDJ+ 22"

Stage 5

18 May 2025 – Wormhout to Dunkerque, 185.6 km (115.3 mi)

Stage 5 Result
RankRiderTeamTime
Stage 5 Result Rank Rider Team Time 1 Jake Stewart (GBR) Israel–Premier Tech 4h 07' 57" 2 Alberto Dainese (ITA) Tudor Pro Cycling Team + 0" 3 Thibaud Gruel (FRA) Groupama–FDJ + 0" 4 Tobias Lund Andresen (DEN) Team Picnic–PostNL + 0" 5 Daniel McLay (GBR) Visma–Lease a Bike + 0" 6 Alexander Konijn (NED) Nice Métropole Côte d'Azur + 0" 7 Mike Teunissen (NED) XDS Astana Team + 0" 8 Erlend Blikra (NOR) Uno-X Mobility + 0" 9 Gianluca Pollefliet (BEL) Decathlon–AG2R La Mondiale + 0" 10 Romain Cardis (FRA) St. Michel–Preference Home–Auber93 + 0"General classification after Stage 5 Rank Rider Team Time 1 Samuel Watson (GBR) Ineos Grenadiers 19h 30' 05" 2 Lewis Askey (GBR) Groupama–FDJ + 4" 3 Carlos Canal (ESP) Movistar Team + 11" 4 Tobias Lund Andresen (DEN) Team Picnic–PostNL + 12" 5 Per Strand Hagenes (NOR) Visma–Lease a Bike + 16" 6 Thibaud Gruel (FRA) Groupama–FDJ + 18" 7 Alexandre Delettre (FRA) Team TotalEnergies + 22" 8 Benjamin Thomas (FRA) Cofidis + 23" 9 Victor Langellotti (MON) Ineos Grenadiers + 23" 10 Nans Peters (FRA) Decathlon–AG2R La Mondiale + 23"
1Jake Stewart (GBR)Israel–Premier Tech4h 07' 57"
2Alberto Dainese (ITA)Tudor Pro Cycling Team+ 0"
3Thibaud Gruel (FRA)Groupama–FDJ+ 0"
4Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 0"
5Daniel McLay (GBR)Visma–Lease a Bike+ 0"
6Alexander Konijn (NED)Nice Métropole Côte d'Azur+ 0"
7Mike Teunissen (NED)XDS Astana Team+ 0"
8Erlend Blikra (NOR)Uno-X Mobility+ 0"
9Gianluca Pollefliet (BEL)Decathlon–AG2R La Mondiale+ 0"
10Romain Cardis (FRA)St. Michel–Preference Home–Auber93+ 0"
RankRiderTeamTime
1Samuel Watson (GBR)Ineos Grenadiers19h 30' 05"
2Lewis Askey (GBR)Groupama–FDJ+ 4"
3Carlos Canal (ESP)Movistar Team+ 11"
4Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 12"
5Per Strand Hagenes (NOR)Visma–Lease a Bike+ 16"
6Thibaud Gruel (FRA)Groupama–FDJ+ 18"
7Alexandre Delettre (FRA)Team TotalEnergies+ 22"
8Benjamin Thomas (FRA)Cofidis+ 23"
9Victor Langellotti (MON)Ineos Grenadiers+ 23"
10Nans Peters (FRA)Decathlon–AG2R La Mondiale+ 23"

Classification leadership table

Classification leadership by stage
StageWinnerGeneral classificationPoints classificationMountains classificationYoung rider classificationTeam classification
1Axel ZingleAxel ZingleAxel ZingleDanny van der TuukPer Strand HagenesLotto
2Lewis AskeyKenny MollyLewis Askey
3Pierre GautheratPierre Gautherat
4Samuel WatsonSamuel WatsonLewis AskeyPaul HennequinSamuel WatsonCofidis
5Jake StewartTobias Lund Andresen
FinalSamuel WatsonTobias Lund AndresenPaul HennequinSamuel WatsonCofidis

Classification standings

Legend
Denotes the winner of the general classificationDenotes the winner of the mountains classification
Denotes the winner of the points classificationDenotes the winner of the young rider classification
Denotes the winner of the team classification

General classification

Final general classification (1–10)
RankRiderTeamTime
1Samuel Watson (GBR)Ineos Grenadiers19h 30' 05"
2Lewis Askey (GBR)Groupama–FDJ+ 4"
3Carlos Canal (ESP)Movistar Team+ 11"
4Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 12"
5Per Strand Hagenes (NOR)Visma–Lease a Bike+ 16"
6Thibaud Gruel (FRA)Groupama–FDJ+ 18"
7Alexandre Delettre (FRA)Team TotalEnergies+ 22"
8Benjamin Thomas (FRA)Cofidis+ 23"
9Victor Langellotti (ITA)Ineos Grenadiers+ 23"
10Nans Peters (FRA)Decathlon–AG2R La Mondiale+ 23"

Points classification

Final points classification (1–10)
RankRiderTeamPoints
1Tobias Lund Andresen (DEN)Team Picnic–PostNL33
2Lewis Askey (GBR)Groupama–FDJ32
3Jake Stewart (GBR)Israel–Premier Tech29
4Samuel Watson (GBR)Ineos Grenadiers27
5Alberto Dainese (ITA)Tudor Pro Cycling Team22
6Pierre Gautherat (FRA)Decathlon–AG2R La Mondiale16
7Carlos Canal (ESP)Movistar Team12
8Sakarias Koller Løland (NOR)Uno-X Mobility12
9Per Strand Hagenes (NOR)Visma–Lease a Bike11
10Thibaud Gruel (FRA)Groupama–FDJ11

Mountains classification

Final mountains classification (1–10)
RankRiderTeamPoints
1Paul Hennequin (FRA)Euskaltel–Euskadi19
2Kenny Molly (BEL)Van Rysel–Roubaix15
3Tom Portsmouth (GBR)Wagner Bazin WB13
4Gil Gelders (BEL)Soudal–Quick-Step9
5Luca De Meester (BEL)Wagner Bazin WB9
6Victor Papon (FRA)Wagner Bazin WB7
7Matis Louvel (FRA)Israel–Premier Tech6
8Axel Narbonne Zuccarelli (FRA)Nice Métropole Côte d'Azur5
9Sam Maisonobe (FRA)Cofidis4
10Ben Swift (GBR)Ineos Grenadiers4

Young rider classification

Final young rider classification (1–10)
RankRiderTeamTime
1Samuel Watson (GBR)Ineos Grenadiers19h 30' 05"
2Lewis Askey (GBR)Groupama–FDJ+ 4"
3Carlos Canal (ESP)Movistar Team+ 11"
4Tobias Lund Andresen (DEN)Team Picnic–PostNL+ 12"
5Per Strand Hagenes (NOR)Visma–Lease a Bike+ 16"
6Thibaud Gruel (FRA)Groupama–FDJ+ 18"
7Sam Maisonobe (FRA)Cofidis+ 32"
8Sakarias Koller Løland (NOR)Uno-X Mobility+ 33"
9Alec Segaert (BEL)Lotto+ 43"
10Jenno Berckmoes (BEL)Lotto+ 46"

Team classification

Final team classification (1–10)
RankTeamTime
1France Cofidis58h 31' 51"
2France Team TotalEnergies+ 1"
3United Kingdom Ineos Grenadiers+ 16"
4France Groupama–FDJ+ 30"
5Belgium Soudal–Quick-Step+ 5' 02"
6Belgium Lotto+ 8' 22"
7Spain Movistar Team+ 8' 27"
8France Unibet Tietema Rockets+ 10' 01"
9Netherlands Team Picnic–PostNL+ 11' 36"
10France Decathlon–AG2R La Mondiale+ 15' 52"

External links