The British road racing season kicked off in traditional style on the south coast as Jordan Giles (DAS Richardsons) surged clear of his rivals on the punishing final climb of Crooked Walk Lane to claim victory in the 2025 Portsdown Classic.
Report
The British road racing season opened with the Portsdown Classic on Sunday, the reincarnation of the Perfs Pedal road race. Now under the stewardship of Seb Ottley, the event has firmly re-established itself as Britain’s traditional season opener, ensuring that this February test of form, endurance, and sheer grit remains a fixture on the domestic calendar.
The Portsdown Classic may be short—just 72 kilometres—but its relentless terrain and unpredictable weather demand respect. As usual, the race unfolded over five laps of a 13.6-kilometre circuit around Portsdown Hill, before deviating for a finale atop Crooked Walk Lane, a short, savage incline where fortunes are made and lost.
With its February date, the race has a reputation for unrelenting conditions—snow, ice, howling winds, and horizontal rain have all played their part in its history. The 2025 edition, however, was mercifully mild, with temperatures hovering in single digits—cold, but not race-breaking—and, crucially, the rain staying away.

A few early moves came and went, with Raptor Factory Racing making themselves noticed on their first outing, forcing the tempo up Portsdown Hill. Despite the aggression, the peloton remained largely intact over the first ascent.
Instead, the first lap’s defining moments came at the back, where several pre-race favourites suffered mechanical woes. Will Truelove (MUC-OFF-SRCT-STORCK) required an early wheel change. Rowan Baker (Raptor Factory Racing), one of the pre-race favourites, was forced to abandon after a puncture. Tom Williams (Monzon – Incolor – Gub), winner of the 2024 Ryedale Grand Prix, was another big name to struggle with mechanical issues early on.
By the end of the first lap, a leading group of four—Jordan Giles (DAS Richardsons), Thomas Springbett (Foran CT), Oliver Richardson (Le Col Race Team), and Judicael Clair (Raptor Factory Racing)—had edged clear, holding a slim advantage over the peloton.

On the second ascent of Portsdown Hill, Richardson was distanced as the leading trio of Giles, Springbett, and Clair stretched their advantage to 35 seconds. The peloton briefly responded, closing the gap before losing momentum, and the break quickly extended its lead again. Sensing the danger, Alexander Murphy (Stolen Goat RT), Clay Davies (Ride Revolution), and Adam Howell (VC Meudon) launched a counterattack. Their move looked promising for a moment, but the peloton reacted swiftly, dragging them back and reducing the leaders’ advantage with it.
The third ascent of Portsdown Hill saw the race splinter completely. The peloton was stretched across the road, with over 30 riders jettisoned from the bunch. Despite the chaos, the leading trio capitalised, rebuilding their advantage to 45 seconds as they reached the two-laps-to-go mark. By the bell lap, their lead had grown to 55 seconds.

With cooperation lacking in the peloton, four riders made a final attempt to bridge: Sam Long (VC Londres), Tom Couzens (Montezumas Eventrex Race Team), Joshua Horsfield (Reflex Nopinz), and Edward Morgan (MUC-OFF-SRCT-STORCK). Their effort briefly gained momentum, but the break’s advantage remained stubbornly large. Up front, Giles sensed his moment had come.
On the final climb of Portsdown Hill, he attacked. Springbett and Clair had no response as he carved out a ten-second gap heading into the headwind section. On the descent to the finish, the two chasers clawed back time, coming within metres of Giles as they hit the final turn onto Crooked Walk Lane.
But as the road pitched up, Giles proved the superior climber, pulling away from his pursuers on the double-digit gradients. The crowd lining the finish cheered him over the line, his early-season form delivering an emphatic win.

