M35-39 · 5K

SF Marathon 5K: Kehl dominates M35-39 with a 19:49 wire-to-wire win

M35-39WomenMen
By MyRace AIJuly 27, 2025Official site ↗
  • Kevin Kehl, 39, wins in 19:49 (6:23/mi) — more than a minute clear of the field in a 77-man M35-39 race.
  • Daniel Oliva Contreras takes 2nd in 20:57 (6:45/mi), finishing 1:08 behind Kehl and 52 seconds ahead of 3rd.
  • Rodney James and Saksham Uppal both clock 23:12 at 7:28/mi — same displayed time, different places, with James edging Uppal for 6th by the thinnest of margins.
  • Dexter Combs (24:32) and Joe Vogelsang (24:47) round out the top 10 and 11, separated by just 15 seconds.

Kevin Kehl, a 39-year-old San Francisco local running in his own city, delivered the most commanding performance in the M35-39 field on a cool, blustery Sunday morning — 56°F, 14 mph winds, and 95% humidity along the San Francisco waterfront. His 6:23/mi average left the rest of the 77-man field well in his wake, with his winning margin of 1:08 over 2nd place telling the full story of how unchallenged he was up front.

Behind Kehl, Daniel Oliva Contreras (2nd, 20:57) and Michael Zapata (3rd, 21:49) ran strong races of their own, but the gap between them widened steadily — Zapata's 7:01/mi pace was noticeably slower than Contreras's 6:45/mi, making 2nd place a comfortable hold. Oleg Godovykh (4th, 21:59) and Leonardo Herrera (5th, 22:09) kept it tight in the 21-minute range, separated by just 10 seconds across a full 5K.

The most dramatic moment of the day came at 6th place, where Rodney James (Portland, OR) and Saksham Uppal (San Francisco) crossed in the exact same displayed time of 23:12 at 7:28/mi — yet the timing system separated them, with James claiming 6th and Uppal 7th. Nader Zahedi (8th, 23:35) and Morris Chow (9th, 23:40) were just seconds further back, making the 6th-through-9th stretch one of the tightest clusters of the race.

The course

Course map — San Francisco Marathon
37 ft range ≈ 3 story building (12 ft each)×3-22 ft-102 ft01.6 mi3.1 mi
3.1 miles · 171 ft elevation gain
The course · start finish · © Mapbox © OpenStreetMap
Was this helpful?

AI recap · generated from official results

More from this race35 divisions
More from this event