Skip to main content

Iowa stuns Michigan football on Hank Brown-to-Reece Vander Zee last-second touchdown in Big Ten opener

Michigan hits the road next week as they travel to Minnesota to take on the Gophers at noon

ANN ARBOR, MICHIGAN - SEPTEMBER 26: Hank Brown #9 of the Iowa Hawkeyes throws a first half pass against the Michigan Wolverines at Michigan Stadium on September 26, 2026 in Ann Arbor, Michigan. (Photo by Gregory Shamus/Getty Images) (Gregory Shamus, 2026 Getty Images)

ANN ARBOR, Mich. – The No. 17-ranked Iowa Hawkeyes walked off the No. 18-ranked Michigan Wolverines 20-19 on a last-second touchdown pass from quarterback Hank Brown to Reece Vander Zee for 16 yards, stunning the Michigan faithful.

The final drive went 11 plays for 91 yards as the Wolverines fell to 3-1 on the season.

Recommended Videos


The Wolverines had plenty of chances to win, but they dropped multiple interceptions during the final drive.

Zeke Berry made a bonehead penalty, gifting Iowa a first down and extending the game-winning drive.

Rod Moore called the penalties stupid and shared his message with Berry after the game, after the late hit out of bounds.

POSTGAME SOUND COMING

Penalties doomed them again as they had eight for 75 yards while turning the ball over twice in the red zone, once on fourth down and again when Bryce Underwood threw an interception, costing the team six points.

Underwood finished 17-of-28 for 276 yards, two touchdowns, and one interception.

JJ Buchanan caught five passes for 130 yards and two touchdowns, while Andrew Marsh led the team with seven receptions for 106 yards in the heartbreaking loss.

It was touted as the College Football Playoff potential slot game, as pundits said the winner of the No. 18-ranked Michigan Wolverines and the No. 17-ranked Iowa Hawkeyes would put itself in prime position to join the top 12 teams in postseason play.

The game’s magnitude even had implications for ESPN’s College Gameday location: per Pat McAfee, if Iowa had won, they’d potentially host Desmond Howard and crew for their matchup against the Ohio State Buckeyes.

With the victory, it looks like they’ll be at Kinnick Stadium next week.

On a bright, sunny Saturday (Sept. 26) afternoon in Ann Arbor, the battle of the undefeated delivered as the Wolverines fell to Iowa BLANK-BLANK to 3-1 on the season and in open Big Ten play.

Michigan is 54-5 in its last 59 Big Ten openers following the defeat inside Michigan Stadium.

The Wolverines have also won their last four meetings with Iowa, including a 26-0 victory in the 2023 Big Ten Championship Game.

Michigan also defeated the Hawkeyes 27-14 at Kinnick Stadium in 2022, 42-3 in the 2021 Big Ten Championship, and 10-3 in Ann Arbor in 2019.

Michigan enters Saturday’s game 3-0 after completing an unbeaten nonconference schedule for the first time since 2023 and the fourth time in the past six seasons.

The Wolverines have already defeated two teams that won at least 10 games last season: Oklahoma and Western Michigan, each with 10.

1st quarter

Michigan won the coin toss and deferred to the second half, putting Iowa’s offense on the field first.

Jacob Baggett’s kickoff traveled 63 yards to Braeden Jackson, who returned it 20 yards to the Iowa 22-yard line.

Quarterback Hank Brown completed his first pass to Evan James for an 11-yard catch-and-run to move the chains.

On second down, Kamari Moulton rushed for 1 yard before Brown connected with DJ Vonnahme on a play-action pass for a 12-yard gain.

Moulton then rushed up the middle for 4 yards, with Chris Bracy and Dominic Nichols making the stop.

Moulton gained 3 yards on second down, setting up third-and-3. Troy Bowles made the tackle.

Brown handed the ball to Jackson, who gained 2 yards to set up fourth-and-1.

Iowa lined up to go for it on its own 45-yard line, but Michigan called its first timeout of the game.

