The triathlon training blog of Phil Barnes

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.