2025 Ironman 70.3 World Championship
November 7, 2025 · Marbella, Spain
Race story in the data
Men: Jelle Geens won in 3:42:52 with a +0:03 margin. Jelle Geens had the fastest run (1:07:35).
Women: Lucy Charles-Barclay won in 4:14:54 with a +3:01 margin. Lucy Charles-Barclay had the fastest run (1:17:14).
Men race summary
56 finishers from 57 starters · SOF 96.53
Women race summary
45 finishers from 49 starters · SOF 99.37
Men split podiums
Fastest stored segment times. These are segment rankings, not cumulative race-position order.
Swim
- 1Alessio CrocianiFinish 2722:21
- 2Sebastian WernersenFinish 1822:49
- 3Cameron MainFinish 3722:50
T1
Split unavailable.
Bike
- 1Rico BogenFinish 52:08:54
- 2Mathis MargirierFinish 152:09:09
- 3Kristian BlummenfeltFinish 22:09:12
T2
Split unavailable.
Run
- 1Jelle GeensFinish 11:07:35
- 2Kristian BlummenfeltFinish 21:07:54
- 3Casper StornesFinish 31:08:28
Women split podiums
Fastest stored segment times. These are segment rankings, not cumulative race-position order.
Swim
- 1Lucy Charles-BarclayFinish 125:05
- 2Taylor KnibbFinish 225:52
- 3Jessica LearmonthFinish 725:53
T1
Split unavailable.
Bike
- 1Taylor KnibbFinish 22:28:36
- 2Lucy Charles-BarclayFinish 12:29:41
- 3Sif Bendix MadsenFinish 112:31:25
T2
Split unavailable.
Run
- 1Lucy Charles-BarclayFinish 11:17:14
- 2Georgia Taylor-BrownFinish 41:17:30
- 3Tanja NeubertFinish 31:18:16
PodiumMen
PodiumWomen
Men · Split Rank Flow
Top finishers by stored split rank. Lower lines are worse ranks; this is not cumulative race position at each checkpoint.
Women · Split Rank Flow
Top finishers by stored split rank. Lower lines are worse ranks; this is not cumulative race position at each checkpoint.
Male Pro Results
57 participants
| Pos | Athlete | Time | Gap | Swim | T1 | Bike | T2 | Run | Points |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Jelle GeensBE | 3:42:52 | Winner | 23:19 | — | 2:09:38 | — | 1:07:35 | 99.47 |
| 2 | Kristian BlummenfeltNO | 3:42:55 | — | 23:37 | — | 2:09:12 | — | 1:07:54 | 98.62 |
| 3 | Casper StornesNO | 3:43:52 | — | 22:57 | — | 2:09:52 | — | 1:08:28 | 97.08 |
| 4 | Jonas SchomburgDE | 3:44:37 | — | 22:54 | — | 2:10:03 | — | 1:09:17 | 95.71 |
| 5 | Rico BogenDE | 3:46:29 | — | 23:53 | — | 2:08:54 | — | 1:11:30 | 93.46 |
| 6 | Magnus DitlevDK | 3:46:50 | — | 23:22 | — | 2:09:23 | — | 1:11:10 | 92.44 |
| 7 | Jamie RiddleZA | 3:48:42 | — | 22:55 | — | 2:09:42 | — | 1:13:38 | 90.21 |
| 8 | Simon WestermannCH | 3:48:50 | — | 22:54 | — | 2:10:00 | — | 1:13:18 | 89.40 |
| 9 | Vincent LuisFR | 3:50:07 | — | 22:54 | — | 2:15:02 | — | 1:09:47 | 87.68 |
| 10 | Gregor PayetLU | 3:50:27 | — | 23:24 | — | 2:14:15 | — | 1:10:20 | 86.72 |
| 11 | Panagiotis BitadosGR | 3:51:20 | — | 22:56 | — | 2:13:38 | — | 1:12:18 | 85.35 |
| 12 | Miguel HidalgoBR | 3:51:39 | — | 22:54 | — | 2:15:06 | — | 1:11:19 | 84.44 |
| 13 | Leonard ArnoldDE | 3:51:49 | — | 23:49 | — | 2:14:03 | — | 1:11:27 | 83.67 |
| 14 | Seth RiderUS | 3:52:38 | — | 22:55 | — | 2:14:53 | — | 1:12:24 | 82.38 |
| 15 | Mathis MargirierFR | 3:52:52 | — | 23:34 | — | 2:09:09 | — | 1:17:33 | 81.58 |
| 16 | Nick ThompsonAU | 3:53:13 | — | 23:43 | — | 2:14:06 | — | 1:12:45 | 80.70 |
| 17 | Michele BortolamediIT | 3:53:55 | — | 22:53 | — | 2:15:12 | — | 1:13:25 | 79.54 |
| 18 | Sebastian WernersenNO | 3:55:08 | — | 22:49 | — | 2:15:14 | — | 1:14:51 | 77.99 |
| 19 | Robert KallinSE | 3:55:42 | — | 24:20 | — | 2:13:15 | — | 1:15:13 | 76.96 |
| 20 | Rudy Von BergUS | 3:55:58 | — | 23:38 | — | 2:15:28 | — | 1:14:19 | 76.19 |
| 21 | Kristian HøgenhaugDK | 3:56:26 | — | 23:38 | — | 2:15:14 | — | 1:14:24 | 75.27 |
| 22 | Simon ViainFR | 3:56:43 | — | 23:35 | — | 2:16:53 | — | 1:13:55 | 74.51 |
| 23 | Antony CostesFR | 3:57:03 | — | 23:39 | — | 2:16:51 | — | 1:14:09 | 73.72 |
| 24 | Kevin McDowellUS | 3:57:06 | — | 22:57 | — | 2:15:29 | — | 1:16:22 | 73.17 |
| 26 | Ben KanuteUS | 3:57:14 | — | 23:18 | — | 2:19:03 | — | 1:12:42 | 72.07 |
| 27 | Alessio CrocianiIT | 3:57:38 | — | 22:21 | — | 2:15:24 | — | 1:17:23 | 71.26 |
| 28 | Fabian KraftDE | 3:58:21 | — | 23:04 | — | 2:22:26 | — | 1:10:16 | 70.22 |
| 29 | Kacper StepniakPL | 3:58:32 | — | 23:21 | — | 2:19:38 | — | 1:13:16 | 69.60 |
| 30 | Gabriel SandoerSE | 3:58:59 | — | 23:40 | — | 2:21:34 | — | 1:11:09 | 68.79 |
| 31 | Jason WestUS | 3:59:08 | — | 23:29 | — | 2:22:10 | — | 1:11:09 | 68.22 |
| 32 | Mathias PetersenDK | 3:59:14 | — | 23:41 | — | 2:21:13 | — | 1:11:30 | 67.71 |
| 33 | Emil HolmDK | 3:59:26 | — | 23:15 | — | 2:19:15 | — | 1:14:34 | 67.12 |
| 34 | Louis WoodgateGR | 3:59:28 | — | 23:26 | — | 2:17:01 | — | 1:16:42 | 66.67 |
| 35 | Bart AernoutsBE | 4:00:06 | — | 27:23 | — | 2:17:34 | — | 1:12:14 | 65.75 |
| 36 | Gustav IdenNO | 4:00:18 | — | 24:48 | — | 2:20:17 | — | 1:12:42 | 65.19 |
| 37 | Cameron MainGB | 4:00:22 | — | 22:50 | — | 2:20:14 | — | 1:14:59 | 64.74 |
| 38 | Jake BirtwhistleAU | 4:00:29 | — | 23:40 | — | 2:21:29 | — | 1:12:50 | 64.26 |
| 39 | Tayler ReidNZ | 4:00:34 | — | 23:01 | — | 2:17:24 | — | 1:17:32 | 63.82 |
| 40 | Nick EmdeDE | 4:00:48 | — | 23:30 | — | 2:14:19 | — | 1:20:24 | 63.26 |
| 41 | Henrik GoeschFI | 4:00:57 | — | 23:37 | — | 2:21:27 | — | 1:13:12 | 62.77 |
| 42 | Dieter ComhairBE | 4:01:06 | — | 24:50 | — | 2:20:15 | — | 1:13:23 | 62.30 |
| 43 | Martin DemuthAT | 4:01:36 | — | 22:55 | — | 2:20:05 | — | 1:15:54 | 61.55 |
| 44 | Jackson LaundryCA | 4:02:29 | — | 26:55 | — | 2:16:46 | — | 1:16:11 | 60.49 |
| 45 | Dylan MagnienFR | 4:03:03 | — | 24:24 | — | 2:23:16 | — | 1:12:44 | 59.70 |
| 46 | Anders Toft NielsenDK | 4:03:49 | — | 29:25 | — | 2:19:58 | — | 1:11:42 | 58.76 |
| 47 | Matt HansonUS | 4:03:58 | — | 24:26 | — | 2:24:17 | — | 1:12:23 | 58.31 |
| 48 | Martin Baeza MunozCL | 4:04:31 | — | 23:36 | — | 2:21:40 | — | 1:16:52 | 57.55 |
| 49 | Jarrod OsborneAU | 4:05:05 | — | 25:18 | — | 2:23:10 | — | 1:14:03 | 56.79 |
| 50 | Andrew Horsfall-TurnerGB | 4:05:25 | — | 23:18 | — | 2:21:41 | — | 1:17:44 | 56.22 |
| 51 | Wilhelm HirschDE | 4:08:05 | — | 23:23 | — | 2:25:14 | — | 1:16:59 | 53.78 |
| 52 | Matthew CollinsGB | 4:09:40 | — | 24:53 | — | 2:22:47 | — | 1:19:10 | 52.22 |
| 53 | Matthew RalphsZA | 4:10:36 | — | 25:10 | — | 2:23:33 | — | 1:19:04 | 51.18 |
| 54 | Andreas DreitzDE | 4:11:18 | — | 26:59 | — | 2:25:51 | — | 1:15:06 | 50.35 |
| 55 | John KilleenUS | 4:12:13 | — | 31:03 | — | 2:23:10 | — | 1:15:30 | 49.33 |
| 56 | Valdemar SolokDK | 4:12:33 | — | 22:58 | — | 2:22:08 | — | 1:24:56 | 48.80 |
| 57 | Rostislav PevtsovUA | 4:18:35 | — | 23:34 | — | 2:29:13 | — | 1:22:52 | 43.69 |
| DNF | Max NeumannAU | DNF | — | 24:56 | — | — | — | — | — |
Female Pro Results
49 participants
| Pos | Athlete | Time | Gap | Swim | T1 | Bike | T2 | Run | Points |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Lucy Charles-BarclayGB | 4:14:54 | Winner | 25:05 | — | 2:29:41 | — | 1:17:14 | 103.59 |
| 2 | Taylor KnibbUS | 4:17:55 | — | 25:52 | — | 2:28:36 | — | 1:20:21 | 100.70 |
| 3 | Tanja NeubertDE | 4:22:07 | — | 27:16 | — | 2:33:51 | — | 1:18:16 | 97.02 |
| 4 | Georgia Taylor-BrownGB | 4:23:47 | — | 27:13 | — | 2:36:20 | — | 1:17:30 | 95.10 |
| 5 | Marjolaine PierréFR | 4:23:55 | — | 28:35 | — | 2:32:36 | — | 1:20:05 | 94.25 |
| 6 | Solveig LøvsethNO | 4:24:48 | — | 27:25 | — | 2:35:12 | — | 1:19:24 | 92.90 |
| 7 | Jessica LearmonthGB | 4:26:20 | — | 25:53 | — | 2:32:34 | — | 1:25:17 | 91.12 |
| 8 | Lizzie RaynerGB | 4:28:42 | — | 27:19 | — | 2:38:52 | — | 1:19:46 | 88.78 |
| 9 | Hanne De VetBE | 4:30:01 | — | 27:14 | — | 2:36:01 | — | 1:24:11 | 87.17 |
| 10 | Ellie SalthouseAU | 4:30:24 | — | 27:19 | — | 2:39:39 | — | 1:20:29 | 86.23 |
| 11 | Sif Bendix MadsenDK | 4:31:26 | — | 27:12 | — | 2:31:25 | — | 1:30:12 | 84.85 |
| 12 | Sara SvenskSE | 4:31:58 | — | 30:24 | — | 2:37:48 | — | 1:20:21 | 83.82 |
| 13 | Bianca BogenDE | 4:32:11 | — | 27:14 | — | 2:40:34 | — | 1:21:38 | 83.03 |
| 14 | Rebecca AnderburyGB | 4:33:11 | — | 32:07 | — | 2:35:52 | — | 1:22:04 | 81.72 |
| 15 | Katrine Græsbøll ChristensenDK | 4:33:29 | — | 29:54 | — | 2:38:56 | — | 1:21:42 | 80.89 |
| 16 | Nicole Van der KaayNZ | 4:34:08 | — | 27:10 | — | 2:42:45 | — | 1:21:38 | 79.84 |
| 17 | Grace ThekAU | 4:34:39 | — | 28:44 | — | 2:40:52 | — | 1:22:14 | 78.89 |
| 18 | Jeanne CollongeFR | 4:35:10 | — | 29:11 | — | 2:42:21 | — | 1:20:13 | 77.96 |
| 19 | Djenyfer ArnoldBR | 4:35:26 | — | 26:59 | — | 2:45:00 | — | 1:20:49 | 77.21 |
| 20 | Milan AgnewAU | 4:37:00 | — | 28:33 | — | 2:43:07 | — | 1:22:28 | 75.57 |
| 21 | Charlene ClavelFR | 4:37:25 | — | 28:44 | — | 2:41:50 | — | 1:23:36 | 74.73 |
| 22 | Megan McDonaldGB | 4:38:46 | — | 28:40 | — | 2:42:33 | — | 1:24:38 | 73.27 |
| 23 | Caroline PohleDE | 4:38:59 | — | 27:13 | — | 2:44:03 | — | 1:24:56 | 72.60 |
| 24 | Solenne BillouinFR | 4:39:19 | — | 29:56 | — | 2:42:21 | — | 1:24:30 | 71.85 |
| 25 | Sandra HuonFR | 4:40:56 | — | 32:05 | — | 2:44:27 | — | 1:21:30 | 70.23 |
| 26 | Danielle LewisUS | 4:41:27 | — | 29:57 | — | 2:41:58 | — | 1:26:49 | 69.38 |
| 27 | Lisa BecharasUS | 4:42:23 | — | 29:38 | — | 2:43:39 | — | 1:26:20 | 68.25 |
| 28 | Maja Stage NielsenDK | 4:42:25 | — | 28:25 | — | 2:44:19 | — | 1:26:28 | 67.76 |
| 29 | Regan HollioakeAU | 4:43:26 | — | 28:34 | — | 2:44:15 | — | 1:27:05 | 66.59 |
| 30 | Bridget TheunissenZA | 4:46:25 | — | 29:05 | — | 2:46:59 | — | 1:26:59 | 64.08 |
| 31 | Cecilia PerezMX | 4:47:04 | — | 28:38 | — | 2:52:17 | — | 1:23:04 | 63.18 |
| 32 | Rachel BrownGB | 4:47:22 | — | 31:58 | — | 2:48:58 | — | 1:23:27 | 62.54 |
| 33 | Emilie MorierFR | 4:48:22 | — | 28:50 | — | 2:37:52 | — | 1:38:11 | 61.42 |
| 34 | Francisca GarridoCL | 4:48:32 | — | 30:22 | — | 2:51:53 | — | 1:23:10 | 60.89 |
| 35 | Nina DerronCH | 4:49:01 | — | 30:00 | — | 2:48:57 | — | 1:27:16 | 60.14 |
| 36 | Luisa Iogna PratIT | 4:50:14 | — | 27:19 | — | 2:55:06 | — | 1:24:53 | 58.90 |
| 37 | Jessica SmithUS | 4:52:51 | — | 29:52 | — | 2:51:37 | — | 1:27:39 | 56.70 |
| 38 | Adele LikinUS | 4:53:57 | — | 31:53 | — | 2:54:14 | — | 1:24:18 | 55.55 |
| 39 | Kristen MarchantCA | 5:02:45 | — | 28:48 | — | 2:52:28 | — | 1:37:47 | 49.09 |
| 40 | Caroline KaplanUS | 5:04:53 | — | 29:38 | — | 3:03:46 | — | 1:28:11 | 47.99 |
| 41 | Carolyn OlsenUS | 5:04:54 | — | 34:22 | — | 3:01:08 | — | 1:25:30 | 47.62 |
| 42 | Freya MckinleyUS | 5:06:59 | — | 28:41 | — | 2:55:25 | — | 1:39:53 | 47.27 |
| 43 | Mariella SawyerZA | 5:09:46 | — | 34:21 | — | 3:01:57 | — | 1:30:33 | 46.92 |
| 44 | Macarena Salazar EzquerraCL | 5:14:15 | — | 28:42 | — | 3:04:40 | — | 1:37:35 | 46.58 |
| 45 | Hannah SakalukUS | 5:14:59 | — | 28:36 | — | 3:11:10 | — | 1:31:49 | 46.24 |
| DNF | Laura JansenDE | DNF | — | 29:12 | — | — | — | — | — |
| DNF | Kat MatthewsGB | DNF | — | 27:17 | — | 2:31:10 | — | — | — |
| DNF | Paula FindlayCA | DNF | — | 27:24 | — | 2:32:34 | — | — | — |
| DNF | Lydia RussellUS | DNF | — | 28:39 | — | 4:19:26 | — | — | — |