The Hawkeyes lined up again to attempt the conversion, but Iowa coach Kirk Ferentz called his first timeout.

After reconsidering the decision, Iowa punted. Boston Everitt’s kick traveled 42 yards and came to rest at Michigan’s three-yard line.

Bryce Underwood took the direct snap and gained seven yards up the middle, setting up second-and-three.

Underwood kept the ball on a quarterback read and gained three yards along the left sideline to move the chains.

With a fresh set of downs, Underwood lined up in the shotgun and connected with tight end Hogan Hansen for an eight-yard gain.

Running back Jordan Marshall then rushed for five yards before Underwood ran the read option and flipped the ball to Marshall for a three-yard gain down the right sideline.

Facing second-and-seven, Underwood handed the ball to Savion Hiter, who gained four yards.

On third-and-three, Michigan was called for its first penalty of the game when JJ Buchanan was flagged for a false start.

Facing third-and-8 after the penalty, Underwood scrambled for 8 yards, but Brady Norton was called for holding, pushing Michigan back to third-and-18.

On third-and-18, Underwood found a cutting Salesi Moa, but Moa dropped the pass.

Michigan was forced to punt, with Cameron Brown sending the ball to the 40-yard line, where Evan James fielded it with 6:42 remaining in the first quarter.

Moulton rushed up the left sideline for a three-yard gain before Rod Moore made the tackle.

On second down, Brown threw an incomplete pass to Tony Diaz, setting up a second-and-seven.

Brown threw another pass to Diaz, but Smith Snowden broke it up, setting up a punt that downed the ball at Michigan’s 11-yard line.

With 5:56 remaining in the quarter, Underwood found Andrew Marsh on a stick route, and Marsh turned upfield for a 27-yard catch-and-run.

Hiter then ran a jet sweep for 7 yards up the left side.

Underwood followed with a well-placed pass to Marsh along the right sideline.

Marsh made a contested shoulder catch for a 21-yard gain. The play was reviewed and upheld, with the ball moved to Iowa’s 35-yard line after Marsh was ruled to have kept his toes in bounds.

Underwood handed the ball to Hiter for 2 yards before tight end Jalen Hoffman caught a 3-yard pass.

Facing third-and-five, Underwood scrambled left and found Buchanan, who turned the catch into a 13-yard gain while dragging several defenders.

Marshall took a direct snap from the wildcat formation and gained three yards before Underwood threw a fade toward Marsh near the goal line.

The pass fell incomplete.

On third-and-seven, Underwood scrambled to his right and found Buchanan on the right side of the end zone for an 18-yard touchdown.

Michigan was flagged for a false start on the extra-point attempt, moving the Wolverines back five yards.

Trey Butowski then converted the extra point to cap a nine-play, 89-yard drive that took 3:58.

Michigan took a 7-0 lead with 1:58 remaining in the quarter.

Baggett kicked the ball off 64 yards down to Iowa’s one-yard line, but Jackson made a house call as he returned the ball 99 yards.

Kicker Caden Buhr kicked the extra point to tie the game at 7-7 as the crowd went silent.

Running back Bryson Kuzdzal returned the kickoff 17 yards to the Wolverines’ 18-yard line.

Underwood kept the rock and gained two yards before finding Buchanan for a 22-yard catch-and-run.

With a new set of downs, Hiter took the read option and gained four yards to end the first quarter.

Michigan ended the quarter with 147 total yards, with 107 on the arm of Underwood and 40 on the ground.

The Wolverines’ defense held Iowa to 36 total yards, but the game was tied 7-7 as Michigan drove.

2nd quarter

Michigan lined up in the wildcat. Marshall took the snap and handed it to Underwood on the jet sweep, who threw the pass to Marsh for an 11-yard gain.

Marsh was hit late out of bounds, giving Michigan 15 yards.

Underwood ran the keeper for a two-yard gain before Marshall missed the inside cut and stayed outside for a three-yard gain.

Facing third down and five, Underwood threw a wobbler to Marsh, but it fell incomplete as cornerback Jaylen Watson drilled him.

