Aidan O'Connell accounted for three touchdowns and David Bell racked up a career-high 240 receiving yards and a score Saturday as Purdue posted a comfortable 24-7 road victory over No. 2 Iowa.
The unranked Boilermakers (4-2, 2-1 Big Ten) strolled into Iowa City and dominated the previously unbeaten Hawkeyes (6-1, 3-1), outgaining Iowa 464-271 and controlling the ball for nearly 35 minutes.
Behind O'Connell (30 of 40 for 375 yards) and Bell (11 receptions), the Boilermakers continued their impressive success against second-ranked teams. They most recently had defeated No. 2 Ohio State 49-20 during the 2018 season and, with Saturday's win, improved to 6-10 all-time against second-ranked foes.
Meanwhile, the Hawkeyes' 12-game winning streak and nine-game conference winning streak ended with a resounding thud. Spencer Petras was just 17 of 32 for 195 yards with four interceptions as Iowa looked nothing like the team that had defeated six straight ranked opponents, including Indiana, Iowa State and Penn State this season.
The Hawkeyes had trouble generating any momentum from the start. On the fourth offensive snap of the game, Petras was intercepted by Kieren Douglas. Iowa only gained eight yards on its second drive, and then its next possession ended with a missed 25-yard field goal.
While the Hawkeyes were scuffling, the Boilermakers embarked on a 10-play, 67-yard drive and cashed in on O'Connell's 6-yard scramble to the end zone to go ahead 7-0.
Iowa countered with a long drive of its own, going 80 yards in nine plays. A powerful 3-yard TD run by Ivory Kelly-Martin made it 7-7.
On the ensuing possession, O'Connell rolled out to his right and found TJ Sheffield for a 3-yard score to create a 14-7 advantage with 19 seconds left in the half.
Mitchell Fineran's 31-yard field goal gave Purdue a 10-point lead early in the third quarter.
Iowa did not threaten on its next two possessions -- and the hosts even caught a break when Sheffield lost a fumble on third-and-goal -- and then the Boilermakers put it away on O'Connell's 21-yard TD pass to Bell with 12:29 to go.
--Field Level Media