Ironman World Championship - Nice 2025 - Race Report
Too Long; Didn’t Read
On Sunday, September 14, 2025, I completed the Men’s Ironman World Championship
in Nice, France. The 3.8 km swim was in the warm, blue Mediterranean Sea. The
180 km bike was through the rugged Maritime Alps. The 42.2 km run was along the
seafront promenade, lined with cheering crowds. This was an amazing, humbling,
once-in-a-lifetime opportunity to compete in the marquee event of the sport I
love and have spent the last 21 years competing. My final time was 13 hours, 39
minutes.
*** Needle scratch sound effect *** Yup, that’s
me. You’re probably wondering how I ended up in this situation.
The Ironman World Championship is long course triathlon’s
most prestigious event. It is an iconic race that is reserved for elite professional racers, and best of the best amateurs. To qualify for
the World Championship, you must be among the fastest finishers in your age
group at a qualifying event. …typically…
I qualified at Ironman Ottawa, which was held 6 weeks prior
to the World Championships. Six weeks is a quick turnaround. Not a lot of
people are willing to tackle two Ironmans nearly back-to-back. On top of that,
the men’s race this year was in Nice, France – and not Kona, Hawaii – which
holds a more legendary prestige and thus a more desirable destination. If the
top people in your age group don’t take their spots, they “roll down”, to the
next fastest, and so on and so on… until someone takes them; and that’s where the rolldown magic worked in my favour, and
me – in 39th position grabbed a spot that would never be available in any other circumstance.
The Interim Training
I had six weeks between races. I took the first week very light, and then
focused on climbing hills in Gatineau Park and also getting some long slow runs
into my legs. I was in decent shape going into Nice. I actually felt like I had
made some running gains between Ottawa and Nice, and thought I was maybe on
track to get that elusive 4-hour Ironman marathon (insert retrospective
laughter here).
Arrival, Logistics, and Pre-Race
Getting to Nice was simple enough — plenty of direct flights from Montreal. We
cut things close though, landing on Friday morning with the race on Sunday. The travel
was uneventful, and the six-hour time change didn’t hit us too badly. On arrival, we took
the tram (bike bag and all) from the airport right into the middle of town to
the Ironman expo for registration. There were no line
ups, and registration was done in 10 minutes. From there, it was a 2 km walk to
our Airbnb, where we got lucky with an early check-in.
The first order of business was reassembling the bike,
always a nervous time as you hope it survived the flight unscathed. It did. A
quick spin down the Promenade confirmed all the gears were working and the bike was rolling as it should.
That evening was the athlete banquet. The imposter syndrome started to fade, and
I finally accepted it: F’ this, I belong here.
Saturday was spent at the expo, dropping money on useless knick-knacks
like a $27 water bottle and a $5 sticker, but most importantly - sourcing some
CO₂ cartridges since you can’t fly with them (these are used for quick tire inflation in case
of a flat). Back at the apartment, I packed my two transition bags — one for
the swim-to-bike, one for the bike-to-run — and headed down to the transition
area to rack the bike and drop the bags.
Nighty night. I actually slept reasonably well. Calm, nonchalant; nothing to prove, nothing to lose. This was
my Ironman swan song, the cherry on the cake of my triathlon career.
Race Morning
My swim start was scheduled for 7:54 a.m., the second-to-last wave. We had
pre-booked an Uber to drop us near to the start, but with all the road
closures, he only ended up taking us about 500m. Lol.
Race morning faffing about was held to a minimum. I got into
transition, found a buddy with a bike pump, pumped up to 80psi, made sure there
was no brake rub, put my bottles on my bike, made a successful visit to the
porta-potty, and found Guylaine on time to hear the pros go off at 7:05.
Shortly thereafter we said our goodbyes, and I headed down to the staging area on
the beach to settle in.
As each wave was sent off, the announcer was playing a song
that synched up with that age-groups’ party song. Ours got everyone pumped… Thunderstruck.
The Swim
The hot topic leading up to race day was whether wetsuits would be legal.
Wetsuits were invented to combat cold water but have the added benefit of buoyancy
and can improve swim speed by 10%. They are a huge help for weaker swimmers. At
a certain temperature wetsuits are banned because they can lead to overheating.
Ottawa was borderline and was wetsuit legal. The water temperature on race day
in Nice was above the threshold – so wetsuits were not allowed. In lieu of
wetsuits, participants are allowed to wear “swim skins”, which are fabric
unitards that keep all your bits and pieces tight to the body, and marginally
reduce drag.
The swim start line was 25 meters offshore, between two
inflatable buoys. A couple of stand up paddleboarders patrolled a line to keep
us in check before the horn went off. Well, I totally didn’t know this, and as
soon as we were released into the water, I took off like a bat out of hell, and
swam the fastest 25 meters of my life, only to come to a complete dead stop at
the “official” start line – duh.
Swim start – take 2 – Horn goes off, and now, we are
swimming. I’m a good swimmer, but everyone else here, thinks they’re good
swimmers. It was chaotic. Being at the front means you’re going to get kicked,
punched, elbowed and boxed in. I held back a bit, not wanting to exit early
with an injury. Somewhere in the chaos though, I was smiling. I was staring
into the bright turquoise of the Baie des Anges, with a grin from ear to ear:
“Phil, you’re at the Ironman World Championship!”
The swim course was like a pair of pants. Straight out for
800m, turn right, straight for 200m, turn right, 800m back to shore (one leg of
the pants done), head back out for another leg and end up back on the beach.
The chaos settled after a while and would ebb and flow as we picked up and swam
through blobs of slower swimmers from previous waves. This would also bring me
a smile. Passing people is more fun.
Transition 1
One hour and seven minutes after starting, I hit the rocky
beach shore and finished the first course of the day. I was 38th out
of 359. It was a good time for me, particularly without the aid of a wetsuit,
but with the added benefit of saltwater buoyancy. The run to bike, was up a
ramp off the beach, through a series of racks where our individual bags are
hanging, and then into a large change tent. The tent was filled with 200+
chairs. Each one was fully occupied. Bummer, I ran to the end of the tent,
dumped my bag on the floor – got organized; swimskin off, helmet on, sunglasses
on, cliff bar in mouth, shoes in hand. The run from tent-exit to my bike spot
was about 300m. It felt like an eternity to get there. Eventually, I was united
with my bike. Shoes on, a quick check of the tires to make sure the pressure
was good, and I was off. Guylaine was able to catch me on the way out and
cheered me on.
My day almost ended at the bike mount line. I’m not super
stable myself getting on my bike after an ironman swim, but the guy immediately
in front of me was much less so – and was having difficulty clipping his shoes
in, I miscalculated his ability, and he almost side-swiped me zig-zagging his
way onto the bike course. Catastrophe averted. I was off.
The Bike
The bike course here is tough. I knew that it would be the
toughest Ironman bike courses I have done. What makes it tough is not only the
climbing, but also the descending. The total elevation gain is over 2400
meters. I had broken it down as follows: 10K flat, 22K rolly with two steep
kickers, 8K downhill, 20K constant climb at 5%, 52K rolly, 12K downhill, 10K
climb at 5%, 33K downhill with a 2K climb mixed in, and then 10K flat back to
transition.
Some of the bike course was literally carved out of the
mountains. The route featured tunnels, multiple switch-backs, rock arches,
stunning views, and a valley spanning viaduct. At one point, I was at the
bottom of a long snaking climb, and could see bikes far above me, “oh man, I wish that was me” I said. An hour
later, I was at the top of the same climb, looking down at the bikes on their
way up – “suckers!”.
Triathlon bikes, with their deep, aerodynamic wheels, have a
unique sound; particularly at speed. On the top plateau section of the course,
there was a long and narrow out-and back, it was relatively flat – and a good
opportunity for us to stretch out low in our aerobars and get generate some
speed. The sound of bike, after bike, whizzing by was pretty cool.
What goes up, must come down.
Honestly, I was mostly afraid of the downhill. But it was
awesome. I felt like I was in a Need-for-Speed video game. The cliffs and
landscape whizzing by. My top speed was never too high, as the line down was
twisty and turny, you’d hit max speed and then have to slow down for the
upcoming (almost) hairpin turn. Sighting ahead where you want to go and steering
with the belly button was the trick to keeping a tight turn.
Cue the weird noise from my bike… at maximum speed, my rear
wheel started emitting an unnervingly loud noise – “Oh god, please don’t lock
up!” I had visions of my bike suddenly catapulting me off the mountain. It felt
fine, it was just really loud. I made it down the mountain and back safely,
phew. I’ve since Googled the issue, it’s literally called the Mavic Death
Squeal and is a known issue with my wheels.
The final 10K. At this point, I’ve been on the longest bike
ride of my life, almost 7 hours. I’m feeling pretty tired and anxious to get
back into transition. My feet are on fire. The heat on my soles is becoming unbearable
– back on the promenade with 6K to go, I took my feet out of my shoes and rode on
top of my shoes – ah, instant relief. Much less power, but the compromise was
worth it.
Transition 2
I pulled up to the dismount line, and swung my leg over my
bike, feeling like an old man. Oh god, how am I going to run a marathon??? I
was stung with a slight moment of disappointment – usually, in World
Championship events, you finish the bike, and a volunteer whisks away your bike
for you, a nice touch, but alas, not here, I had to clumsily jog with it 300m
back to my racking spot. Back in the transition tent for a full gear change –
shorts, t-shirt, shoes and hat. On with my running belt that held a maple syrup
gel pack and my race number, and off I went for the marathon.
The Run
I was mentally prepared for the run. In my head it was going
to be boring, and I was ready for that. 42km broken up into 4 pancake-flat out
and backs. Run 5.25km out towards the airport, 180 degree turn and 5.25km back
towards the finish line, repeat for 4 loops. No problem. I was pretty tired
starting the run, and had conceded that a 4-hour marathon was not in the cards.
I was still determined to keep the pace around 6 minutes and hope for a
4:30.
I set off and was optimistic - I really felt like I was
running nice and slow – The first K was 5:40 (pleasantly surprised) but even
then, I told myself to slow it down – the next K was 5:28 (Oh jeepers, we know
how this ends). No, no, no, slow it down… shortly thereafter, I spotted
Guylaine on the sideline, I veered in for a kiss and hug, I told her I felt
fine (I did). The run out to the airport was facing the warm sun. The run back
was into a headwind. I power-walked most of the aid stations dumping water on
my head and back, ice in my shirt, always a cup of precision hydration
electrolyte drink and a gel every 10K or so (In retrospect, I probably needed
more than that, but that’s all I could muster the courage to try and swallow at
the time). Laps 1 and 2 were great. On pace and high spirits. Half-marathon
split was 2:04 – This is going to be great…. And then it happened. I started to
let myself walk. The mental games took up most of lap 3 – Keep running to that crosswalk,
as I approached it, I would sight another spot in the distance, ok – keep running
to that street-sign, etc. etc. By lap 4, the sun had gone down, and the wind
had picked up – I was getting chilled, and the mental games were looking more
like – start running at that bush… ok, if not that bush, then that crosswalk…
ok, at that sign we start running again. Because of the out-and-back, I would
see Guylaine 8 times on the run, and that really helped keep me motivated. At
one point, I met up with a guy from Ogdensburg and we chatted about the Maple
City Triathlon and the Cornwall Triathlon.
Eventually, one last turn at the airport and I knew there was
only 5K left. There was no doubt I was going to finish. I was way off my target
time, but then again, that was just an arbitrary number. I was going to finish
the Ironman World Championship, and I was smiling. Probably too much. Almost
everyone along the sidelines (and they were completely packed) would say things
like, “There you go! What a smile!”.
And then the moment I was looking forward to the most. The fork
in the road – to the left it’s marked Laps 2 and 3. To the right, it’s marked “Finish
Line”.
“Phil Barnes from Canada…. You are an Ironman… that’s how
you do it”
Conclusion
This report could go on and on. There’s plenty I haven’t
even touched on. But it conveys the gist of the experience. I’m completely
thrilled and grateful I had the opportunity to participate in this event. It’s
a unique opportunity – imagine as a duffer golfer, getting the chance to play in
the Masters? Or the local tennis expert getting a call up to Wimbledon. This is
the big-show for triathlon, and I was there. Awesome.
My performance was acceptable. I’m always hard on myself
though. The swim was great, the transitions were so-so, the bike was mostly
controlled but I seemed to lack energy. The run was good until it wasn’t.
Ironman is tough – I seemed to have had it easy back-in-the day, but now I just
don’t have the will to endure the necessary training to get that run down to
where it needs to be, and I don’t have the fortitude to put up with the discomfort
during the event to eek out a few extra minutes here or there. I’m fine with
that. It was my longest and slowest race by far, but I can retire now from ultra long distance racing with the rare honour of
having done this event.
Geek Stuff
Swim: Synergy swimskin. Bike: 2013 Cervelo P2 @ 50/34 with
12-32; bottle cage on downtube, profile-design aerodrink up front and behind
the saddle bottle holders for flat kit and spare bottle; Mavic Cosmic Pro
aluminum wheelset with 45mm fairing; rim brakes; 25mm Continental GP5000 tires
with latex tubes; aero road helmet. Run: Saucony Endorphin Speed 5. Race
weight: 157 lbs (71.4kg) Average Bike Power: 139W (2.0 W/kg); Normalized Power:
168W (2.4 W/kg). Max 20-minute 199W (2.8 W/kg). Max 60-minute 180W (2.5 W/kg), the
climb from 40km to 54km.
Nutrition
Breakfast: 2 bowls of Choco-Flakes, banana. Setup: Clif bar
+ sip 1 bottle of Gatorade. Pre-swim: 1 x Gu w/Caffeine. T1: Clif Bar. Bike: 1
bottle Maurten 320, 3 bottles Gatorade, 2 bottles of Precision Hydration, water
when possible, 1 Scratch chews, 1/2 pack of Clif Blocks, 3 half Maurten Bars,
4-5 gels, 3 salt pills. Run: 4-5 gels, Precision Hydration every station. If I
never see another Maurten Gel, I won’t be sad. 1 porta-potty stop in T1, 2 on
the bike, 1in T2.
What’s next?
See you in Kona, Baby! Guylaine will be racing the Women’s
Ironman World Championship on October 11. Let’s Gooo!
|
|
| Out of the water |
|
|
| Feeling great about the swim |
| Young and naive |
|
|
| Magnificent bike course |
|
|
| On the run, heating up! |
|
|
| Lap 2 of the run |
|
|
| Finally, down the finish chute! |
|
|
| Woo! Big finish! |
|
| Finished! |
|
| A long day. Humbling results. Grateful for the opportunity. |