Springbett took second. Clair, suffering from cramp on the final slopes, had to cede third place to the fast-finishing Morgan.
At the finish, Giles was exhausted but elated. “Oh, pretty tired now,” he admitted. “Yeah, I made it hard for myself, put it that way.” On the fluctuating gap, he reflected, “Switching between pushing on and trying to build a lead, then trying to conserve it. I was a bit over-enthusiastic early on, but then settled in.”
For Springbett, second place was no disappointment. “Really satisfied,” he said. “It was a fun race, fast and smooth, just everyone pulling their turn. But in the end, Jordan was just stronger.”
Results
Provisional stats hub results are here.
| Pos | Bib | Name | Team | Time |
| 1 | 31 | Jordan Giles | Richardsons Trek DAS | 01:49:47 |
| 2 | 68 | Thomas Springbett | Foran CT | 01:49:57 |
| 3 | 55 | Edward Morgan | MUC-OFF-SRCT-STORCK | 01:50:03 |
| 4 | 17 | Judicael Clair | Raptor Factory Racing | 01:50:09 |
| 5 | 51 | Sam Long | VC Londres | 01:50:14 |
| 6 | 38 | Adam Howell | MUC-OFF-SRCT-STORCK | 01:50:17 |
| 7 | 58 | Samuel Nisbet | Reflex Nopinz | 01:50:19 |
| 8 | 20 | Tom Couzens | Montezumas Eventrex Race Team | 01:50:31 |
| 9 | 36 | Joshua Horsfield | Reflex Nopinz | 01:50:32 |
| 10 | 30 | Alex Franks | Raptor Factory Racing | 01:50:41 |
| 11 | 96 | Thomas Gardner | University of Exeter | 01:50:41 |
| 12 | 16 | Max Bufton | Wheelbase CabTech Castelli | 01:50:48 |
| 13 | 76 | Jacob Vaughan | VC Londres | 01:50:48 |
| 14 | 21 | Oliver Curd | Primo RT | 01:50:49 |
| 15 | 22 | Tobias Dahlhaus | Foran CT | 01:50:49 |
| 16 | 56 | Alex Murphy | Stolen Goat Race Team | 01:50:50 |
| 17 | 10 | Dylan Belton Owen | VC Londres | 01:50:50 |
| 18 | 5 | Jacob Arnell | Southborough & District Whls | 01:50:50 |
| 19 | 61 | Archie Peet | Reflex Nopinz | 01:50:52 |
| 20 | 65 | Danylo Riwnyj | Foran CT | 01:50:52 |
| 21 | 84 | Evander Wishart | DECATHLON AG2R LA MONDIALE U19 Team | 01:50:52 |
| 22 | 85 | Isaac Wright | Strada Wheels RT – Lucentsys | 01:50:54 |
| 23 | 26 | Gus Dutton | DECATHLON AG2R LA MONDIALE U19 Team | 01:50:55 |
| 24 | 94 | Guy Tucker | 01:50:55 | |
| 25 | 49 | Oscar Lawrence | Team Culture Velo U19 Team | 01:50:56 |
| 26 | 75 | Sebastien Tyrie | Primera-TeamJobs | 01:50:57 |
| 27 | 34 | Thomas Heal | Raptor Factory Racing | 01:50:57 |
| 28 | 6 | Morris Bacon | DAP Cycling Club | 01:50:58 |
| 29 | 50 | Nathan Levitt | Lee Valley Youth Cycling Club | 01:50:58 |
| 30 | 44 | Jacob James | Wolfox x Pedal Mafia RT | 01:50:59 |
| 31 | 32 | Matthew Gilmour | Primera-TeamJobs | 01:50:59 |
| 32 | 9 | Matty Beecher | Primera-TeamJobs | 01:51:00 |
| 33 | 63 | Joe Reeves | Reflex Nopinz | 01:51:00 |
| 34 | 74 | Nicholas Tyrie | Foran CT | 01:51:01 |
| 35 | 28 | Isaac Dutton | VC Londres | 01:51:02 |
| 36 | 62 | Oscar Pratt | Schils – Doltcini Racing Team | 01:51:06 |
| 37 | 1 | Samuel Abbott | Shibden Apex RT | 01:51:07 |
| 38 | 70 | Tommy Stroud | Velo Club Venta | 01:51:09 |
| 39 | 83 | Tom Williams | Monzon – Incolor – Gub | 01:51:09 |
| 40 | 78 | Ted Ward | Le Col Race Team | 01:51:09 |
| 41 | 89 | Alvaro Trivino Martinez | Halesowen A & CC | 01:51:10 |
| 42 | 41 | Hamish Hunter | Primera-TeamJobs | 01:51:12 |
| 43 | 53 | Olivier Mangham | Richardsons Trek DAS | 01:51:15 |
| 44 | 69 | Alexander Stanley | Le Col Race Team | 01:51:33 |
| 45 | 27 | Sidney Dutton | VC Londres | 01:51:55 |
| 46 | 42 | Dom Jackson | Foran CT | 01:51:56 |
| 47 | 23 | Clay Davies | Ride Revolution Coaching | 01:51:58 |
| 48 | 81 | Brett Wheeler | Le Col Race Team | 01:54:27 |
| 49 | 46 | Jonty King | Wolfox x Pedal Mafia RT | 01:54:28 |
| 50 | 33 | Nathan Hallett | Pronto Bikes | 01:54:29 |
| 51 | 37 | Oscar Hoult | Velo Club Venta | 01:54:29 |
| 52 | 72 | Sam Talent | Velo Club Venta | 01:54:32 |
| 53 | 71 | Stephen Swindley | Royal Navy Cycling | 01:54:36 |
| 54 | 8 | Jack Bartholomew | Stolen Goat Race Club | 01:54:38 |
| 55 | 15 | Bobby Buenfeld | Velo Club Venta | 01:54:40 |
| 56 | 19 | Stanley Cooke | Lee Valley Youth Cycling Club | 01:54:42 |
| 57 | 67 | James Somerfield | TRASH MILE | 01:54:49 |
| 58 | 77 | Archie Waller | Raptor Factory Racing | 01:54:49 |
| 59 | 11 | Samuel Benge | trainSharp Club | 01:54:50 |
| 60 | 95 | Luke Geddes Gasco | Lee Valley Youth Cycling Club | 01:54:55 |
| 61 | 79 | Huw Watkins | Lee Valley Youth Cycling Club | 01:54:58 |
| 62 | 13 | David Bone | Racing Club Ravenna | 01:55:01 |
| 63 | 39 | Charlie Hoy | Pronto Bikes | 01:55:06 |
| 64 | 14 | Patrick Brown | Wolfox x Pedal Mafia RT | 01:55:07 |
| 65 | 59 | Finn O Brian | Team Inca | 01:55:31 |
| 66 | 64 | Oliver Richardson | Le Col Race Team | 02:01:31 |
| 67 | 47 | Sean Lancaric | Le Col Race Team | 02:03:34 |
| 68 | 29 | Sam Fox | Racing Club Ravenna | 02:04:39 |
| 69 | 18 | Samuel Clark | Obidos Cycling Team | 02:08:02 |
| 70 | 2 | Fletcher Adams | Wolfox x Pedal Mafia RT | 02:08:02 |
| 71 | 66 | Tom Smith | One Resourcing RT | 02:08:14 |
| 72 | 45 | Harry Johnson | VC St Raphael | 02:09:19 |
| 73 | 57 | Benjamin Myers | Lee Valley Youth Cycling Club | 02:15:30 |
| 74 | 52 | Jake Lunt | Lee Valley Youth Cycling Club | 02:15:31 |
| 75 | 87 | Daniel Hambridge | League Rt | 02:15:39 |
| DNF | 4 | John APPLEBY | Spirit TBW Stuart Hall Cycling | DNF |
| DNF | 7 | Rowan BAKER | Raptor Factory Racing | DNF |
| DNF | 12 | David BOLTON | Testa Dura Race Team | DNF |
| DNF | 40 | Justin HOY | Pronto Bikes | DNF |
| DNF | 54 | George MITCHELL | Foran CT | DNF |
| DNF | 77 | Archie WALLER | Raptor Factory Racing | DNF |
| DNF | 82 | Evan WILLIAMS | Racing Club Ravenna | DNF |
| DNF | 86 | Oliver FEATHERSTONE | League RT | DNF |
| DNF | 92 | Fredrick EDWARDS | Project 51 | DNF |
| DNF | 73 | William TRUELOVE | MUC-OFF-SRCT-STORCK | DNF |
| DNS | 3 | Theo ANDERSON | Chipphenham & District Wheelers | DNS |
| DNS | 24 | Thomas DOIG | Primera-TeamJobs | DNS |
| DNS | 25 | Matthew DOWNIE | VC St Raphael | DNS |
| DNS | 35 | Theo HESTER | Schils – Doltcini Racing Team | DNS |
| DNS | 43 | Jake JACKSON | MUC-OFF-SRCT-STORCK | DNS |
| DNS | 48 | Toby LANGSTONE | Le Col Race Team | DNS |
| DNS | 60 | August ORA | VC Londres | DNS |
| DNS | 80 | Matthew WEBBER | Wolfox x Pedal Mafia RT | DNS |
| DNS | 88 | Luke MANNINGS | Halesowen A & CC | DNS |
| DNS | 90 | Ben MEEK | Mid Devon CC | DNS |
| DNS | 91 | Sam BEATON | Plymouth Corinthian CC | DNS |
| DNS | 93 | Brendon STEAD | Twickenham CC | DNS |