Butkowski drilled a field goal from 41 yards out to cap off an eight-play, 59-yard drive in 3:43 to take a 10-7 lead.

Xavier Williams returned the ball 29 yards and got hit, fumbling it as Michigan recovered, but the play was overturned because the ground caused the fumble.

With the ball on the 45-yard line, Moulton rushed left for four yards; Jyaire Hill made the tackle.

Moulton gained six yards on the next play up the gut.

With a fresh set of downs, Williams got stopped in the backfield for a loss of one.

Nichols and Nathaniel Staehling made the stop.

Nichols went down with an injury, but walked off the field under his own power.

Following the injury timeout, facing a second and 11, Brown found Reece Vander Zee for a 13-yard catch as Hill pushed him out of bounds.

Moulton ran up the middle for a one-yard gain before Brown tried to elude the pocket and was sacked by John Henry Daley for a two-yard loss.

Facing third and 11, Brown tried to throw a quick route to Vonnahme, but Zeke Berry broke it up, and the punt went into the end zone, moving the ball to the 20-yard line.

With the ball on their own 20-yard line, Underwood handed the ball off to Kuzdzall before laying a massive block on the defender as the play gained five yards.

Marshall gained five yards to move the sticks down the left sideline.

Underwood handed the ball off to Marshall, but it was a flea-flicker that found Buchanan for a 32-yard catch-and-run down to Iowa’s 38.

Marshall took the quarterback option and gained eight yards.

On second and two, Underwood threw a go ball to Marsh, who was blasted in the end zone as the ball fell to the turf.

Facing a third and two, Marshall took the direct snap and gained three yards as the game clock ticked under six minutes.

Underwood kept the ball and was pushed out of bounds for a two-yard loss.

On second down and two, Underwood rushed up the left sideline for a four-yard gain, setting up third and eight.

Facing third and eight, Underwood found Marsh for a seven-yard grab.

On fourth and one, Underwood dove over the top and reached for the yardage, but was tackled short with 3:17 to play in the half, as it was a turnover on downs.

Iowa got the ball on their own 18-yard line with two timeouts as Brown handed the ball off to Moulton, who rushed up the left sideline for a gain of seven.

Facing a second-and-three, Brown connected with Diaz for a one-yard gain as Hill made the stop.

On third down and two, Brown threw a dangerous pass across his body to the middle of the field and found Vander Zee for a nine-yard gain as the two-minute timeout was called with 1:57 to play.

With the ball on their own 35-yard line, Brown took the snap in shotgun and threw an incomplete pass toward Vonnahme as Chase Taylor made the defensive play.

Brown found Moulton for a short gain before Nichols and Daley got the sack for a loss of five as Michigan called their last timeout of the half at the 1:19 mark.

Marsh returned the punt for a short gain before he was tackled hard, but offsetting flags led to a re-kick.

Everitt punted to Michigan’s 25-yard line as Marsh called for a fair catch with 1:05 to play.

Underwood found Hansen for a five-yard catch, but he was tackled out of bounds.

With the clock stopped, Underwood threw an incomplete pass toward Moa.

Facing a third down and five, Underwood scrambled for the first down, but Michigan was called for holding on Jake Guarnera.

On third down and 15, Underwood handed the ball off to Hiter for a two-yard gain as Iowa called their second timeout with 42 seconds to play.

Brown punted to the Hawkeyes’ 39-yard line with 35 seconds to play as James muffed the punt but fell on top of it to retain possession.

Hank Brown threw an incomplete pass on first down and threw a deep ball toward Diaz, but Snowden broke it up.

Iowa ran the ball for five yards to end the half.

The Wolverines’ defense held Iowa to 77 total yards in the first half while their offense had 232 yards, but the game was 10-7 as the Hawkeyes’ lone score came on a 99-yard kickoff return.

Michigan took points off the board in the red zone when they went for it on fourth and one with a quarterback sneak; Bryce Underwood dove over the top to gain the yardage but was stuffed.

3rd quarter

