M20-24: Angel Castro Runs Down the Field in Fresno Heat

By MyRace AINovember 2, 2025
  • Castro wins in 2:30:24 (5:44/mi), climbing from 38th among men at the 1-mile mark all the way to 2nd among men by 10K — and holding that position the rest of the way.
  • Bryan Banuelos, 2:31:27, finished 63 seconds back in 2nd, posting the 2nd-fastest men's split on the second half — a strong close that secured the runner-up spot.
  • Jose Villarreal was the early mover, sitting 5th among men through 10K before settling into 7th by the finish — a 2:37:51 that still earned him a comfortable 3rd in the M20-24 group.
  • Ivan Morales ran the most eye-catching late surge: 16th among men at the finish after climbing steadily through the back half, anchored by the 4th-fastest men's split from mile 23 to 25.2.

With 74°F and clear skies over Fresno, the Two Cities Marathon offered no favors to anyone trying to run fast — which makes Angel Castro's 2:30:24 all the more striking. Castro was buried in the pack at the opening mile, sitting 38th among men, but he was already 3rd among men by 10K and never relinquished that momentum. He ran 5:44 per mile across 26.2 miles and posted the 2nd-fastest men's split from mile 1 through 10K, a segment that clearly defined the race for the M20-24 podium.

Bryan Banuelos gave chase the whole way. The Fresno native tracked Castro's trajectory almost identically through the checkpoints — 8th among men at 10K, 3rd by mid-race — and saved something for the second half, posting the 2nd-fastest men's split over the back 13 miles. In the end, though, 63 seconds was too much ground to recover, and Banuelos settled for a well-earned 2nd in 2:31:27.

Behind the top two, Jose Villarreal (2:37:51) and Christian Santana (2:40:12) rounded out the podium and 4th respectively, both flashing strong early splits — 5th- and 6th-fastest among men from mile 1 to 10K. The most entertaining late-race story belonged to Ivan Morales, who was still just 23rd among men at the halfway point before reeling in runner after runner. His 4th-fastest men's split over the final miles 23–25.2 was the engine of a finish that brought him home 5th in the age group at 2:46:56.

AI recap · generated from official results

More from this race