| Place | Bib | Name | Age | Sex | City | State | Swim | Trn1 | Bike | Trn2 | Run | Time |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1012 | Steve Sander | 35 | M | Richfield | MN | 8:51 (16) | 1:02 (23) | 33:06 (1) | 0:47 (42) | 19:45 (7) | 1:03:30 |
| 2 | 1072 | Ryan Wippler | 35 | M | Rice | MN | 9:09 (25) | 1:11 (45) | 35:33 (4) | 0:45 (33) | 18:36 (3) | 1:05:13 |
| 3 | 818 | Jeff Grebner | 47 | M | Bloomington | MN | 8:08 (3) | 0:52 (7) | 34:32 (2) | 0:36 (9) | 21:13 (17) | 1:05:20 |
| 4 | 765 | Wade Cruser | 27 | M | Sauk Rapids | MN | 9:03 (23) | 1:02 (24) | 37:05 (13) | 0:37 (13) | 18:00 (1) | 1:05:47 |
| 5 | 1035 | Brian Storhaug | 23 | M | Alexandria | MN | 8:39 (12) | 1:03 (25) | 36:36 (9) | 0:44 (30) | 19:44 (6) | 1:06:45 |
| 6 | 1008 | Noah Rounds | 35 | M | Maple Grove | MN | 35:52 (5) | 0:48 (46) | 19:27 (5) | 1:06:47 | ||
| 7 | 786 | Scotty Erickson | 52 | M | Ramsey | MN | 8:18 (6) | 0:51 (5) | 34:52 (3) | 0:39 (19) | 22:09 (30) | 1:06:47 |
| 8 | 889 | Jesse Kling | 34 | M | Blaine | MN | 9:18 (29) | 1:01 (21) | 37:07 (14) | 0:43 (28) | 20:03 (8) | 1:08:10 |
| 9 | 890 | Nicholas Klonne | 17 | M | Rockford | MN | 9:18 (30) | 0:54 (10) | 38:16 (29) | 0:52 (63) | 18:59 (4) | 1:08:17 |
| 10 | 843 | Ben Hey | 35 | M | St. Louis Park | MN | 9:28 (37) | 1:05 (27) | 36:09 (7) | 0:43 (26) | 21:19 (21) | 1:08:42 |
| 11 | 872 | John Kallemeyn | 29 | M | Big Lake | MN | 11:10 (105) | 1:22 (79) | 37:25 (17) | 0:48 (45) | 18:07 (2) | 1:08:50 |
| 12 | 1031 | Don Steenson | 43 | M | Plymouth | MN | 7:47 (1) | 1:07 (35) | 37:52 (24) | 1:00 (110) | 21:17 (19) | 1:09:01 |
| 13 | 730 | Mike Blair | 45 | M | Prior Lake | MN | 9:34 (41) | 0:58 (15) | 36:12 (8) | 0:38 (18) | 22:15 (33) | 1:09:37 |
| 14 | 879 | Rob Kaufman | 51 | M | Chanhassen | MN | 8:27 (10) | 0:44 (1) | 37:38 (21) | 0:43 (29) | 22:40 (42) | 1:10:11 |
| 15 | 1002 | Ryan Rogers | 34 | M | Bemidji | MN | 9:28 (36) | 0:45 (2) | 38:39 (40) | 0:33 (6) | 20:55 (13) | 1:10:18 |
| 16 | 913 | Tim Larson | 31 | M | Circle Pines | MN | 9:44 (45) | 1:12 (48) | 38:02 (26) | 0:49 (56) | 20:44 (12) | 1:10:29 |
| 17 | 972 | Nathan Overby | 34 | M | Big Lake | MN | 8:17 (5) | 1:36 (113) | 39:00 (45) | 0:31 (5) | 21:39 (24) | 1:11:00 |
| 18 | 958 | Jason Neumann | 32 | M | St. Cloud | MN | 9:22 (33) | 1:11 (44) | 37:26 (18) | 0:48 (48) | 22:31 (38) | 1:11:17 |
| 19 | 945 | Peter Miner | 33 | M | Duluth | MN | 9:39 (43) | 1:37 (116) | 35:57 (6) | 1:11 (162) | 22:56 (50) | 1:11:18 |
| 20 | 1067 | Mark Wieland | 36 | M | Rochester | MN | 10:13 (62) | 1:21 (74) | 38:38 (39) | 1:00 (111) | 20:19 (9) | 1:11:29 |
| 21 | 1001 | Parker Roehl | 16 | M | Saint Bonifacius | MN | 8:10 (4) | 0:52 (6) | 37:49 (23) | 0:38 (16) | 24:20 (88) | 1:11:47 |
| 22 | 928 | Steve Marshall | 42 | M | Wayzata | MN | 9:58 (53) | 1:38 (117) | 38:39 (41) | 1:04 (131) | 20:33 (10) | 1:11:50 |
| 23 | 1064 | Todd White | 47 | M | Roseville | MN | 7:56 (2) | 0:47 (3) | 39:11 (49) | 0:53 (71) | 23:16 (58) | 1:12:01 |
| 24 | 1056 | Lisa Wacek | 43 | F | Minneapolis | MN | 10:00 (55) | 1:08 (36) | 38:34 (38) | 0:48 (50) | 21:52 (28) | 1:12:20 |
| 25 | 778 | Steve Dillner | 37 | M | Ramsey | MN | 9:46 (48) | 1:13 (51) | 37:36 (20) | 0:44 (31) | 23:04 (54) | 1:12:20 |
| 26 | 954 | Jim Nack | 54 | M | Madison Lake | MN | 9:17 (28) | 1:16 (63) | 37:10 (15) | 0:52 (68) | 23:49 (77) | 1:12:22 |
| 27 | 771 | Shawn Day | 40 | M | St. Cloud | MN | 10:08 (59) | 1:21 (73) | 38:04 (27) | 1:42 (258) | 21:10 (16) | 1:12:23 |
| 28 | 1047 | Brandon Thyen | 41 | M | North Branch | MN | 9:28 (38) | 1:23 (86) | 38:23 (31) | 0:54 (80) | 22:27 (36) | 1:12:34 |
| 29 | 836 | Jake Hausauer | 23 | M | Minnetonka | MN | 8:22 (8) | 0:47 (4) | 38:51 (44) | 0:52 (64) | 23:49 (78) | 1:12:39 |
| 30 | 1043 | Bryan Swenson | 60 | M | Big Lake | MN | 12:10 (163) | 0:58 (16) | 37:04 (12) | 0:56 (89) | 21:40 (25) | 1:12:47 |
| 31 | 761 | Rebecca Cota | 28 | F | Maple Grove | MN | 9:52 (52) | 1:00 (18) | 37:55 (25) | 0:37 (14) | 23:37 (72) | 1:13:00 |
| 32 | 1022 | Eric Showers | 51 | M | Minnetonka | MN | 9:42 (44) | 1:11 (42) | 37:35 (19) | 1:16 (184) | 23:33 (70) | 1:13:14 |
| 33 | 713 | Mike Back | 39 | M | Otsego | MN | 9:15 (27) | 0:53 (9) | 39:52 (60) | 0:41 (24) | 22:50 (47) | 1:13:29 |
| 34 | 797 | Jennifer Fitzharris-Funk | 38 | F | Minneapolis | MN | 10:40 (81) | 1:04 (26) | 39:09 (48) | 0:45 (32) | 22:00 (29) | 1:13:37 |
| 35 | 930 | John Marshall | 55 | M | Minneapolis | MN | 10:05 (58) | 1:30 (102) | 39:15 (51) | 1:05 (139) | 22:11 (31) | 1:14:04 |
| 36 | 744 | Brenton Button | 26 | M | Nipigon | ON | 8:19 (7) | 1:21 (76) | 39:15 (50) | 1:08 (153) | 24:08 (83) | 1:14:09 |
| 37 | 953 | Michael Murray | 55 | M | Sartell | MN | 10:45 (85) | 1:06 (29) | 38:13 (28) | 0:52 (66) | 23:20 (59) | 1:14:13 |
| 38 | 1004 | Mark Rosen | 50 | M | Otsego | MN | 11:46 (143) | 1:01 (20) | 37:10 (16) | 0:43 (27) | 23:40 (74) | 1:14:18 |
| 39 | 759 | Ryan Collins | 38 | M | St. Louis Park | MN | 11:20 (113) | 1:13 (52) | 36:55 (11) | 0:47 (41) | 24:08 (85) | 1:14:20 |
| 40 | 810 | Bob Glamm | 41 | M | Blaine | MN | 10:12 (61) | 1:00 (19) | 40:13 (66) | 1:20 (200) | 21:41 (26) | 1:14:24 |
| 41 | 1042 | Thomas Sweeney | 31 | M | Champlin | MN | 10:01 (56) | 1:12 (49) | 40:08 (64) | 0:45 (34) | 22:31 (39) | 1:14:36 |
| 42 | 859 | Ken Janda | 53 | M | Big Lake | MN | 11:09 (104) | 1:15 (57) | 38:40 (42) | 0:51 (61) | 22:49 (45) | 1:14:42 |
| 43 | 840 | Warren Hegge | 44 | M | Minneapolis | MN | 12:00 (153) | 1:06 (31) | 39:05 (46) | 0:59 (102) | 21:37 (23) | 1:14:45 |
| 44 | 870 | Marc Justinak | 45 | M | Excelsior | MN | 11:25 (119) | 1:40 (124) | 36:42 (10) | 0:52 (69) | 24:24 (89) | 1:15:01 |
| 45 | 951 | Jodyt Mullet | 27 | F | Chaska | MN | 10:44 (83) | 1:17 (65) | 39:42 (56) | 0:48 (47) | 22:53 (49) | 1:15:23 |
| 46 | 1078 | Brenna Zavadsky | 40 | F | Shakopee | MN | 10:38 (78) | 1:15 (58) | 38:32 (36) | 0:54 (82) | 24:08 (84) | 1:15:25 |
| 47 | 916 | Kyle Lehenbauer | 39 | M | New Brighton | MN | 10:45 (84) | 1:22 (81) | 38:31 (35) | 1:10 (157) | 23:50 (79) | 1:15:35 |
| 48 | 950 | Corey Muellenbach | 23 | M | Edina | MN | 10:26 (67) | 1:23 (83) | 41:21 (87) | 1:01 (117) | 21:42 (27) | 1:15:50 |
| 49 | 1028 | Kyle Sobota | 32 | M | Shakopee | MN | 9:09 (26) | 1:13 (54) | 37:44 (22) | 1:10 (160) | 26:39 (151) | 1:15:53 |
| 50 | 800 | Sarah Foley | 43 | F | Cologne | MN | 10:02 (57) | 1:12 (50) | 40:43 (72) | 0:46 (39) | 23:23 (62) | 1:16:05 |