Michigan opened the second half with the ball, leading 10-7 as Kuzdzal returned the kickoff for 35 yards to their own 35-yard line.

Underwood lined up in shotgun and handed the ball to Hiter for no gain.

Facing a second and 10, Underwood, in the shotgun, found Marsh wide open in the middle of the field for a 22-yard catch-and-run down to Iowa’s 42-yard line.

Underwood found Marsh for a sick one-handed grab for five yards before Hiter gained no yards on second down.

On third and five, Underwood found Hiter on a swing route for a 19-yard catch-and-run.

He nearly scored but was tackled by his shoestring.

Hiter rushed for four yards before Zack Marshall was called for holding.

On first and 20, Underwood connected with tight end Eli Owens for a five-yard gain.

Facing a second and 15, Underwood kept the ball for a four-yard gain.

On third and 11, Underwood threw an interception to Deshaun Lee as Marsh ran into the end zone.

Two turnovers in the game took potentially six points off the board in a three-point game as Iowa had the ball on their own two-yard line.

Moulton gained two yards on first down, moving Iowa out of their end zone.

Brown handed the ball off to him, but he got stuffed for a one-yard gain by Enow Etta.

Brown connected with Jackson for a six-yard gain, but Diaz got called for holding, moving them back to the three-yard line.

On third and nine, with the ball on their own three-yard line, Iowa was called for a false start.

Jackson gained four yards on the play, but Benny Patterson III and Staehling made the stop, leading to a punt by Boston for 39 yards as Marsh made the catch but got tackled for a one-yard loss.

Michigan started their second drive of the second half on their own 47-yard line, leading 10-7 with 7:13 to play.

Underwood ran the quarterback keeper for three yards, but lineman Blake Frazier was in agony, grabbing his lower extremities before the medical staff helped him up.

Frazier hobbled on his left foot, barely putting pressure on his right as he made it to the sideline.

Marshall showed off his inner “Beast Mode” as he broke away from the pile and gained 17 yards rushing on first down.

Riding the hot hand, Marshall gained nine yards on another powerful run down to the 18-yard line.

Underwood ran the ball up the right sideline for a two-yard gain to move the chains before running out of bounds.

Marshall ran the ball out of the wildcat formation for a two-yard gain, setting up a second down and eight.

Hiter followed suit and picked up seven yards while popping up out of the crowd.

Underwood handed the ball off to him again as he picked up two yards rushing up the middle of Iowa’s defense.

Michigan lined up under center for the first time and ran a play-action pass, but Underwood gained no yards.

Back under center, Underwood handed the ball off to Marshall for a one-yard run.

Facing a third and four, Iowa’s defense got the stop in their own four-yard line, as Butowski came in and drilled a field goal to cap an 11-play, 43-yard drive and take a 13-7 lead.

Baggett’s kickoff went for a touchback, and Brown threw an incomplete pass on a crossing route toward Diaz on first down.

Moulton gained five yards up the gut on second and 10 before Brown found Diaz running down the right sideline for a 32-yard catch-and-run to the 38-yard line.

Brown threw an incomplete pass to Zach Ortwerth before handing the ball off to

Williams rushed the ball up the middle for a gain of one to end the quarter.

Iowa gained 52 yards in the third quarter and had 129 for the game with 15 minutes to play, trailing 13-7, with the ball on their own 37-yard line facing a third down and seven.

4th quarter

On third down and nine, Brown took the snap out of the shotgun and scrambled right, throwing a pass to his receiver, who tipped it, and it fell into the hands of Vonnahme, who caught it after going out of bounds and establishing his feet for a 21-yard gain.

With the ball on Michigan’s 16-yard line, Brown ran a play-action pass and found Vander Reece for a touchdown on a slant route.

Buhr capped a seven-play, 75-yard drive with an extra point to take their first lead of the game, 14-13, in just 2:27.

Trailing for the first time of the day, Michigan had the ball after the ball sailed out of the end zone for a touchback; Underwood threw to Hansen, but the pass was incomplete.

Under pressure, Underwood connected with Marsh for a 14-yard gain.

