The IRONMAN 70.3 São Paulo 2026 is a flat, fast half distance triathlon run entirely out of the University of São Paulo campus, with a rowing channel swim, a closed highway bike leg along the Pinheiros River, and a three loop run back on campus. Here's your course breakdown and Best Bike Split race plan for race day.
If you're lining up for São Paulo in 2026, you're racing one of the flattest 70.3s on the calendar. This isn't a course that punishes climbers or rewards a big engine on a wall of a hill. It's a fast highway bike leg with almost no vertical relief, which sounds like good news until you realize a flat course removes the natural excuse to back off. Riders who treat São Paulo like a time trial instead of the front half of a half Ironman are the ones limping through the run.
IRONMAN brought a 70.3 race to São Paulo in 2019, and after the pandemic wiped out 2020 and 2021, the event returned in 2022 and has run every September since. The 2026 edition is the sixth, and it has grown into one of the largest triathlon weekends in Brazil, drawing roughly 2,000 age group and elite athletes from more than 20 countries to a city better known for traffic than triathlon. Itaú BBA has sponsored the race for years, and organizers estimate the weekend brings tens of millions of reais into the local economy, second in Brazil only to the full distance IRONMAN Brasil race in Florianópolis.
The race doubles as a stop on Brazil's national triathlon circuit and offers qualifying slots to the IRONMAN 70.3 World Championship, so the field includes a genuine professional contingent racing for prize money alongside the age group wave. Past winners include José Belarmino, a repeat champion on this course, and in 2024 the top two amateur spots went to Manuel Messias and Djenyfer Arnold, both fresh off competing at the Paris Olympics. Everyone starts and finishes inside the same USP campus, which gives São Paulo a closed loop, spectator friendly feel that's rare for a race this size.
The swim covers 1.9 kilometers as a single loop up and back the Raia Olímpica, the Olympic rowing channel that runs through USP's Cidade Universitária campus. It's flat, fresh water, and shielded from wind and boat traffic, about as controlled a swim as a 70.3 offers. Athletes exit near the athletics track and head into transition without much of a run to the bikes.
The bike is 90.1 kilometers split into two laps of roughly 45 kilometers each. Riders leave USP on Avenida Lineu de Paula Machado before turning onto Marginal Pinheiros, the riverside expressway that gets shut down to cars for the morning. From there the course runs south toward Morumbi and back, passing under the cable stayed Ponte Estaiada twice per lap, one of the city's most recognizable landmarks. The road surface on the closed highway is smooth and wide, and the terrain is about as flat as triathlon courses get, but two laps means two turnarounds, and a fast, open highway with cones and lapped traffic is not the same as a quiet country road. Positioning and bike handling through the turnarounds matter more here than raw power.
The run finishes the day with three loops of roughly seven kilometers each, back inside the USP campus. It's flat to gently rolling, shaded in patches by the campus tree cover but exposed through the open stretches near the track and river, with aid stations spaced through each loop. The repetition means you'll pass the finish line area more than once before you're actually done, which is either motivating or demoralizing depending on how your legs feel by lap two.
Late September in São Paulo sits in early spring, and the weather can swing hard within a single day. Average highs run around 75 degrees Fahrenheit with morning lows in the high 50s, but São Paulo is famous for cold fronts that roll through with little warning, dropping temperatures and bringing rain even when the forecast looked clear the day before. The month sees close to four inches of rain on average, and race morning starts before dawn when temperatures are at their coolest, before warming into the run. Riders and runners should plan for a range rather than a single number, and keep an eye on the week's forecast for any incoming front that could turn a warm, dry race into a wet one.
São Paulo gets talked about as an easy course because there's no climbing to speak of, and that's exactly why so many athletes go too hard on the bike and pay for it on the run. A BBS race plan for IRONMAN 70.3 São Paulo 2026 will:
This power plan was modeled for an athlete with an average CdA of 0.2875, an FTP of 285 watts and weighing 75 kg. Want to see what your time would be on the IRONMAN 70.3 São Paulo course? Try the Time Analysis feature below, where you can quickly adjust Drag, Power, Weight and Crr to your own values. Check out our demo race plan to see what a premium race plan looks like.
| Interval | Int. Time | Total Time | Int. Dist. | Total Dist. | Grade | Speed | Power |
|---|---|---|---|---|---|---|---|
| #1 | 00:04:49 | 00:04:49 | 2.93 km | 2.93 km | +0.26 % | 36.48 km/h | 214 w |
| #2 | 00:00:08 | 00:04:57 | 0.07 km | 3.00 km | +8.07 % | 28.85 km/h | 280 w |
| #3 | 00:02:03 | 00:07:00 | 1.32 km | 4.32 km | -0.78 % | 38.41 km/h | 197 w |
| #4 | 00:00:06 | 00:07:06 | 0.08 km | 4.40 km | -7.07 % | 48.48 km/h | 120 w |
| #5 | 00:01:24 | 00:08:31 | 0.67 km | 5.07 km | +3.43 % | 28.62 km/h | 263 w |
| #6 | 00:00:42 | 00:09:14 | 0.48 km | 5.55 km | -2.72 % | 40.48 km/h | 171 w |
| #7 | 00:03:27 | 00:12:41 | 2.01 km | 7.56 km | +0.57 % | 34.95 km/h | 222 w |
| #8 | 00:01:07 | 00:13:49 | 0.33 km | 7.89 km | +6.39 % | 17.67 km/h | 275 w |
| #9 | 00:00:32 | 00:14:21 | 0.36 km | 8.25 km | -3.88 % | 39.43 km/h | 157 w |
| #10 | 00:00:14 | 00:14:36 | 0.16 km | 8.41 km | +3.68 % | 39.43 km/h | 291 w |
| #11 | 00:02:11 | 00:16:48 | 1.10 km | 9.51 km | +1.46 % | 29.99 km/h | 236 w |
| #12 | 00:00:14 | 00:17:02 | 0.15 km | 9.66 km | -2.37 % | 38.87 km/h | 172 w |
| #13 | 00:00:08 | 00:17:10 | 0.08 km | 9.74 km | +8.07 % | 32.83 km/h | 280 w |
| #14 | 00:01:06 | 00:18:17 | 0.75 km | 10.49 km | -2.20 % | 40.56 km/h | 172 w |
| #15 | 00:01:11 | 00:19:29 | 0.40 km | 10.89 km | +7.15 % | 20.07 km/h | 278 w |
| #16 | 00:01:08 | 00:20:38 | 0.65 km | 11.54 km | -0.53 % | 34.20 km/h | 200 w |
| #17 | 00:00:36 | 00:21:14 | 0.23 km | 11.77 km | +3.52 % | 22.96 km/h | 281 w |
| #18 | 00:01:08 | 00:22:23 | 0.81 km | 12.58 km | -3.39 % | 42.57 km/h | 169 w |
| #19 | 00:02:19 | 00:24:43 | 1.41 km | 13.99 km | +0.31 % | 36.26 km/h | 217 w |
| #20 | 00:02:53 | 00:27:37 | 1.84 km | 15.83 km | -0.44 % | 38.18 km/h | 207 w |
| #21 | 00:00:40 | 00:28:17 | 0.32 km | 16.15 km | +4.43 % | 28.62 km/h | 268 w |
| #22 | 00:00:24 | 00:28:42 | 0.30 km | 16.45 km | -6.09 % | 43.41 km/h | 134 w |
| #23 | 00:02:50 | 00:31:33 | 2.02 km | 18.47 km | -0.64 % | 42.59 km/h | 199 w |
| #24 | 00:00:25 | 00:31:58 | 0.29 km | 18.76 km | +1.04 % | 40.14 km/h | 229 w |
| #25 | 00:00:25 | 00:32:24 | 0.11 km | 18.87 km | +10.28 % | 16.01 km/h | 282 w |
| #26 | 00:00:33 | 00:32:57 | 0.37 km | 19.24 km | -4.69 % | 39.44 km/h | 148 w |
| #27 | 00:01:10 | 00:34:08 | 0.76 km | 20.00 km | -0.27 % | 38.86 km/h | 209 w |
| #28 | 00:00:04 | 00:34:13 | 0.05 km | 20.05 km | -4.20 % | 37.75 km/h | 152 w |
| #29 | 00:01:25 | 00:35:38 | 0.61 km | 20.66 km | +3.86 % | 25.89 km/h | 255 w |
| #30 | 00:00:17 | 00:35:55 | 0.18 km | 20.84 km | -8.22 % | 37.35 km/h | 115 w |
| #31 | 00:00:05 | 00:36:01 | 0.08 km | 20.92 km | -3.39 % | 53.76 km/h | 160 w |
| #32 | 00:01:53 | 00:37:55 | 1.19 km | 22.11 km | +0.02 % | 37.78 km/h | 212 w |
| #33 | 00:00:08 | 00:38:03 | 0.10 km | 22.21 km | -4.46 % | 42.62 km/h | 148 w |
| #34 | 00:00:36 | 00:38:39 | 0.28 km | 22.49 km | +4.74 % | 27.57 km/h | 262 w |
| #35 | 00:03:41 | 00:42:21 | 2.25 km | 24.74 km | -0.59 % | 36.63 km/h | 202 w |
| #36 | 00:00:14 | 00:42:35 | 0.08 km | 24.82 km | +12.51 % | 20.46 km/h | 287 w |
| #37 | 00:03:29 | 00:46:04 | 2.21 km | 27.03 km | -0.34 % | 37.97 km/h | 203 w |
| #38 | 00:00:56 | 00:47:01 | 0.49 km | 27.52 km | +2.42 % | 31.07 km/h | 248 w |
| #39 | 00:00:15 | 00:47:16 | 0.19 km | 27.71 km | -6.27 % | 43.37 km/h | 128 w |
| #40 | 00:03:11 | 00:50:28 | 2.11 km | 29.82 km | +0.01 % | 39.59 km/h | 208 w |
| #41 | 00:00:04 | 00:50:33 | 0.07 km | 29.89 km | -8.69 % | 49.63 km/h | 51 w |
| #42 | 00:00:09 | 00:50:42 | 0.07 km | 29.96 km | +18.37 % | 28.09 km/h | 348 w |
| #43 | 00:02:36 | 00:53:18 | 1.67 km | 31.63 km | -0.48 % | 38.55 km/h | 202 w |
| #44 | 00:00:04 | 00:53:23 | 0.06 km | 31.69 km | -4.38 % | 44.62 km/h | 146 w |
| #45 | 00:00:39 | 00:54:03 | 0.34 km | 32.03 km | +4.18 % | 31.18 km/h | 293 w |
| #46 | 00:00:11 | 00:54:14 | 0.12 km | 32.15 km | -6.35 % | 36.94 km/h | 124 w |
| #47 | 00:00:34 | 00:54:48 | 0.41 km | 32.56 km | -0.54 % | 43.48 km/h | 204 w |
| #48 | 00:00:10 | 00:54:59 | 0.14 km | 32.70 km | -3.90 % | 45.51 km/h | 153 w |
| #49 | 00:12:16 | 01:07:16 | 7.56 km | 40.26 km | +0.07 % | 36.93 km/h | 213 w |
| #50 | 00:00:06 | 01:07:22 | 0.08 km | 40.34 km | -4.24 % | 42.00 km/h | 150 w |
| #51 | 00:00:36 | 01:07:59 | 0.39 km | 40.73 km | +0.36 % | 38.75 km/h | 221 w |
| #52 | 00:00:50 | 01:08:50 | 0.32 km | 41.05 km | +4.27 % | 22.84 km/h | 266 w |
| #53 | 00:00:05 | 01:08:55 | 0.05 km | 41.10 km | -20.36 % | 38.10 km/h | 0 w |
| #54 | 00:00:14 | 01:09:09 | 0.19 km | 41.29 km | -0.82 % | 47.89 km/h | 202 w |
| #55 | 00:00:05 | 01:09:15 | 0.07 km | 41.36 km | -5.38 % | 42.86 km/h | 140 w |
| #56 | 00:13:05 | 01:22:20 | 7.62 km | 48.98 km | +0.30 % | 34.92 km/h | 216 w |
| #57 | 00:00:28 | 01:22:49 | 0.29 km | 49.27 km | -4.37 % | 35.89 km/h | 155 w |
| #58 | 00:01:00 | 01:23:50 | 0.61 km | 49.88 km | +1.16 % | 36.15 km/h | 233 w |
| #59 | 00:00:04 | 01:23:55 | 0.06 km | 49.94 km | -19.14 % | 44.21 km/h | 0 w |
| #60 | 00:00:40 | 01:24:35 | 0.38 km | 50.32 km | +2.62 % | 34.37 km/h | 249 w |
| #61 | 00:02:11 | 01:26:46 | 1.33 km | 51.65 km | -0.43 % | 36.28 km/h | 207 w |
| #62 | 00:00:05 | 01:26:52 | 0.06 km | 51.71 km | -6.26 % | 41.08 km/h | 137 w |
| #63 | 00:01:29 | 01:28:21 | 0.63 km | 52.34 km | +2.96 % | 25.45 km/h | 251 w |
| #64 | 00:00:26 | 01:28:48 | 0.30 km | 52.64 km | -5.59 % | 40.67 km/h | 142 w |
| #65 | 00:10:26 | 01:39:14 | 6.43 km | 59.07 km | +0.08 % | 36.95 km/h | 214 w |
| #66 | 00:00:09 | 01:39:23 | 0.07 km | 59.14 km | +10.32 % | 26.51 km/h | 287 w |
| #67 | 00:00:42 | 01:40:06 | 0.44 km | 59.58 km | -2.44 % | 37.43 km/h | 164 w |
| #68 | 00:00:08 | 01:40:14 | 0.11 km | 59.69 km | +0.86 % | 46.15 km/h | 224 w |
| #69 | 00:00:06 | 01:40:21 | 0.07 km | 59.76 km | -5.02 % | 41.63 km/h | 136 w |
| #70 | 00:02:10 | 01:42:31 | 1.41 km | 61.17 km | +0.58 % | 39.04 km/h | 219 w |
| #71 | 00:00:33 | 01:43:04 | 0.40 km | 61.57 km | -3.18 % | 43.80 km/h | 155 w |
| #72 | 00:00:06 | 01:43:10 | 0.06 km | 61.63 km | +20.58 % | 32.77 km/h | 352 w |
| #73 | 00:01:19 | 01:44:29 | 0.79 km | 62.42 km | -0.27 % | 35.81 km/h | 201 w |
| #74 | 00:00:14 | 01:44:43 | 0.09 km | 62.51 km | +9.38 % | 22.30 km/h | 284 w |
| #75 | 00:01:16 | 01:46:00 | 0.86 km | 63.37 km | -1.47 % | 40.00 km/h | 183 w |
| #76 | 00:00:32 | 01:46:32 | 0.33 km | 63.70 km | +2.92 % | 36.74 km/h | 253 w |
| #77 | 00:00:22 | 01:46:55 | 0.06 km | 63.76 km | +21.28 % | 9.07 km/h | 351 w |
| #78 | 00:00:06 | 01:47:01 | 0.07 km | 63.83 km | -24.80 % | 34.53 km/h | 0 w |
| #79 | 00:00:30 | 01:47:32 | 0.42 km | 64.25 km | -0.49 % | 50.03 km/h | 203 w |
| #80 | 00:00:10 | 01:47:43 | 0.14 km | 64.39 km | -3.52 % | 45.35 km/h | 158 w |
| #81 | 00:12:19 | 02:00:03 | 7.64 km | 72.03 km | +0.02 % | 37.18 km/h | 213 w |
| #82 | 00:00:34 | 02:00:38 | 0.38 km | 72.41 km | +0.46 % | 39.03 km/h | 222 w |
| #83 | 00:00:29 | 02:01:08 | 0.23 km | 72.64 km | +3.91 % | 27.85 km/h | 299 w |
| #84 | 00:00:31 | 02:01:39 | 0.06 km | 72.70 km | +23.36 % | 7.30 km/h | 346 w |
| #85 | 00:00:07 | 02:01:47 | 0.08 km | 72.78 km | -24.96 % | 37.53 km/h | 0 w |
| #86 | 00:13:35 | 02:15:22 | 7.93 km | 80.71 km | +0.25 % | 35.04 km/h | 216 w |
| #87 | 00:00:49 | 02:16:12 | 0.56 km | 81.27 km | -2.79 % | 40.83 km/h | 172 w |
| #88 | 00:00:28 | 02:16:40 | 0.27 km | 81.54 km | +3.55 % | 34.35 km/h | 282 w |
| #89 | 00:00:05 | 02:16:46 | 0.07 km | 81.61 km | -19.71 % | 41.61 km/h | 0 w |
| #90 | 00:00:23 | 02:17:09 | 0.25 km | 81.86 km | +3.87 % | 39.24 km/h | 299 w |
| #91 | 00:00:13 | 02:17:23 | 0.10 km | 81.96 km | +2.08 % | 25.47 km/h | 243 w |
| #92 | 00:03:13 | 02:20:36 | 1.89 km | 83.85 km | -0.26 % | 35.20 km/h | 210 w |
| #93 | 00:01:07 | 02:21:44 | 0.35 km | 84.20 km | +6.25 % | 18.46 km/h | 276 w |
| #94 | 00:00:19 | 02:22:04 | 0.24 km | 84.44 km | -7.41 % | 42.83 km/h | 126 w |
| #95 | 00:00:31 | 02:22:35 | 0.31 km | 84.75 km | -0.05 % | 34.97 km/h | 212 w |
| #96 | 00:00:35 | 02:23:10 | 0.16 km | 84.91 km | +9.45 % | 16.12 km/h | 280 w |
| #97 | 00:00:58 | 02:24:09 | 0.74 km | 85.65 km | -3.75 % | 44.92 km/h | 161 w |
| #98 | 00:00:08 | 02:24:18 | 0.09 km | 85.74 km | +6.54 % | 36.26 km/h | 274 w |
| #99 | 00:07:19 | 02:31:38 | 4.30 km | 90.04 km | +0.05 % | 35.18 km/h | 215 w |
| Totals/Avg | 02:31:38 | 02:31:38 | 90.04 km | 90.04 km | -0.11% | 35.62 km/h | 214.95 w |
| Category | Climb Count | Total Time | Total Dist. | Avg. Time | Avg. Dist. | Avg. Grade | Avg. Speed | Avg. Power |
|---|---|---|---|---|---|---|---|---|
| Cat4 | 11 | 00:09:48 | 3.92 km | 00:00:53 | 0.36 km | 4.99 % | 25.26 km/h | 276 w |
| All Cats | 11 | 00:09:48 | 3.92 km | 00:00:53 | 0.36 km | 4.99 % | 25.26 km/h | 276 w |
| Climb | Start Time | Start Dist. | Duration | Distance | Speed | Power | Grade | Elevation Gain | Category |
|---|---|---|---|---|---|---|---|---|---|
| #1 | 00:07:06 | 4.40 km | 00:01:24 | 0.67 km | 28.62 km/h | 263 w | 3.43 % | 23.09 m | Cat4 |
| #2 | 00:12:41 | 7.56 km | 00:01:07 | 0.33 km | 17.67 km/h | 273 w | 6.39 % | 21.12 m | Cat4 |
| #3 | 00:18:17 | 10.49 km | 00:01:11 | 0.40 km | 20.07 km/h | 278 w | 7.15 % | 28.68 m | Cat4 |
| #4 | 00:27:37 | 15.84 km | 00:00:40 | 0.32 km | 28.62 km/h | 267 w | 4.56 % | 14.55 m | Cat4 |
| #5 | 00:53:23 | 31.71 km | 00:00:39 | 0.34 km | 31.18 km/h | 293 w | 4.18 % | 14.17 m | Cat4 |
| #6 | 01:07:59 | 40.74 km | 00:00:50 | 0.32 km | 22.84 km/h | 266 w | 4.31 % | 13.91 m | Cat4 |
| #7 | 02:00:38 | 72.41 km | 00:01:01 | 0.29 km | 17.33 km/h | 323 w | 8.11 % | 23.90 m | Cat4 |
| #8 | 02:14:42 | 80.45 km | 00:00:39 | 0.27 km | 24.51 km/h | 247 w | 3.45 % | 9.40 m | Cat4 |
| #9 | 02:16:12 | 81.29 km | 00:00:28 | 0.27 km | 34.35 km/h | 282 w | 3.55 % | 9.63 m | Cat4 |
| #10 | 02:16:46 | 81.63 km | 00:00:36 | 0.35 km | 34.17 km/h | 271 w | 3.38 % | 11.69 m | Cat4 |
| #11 | 02:20:36 | 83.87 km | 00:01:07 | 0.35 km | 18.46 km/h | 278 w | 6.39 % | 22.14 m | Cat4 |
Build your own personalized IRONMAN 70.3 São Paulo power plan today! Sign up for a free Athlete Basic account to get started with your athlete profile and bike setup, then grab the IRONMAN 70.3 São Paulo course to model your own race plan.
Your target power depends on your FTP, body weight, bike setup, and finish time goal — not a generic number that applies to every rider. The variables that matter most are your current fitness, your aerodynamic position, and the specific demands of the IRONMAN 70.3 São Paulo course. The best approach is to build a personalized plan in Best Bike Split using your actual athlete profile — you'll get a segment-by-segment power target based on your specific inputs rather than a one-size-fits-all recommendation.
Every course is different and requires its own unique pacing plan. On a multi-loop course, fatigue and wind shift between laps and what felt comfortable early can become unsustainable later. On an out-and-back, headwind in one direction becomes tailwind in the other — an asymmetry a flat power target can't account for. On a point-to-point or single-loop course, you only get one pass at every section with no opportunity to recalibrate. When you create a Best Bike Split race plan for IRONMAN 70.3 São Paulo, we model the specific demands of that course so your pacing strategy reflects the race you're actually doing.
Significantly — and the effect varies depending on the course profile. On flatter courses, wind and aerodynamics become the dominant variables in your speed equation, more so than on courses where gradient naturally dictates effort. On climbing-heavy courses, your power-to-weight ratio and how you manage the descents matter most. A Best Bike Split race plan lets you model the specific conditions forecasted for IRONMAN 70.3 São Paulo, so your targets reflect what you'll actually face on race day rather than what the course looks like on paper.
It depends on the course and how well you pace it. Flat, fast courses offer genuine PR potential but only if you execute correctly — without terrain to naturally regulate your effort, going out too hard early is easy and costly. Technical or hilly courses reward smart segment-by-segment pacing over raw fitness. Either way, a physics-based race plan from Best Bike Split gives you a realistic split prediction based on your actual profile so you know before race day what a well-executed bike leg looks like for you specifically.
Yes — and this is one of the most underused features. Once you've built your IRONMAN 70.3 São Paulo race plan, you can export it directly to Zwift, TrainerRoad, or any ERG-mode trainer for indoor sessions, or push it to your Garmin, Wahoo, or Karoo for outdoor rides. Training on your actual race plan means you arrive at IRONMAN 70.3 São Paulo already knowing what your target effort feels like at every section of the course — not just what the number says on paper.
Enter your FTP, weight, bike specs, and aero data to generate precise race predictions. Don't know your CdA? Our system can estimate it from your position and equipment or from a past ride so you can start racing with confidence.
Choose from thousands of existing courses including most Ironman, 70.3 and road races, or upload your own GPX file. Our database includes detailed elevation profiles and road surfaces, plus historical or forecasted weather for accurate predictions.
Receive a detailed, segment-by-segment bike pacing strategy with variable power targets optimized for every section of your course. See your predicted bike split, IF, TSS and exactly how your pacing strategy balances speed with power.
Download your plan to Zwift, TrainerRoad, or any ERG-mode trainer for indoor training. Export to Garmin, Karoo or Wahoo for outdoor training rides and race-day execution. Practice makes perfect — run your exact race plan in training before the big day.
No credit card required. Upgrade anytime. Cancel anytime.
©2026 Caffeinated Catalyst. ALL RIGHTS RESERVED. |
Terms of Use | Privacy Policy
Normalized Power®, Training Stress Score® and Intensity Factor® are registered trademarks of TrainingPeaks, LLC.