They predicted it would happen, but even given their renowned talent, few observers believed that the Norwegian trio of Casper Stornes, Kristian Blummenfelt, and Gustav Iden could pull off a historic one-two-three at the men’s Ironman World Championship in Nice.
Yet as a compelling day unfolded on the French Riviera, the story began to play out in the same way it had in short-course racing at the Bermuda World Series in 2018 and at Ironman 70.3 Bahrain a few months later.
At the finish it was world championship debutant Stornes, the least heralded of the three, who took the ultimate prize – the 28-year-old joining Iden (Hawaii 2022) and Blummenfelt (St George 2022) in winning the coveted title by breaking away from his training partners in the second half of the marathon.
After much swapping of places it was Iden who finished second, capping a remarkable return to form after the loss of his mother and injury threatened to derail his career. A cramping Blummenfelt hung tough to round out the podium.
All three Norwegians broke 8hr and the finish clock for the combined 140.6 miles stopped at 7:51:36, taking 15min off 2023 champion Sam Laidlow’s winning time here. Stornes even ran a 2:29:22 marathon, the first time any triathlete had ducked under 2:30 in an Ironman World Championship.
But however impressive the numbers, the impact of the red flag with a navy blue Scandinavian cross flying in triplicate was bigger.
It came against the backdrop of Blummenfelt and Iden having skipped this race two years ago as they turned their focus to the Olympics.
And it also meant not only defeat of Laidlow, whose eventful race eventually ended with a fifth-place finish, but an all-star cast including defending champion Patrick Lange – who clawed back to ninth after being jettisoned early on the bike – and the giant Dane Magnus Ditlev, who called it quits on the marathon.
As the final race in Nice before both the men’s and women’s Ironman worlds heads back to Hawaii next year it was a fearless contest of attrition shaped by a record-breaking swim, Belgian Marten Van Riel taking charge of the bike leg into the Maritime Alps, before Laidlow helped haul both himself and the Norwegians back into contention as six men came to the start of the marathon together.
But it wasn’t a day for British interests as the experienced Joe Skipper was best placed in 26th, with Harry Palmer last of the pro finishers in 40th, as the race saw a host of DNFs.
“It was just really hard on the bike – flat out and hang on for as long as you can,” Norfolk’s Skipper, 37, said. “I blew up a bit and then just tried to recover and the marathon was just tough with the wind. It was just a really hard day.”
What happened in the swim?
There was plenty of pre-race talk about how the training group of Laidlow, South African youngster Jamie Riddle and Australia’s Nick Thompson would look to take out the swim at speed and create a gap on the rest of the field.
Together with Germany’s Jonas Schomburg and Switzerland’s Andrea Salvisberg they added willing firepower for the non-wetsuit contest over an M-shaped course off the Cote d’Azur.
But while the pace was on, there was an early surprise as Laidlow, who had wins in Roth and Leeds earlier this summer, pulled up, seemingly in distress, and reverted to backstroke for a period as he dropped through the field. “I cramped in both hip flexors and couldn’t wait to get out of the water to be honest,” was his post-race explanation.
There was no let up at the front and Salvisberg was first out of the water in 45:12 – the fastest time ever recorded in an Ironman World Championship, breaking the 45:43 mark set last year in Hawaii by Australian amateur Sam Askey-Doran.
To Askey-Doran’s credit, he also broke his old record by a second and overtook a handful of pro stragglers as he emerged from the Mediterranean as the first age-grouper.
Salvisberg was followed out of the water by Schomburg, Riddle and Van Riel in a front group of 12 with a pack containing Blummenfelt, Ditlev, USA’s Rudy Von Berg and Denmark’s Kristian Hogenhaug just under a minute down.
Laidlow came into transition a further minute back, but looked unsettled as he stretched out his back as he prepared to go out on the bike course.
What happened on the bike?

Kieran Lindars (left) was forced to drop out on the bike leg after feeling sick. Pic credit: Ryan Sosna-Bowd
The front group continued to push the pace in the early stages of the bike ride with Schomburg, Riddle and Van Riel – all racing their first Ironman World Championship – showing the intensity of years spent short course racing to attack the early hills.
Laidlow was the fastest on course through the first 30 miles, fighting his way up to fourth place, but defending champion Lange was either biding his time riding conservatively or struggling as he started to lose minutes to the front.
The biggest climb on the course, the Col de l’Ecre, saw a trio of Van Riel, Riddle and Schomburg forge clear, but Laidlow was riding with the Norwegian trio and Ditlev at 2mins back and there was all to play for as the pre-race favourites jostled for position.
They negotiated the plateau through the central section of the bike leg before Van Riel made a move on the twisting descent ahead of the climb to Coursegoules – the final extended ascent before the long downhill section into Nice.
As Laidlow and Blummenfelt fought their way to within a few seconds of Van Riel, Riddle and Schomburg started to crack and slip back in the other direction, looking as if their challenge was over.
It wasn’t the day the Brits had been dreaming of as Kieran Lindars, who had only qualified as recently as Ironman Leeds in July, was 12th after the swim but dropped out after 40 miles on the bike. In his first year of pro racing, Zack Cooper was another GB casualty, also calling it quits at a similar stage.
It left Palmer and Skipper as the best of the remaining GB athletes but both were more than 15mins behind going into the final stages of the 112-mile ride.
Laidlow worked his way into the lead just before the 100-mile mark, but with the top six within a minute of one another coming into transition any set of results looked possible.
As for the splits, Laidlow’s unofficial race-best of 4:29:29 was more than 2min faster than the bike time he set on the same course in 2023.
It was the fourth consecutive year that Laidlow had set the fastest bike split at the event, suggesting that with a flat marathon to follow, it was going to be another record-breaking day on the French Riviera.
What happened on the run?
Six athletes, including Laidlow, Van Riel, Thompson and the Norwegian trio headed out on to the four-loop marathon together, setting up the potential for an encounter rarely seen at this level in Ironman.
Thompson was the first to struggle, but it was the beginning of the second lap when Iden and Blummenfelt seized the opportunity afforded by a tailwind to break clear.
Stornes was still in contention, less than 30sec back, but Laidlow and Van Riel were trying to limit their losses as they approached the halfway mark of the run.
The leading duo were on sub-2:30 marathon pace for the first half-marathon, but Stornes, whose best Ironman result had been third place in Frankfurt in June, wasn’t quitting and forced his way back into the mix at the start of the third lap.
The race continued to ebb and flow, with Iden dropping off, Stornes making a move on Blummenfelt, and then Iden pushing hard to get back on the shoulder of the Tokyo Olympic champion.
As they entered the final part of the marathon, Stornes looked better and better, zipping up his trisuit and cruising along the Promenade des Anglais to take the finish tape, with Iden finishing strongly to place second, and Blummenfelt just about keeping the cramps at bay enough to make the finish chute.
Men’s 2025 Ironman World Championship results
- Casper Stornes (NOR) 7:51:39
- Gustav Iden (NOR) 7:54:13
- Kristian Blummenfelt (NOR) 7:56:36
- Marten Van Riel (BEL) 8:02:18
- Sam Laidlow (FRA) 8:03:55
- Jonas Schomburg (GER) 8:07:04
- Nick Thompson (AUS) 8:10:37
- Matt Marquardt (USA) 8:11:34
- Patrick Lange (GER) 8:14:13
- Jamie Riddle (ZAF) 8:15:00