Hiter picked up four yards on first down, setting up a second-and-six from their own 43-yard line.

He nearly broke away for a massive gain, but Hiter picked up eight yards to move the chains.

Underwood threw into double coverage toward Buchanan, but it fell to the ground.

Working magic to elude the pressure, Underwood evaded the defense and found Buchanan for a 49-yard touchdown down the right side of the field to take a 19-14 lead.

Going for two, Underwood’s pass was tipped at the line of scrimmage and fell incomplete as Michigan, in six plays, gained 75 yards in 2:03 to retake the lead.

Baggett kicked the ball into the end zone for a touchback, placing the ball on Iowa’s 25-yard line.

Brown lined up under center and threw underneath to Moulton for a one-yard gain.

On second and nine, officials flagged Trey Pierce for illegal hands to the face, and Iowa got the first down with the extra yardage.

Williams rushed up the middle for a gain of one before Brown found Addison Ostrenga for a six-yard gain.

Facing a third-and-three, Brown hit Vonnahme for a six-yard catch-and-run.

Etta stopped Moulton for a two-yard gain on first down, before Jay Hill called a blitz as Bracy got to Brown, but he threw the ball away.

On third and eight, Michigan’s defense got the stop with 8:14 to play, forcing a punt by Everitt for 43 yards down to the one-yard line.

Underwood ran the fake jet sweep and kept the ball, rushing up the gut for a five-yard gain.

He gained five yards on second down to move the sticks as the clock ticked under seven minutes.

Underwood took the shotgun snap and handed it off to Hiter for a seven-yard gain.

Hiter rushed the ball for a nice gain, but Michigan was called for an illegal formation, costing them five yards.

On second and eight from their own 13-yard line, Underwood got pressured and threw an incomplete pass behind Hoffman, setting up a third-and-eight.

Iowa sent an all-out blitz, got a tipped pass, and forced a Brown punt from their own 13-yard line, which was fair caught at the 50-yard line with 5:22 to play.

Brown hit Ortwerth for a 13-yard catch-and-run to move the sticks.

Moulton broke a tackle in the backfield and gained six yards up the middle, setting up a second down and four on the 31-yard line.

Brown hit Ostrenga for a one-yard gain but got stopped by Moore.

On third down and three, Jackson gained two yards, setting up a fourth and one with under three to play.

Iowa lined up to go for it, but the crowd noise caused a false start, moving back five yards with 2:52 to play.

Buhr lined up for a 51-yard field goal and missed wide right with 2:33 to play.

Michigan got the ball on their own 33-yard line and Underwood handed the ball off to Hiter, who rushed the ball to the right for a four-yard gain.

Ferentz called a timeout, their first of the half.

Underwood ran a keeper to the left for no yards as Ferentz called his team’s second timeout of the half.

Offensive coordinator Jason Beck called a run play that gained two yards for Hiter as the clock hit the two-minute timeout.

Cameron Brown drilled a wobbler that bounced and rolled down to Iowa’s nine-yard line with 1:48 to play.

Hank Brown found Evan James for a three-yard catch-and-run before throwing an interception toward Ostrenga that almost sealed the game.

Brown hit Diaz for 13 yards to move the sticks before Vonnahme hauled in a five-yard grab.

Vander Zee snagged a 12-yard catch before Etta made the shoestring tackle on Brown, stopping him for only three yards as Iowa called their final timeout of the half with 32 seconds left.

On second and seven, Hank Brown nearly threw another interception that fell after Berry nearly had his paws on it.

Facing third and seven with 28 seconds to go, Iowa was called for a false start, moving them back five yards.

On third and 12, Brown threw the ball out of bounds, but Michigan was called for a penalty after the play when Berry was hit late.

With a fresh set of downs, Brown threw an incomplete pass across the middle of the field.

Facing a second-and-10, Brown threw a deep ball to Diaz, who shook his defender, but the ball was overthrown.

On third down and 10, Brown found Ostrenga for 29 yards on a deflected pass down to the 16-yard line.