Penn State Iowa

Penn State defensive tackle Robert Windsor sacks Iowa quarterback Nate Stanley.

IOWA CITY, Iowa — Noah Cain ran for a five-yard touchdown with 5:17 left and 10th-ranked Penn State held off No. 17 Iowa 17-12 on Saturday night, its first win over a ranked opponent this season.

Cain finished with 102 yards for the Nittany Lions (6-0, 3-0 Big Ten), who extended their winning streak over the Hawkeyes (4-2, 1-2) to six games.

A matchup between two of the nation's top defenses turned when Iowa's Nate Stanley threw an interception near midfield with 9:22 remaining. Penn State drove 35 yards on a gassed Iowa defense, and the last of three straight runs by Cain made it 17-6.

Iowa pulled within 17-12 when Stanley found Brandon Smith for a 33-yard TD pass with 2:31 to go. The Hawkeyes' two-point try failed though, and Cain converted a crucial third down that ensured that Iowa never saw the ball again.

Up 7-6 late in the third quarter, Penn State recovered a fumble at Iowa's 16 and Sean Clifford connected on an apparent touchdown pass to Pat Freiermuth that was overturned on review. Iowa then held the Nittany Lions at the 1-foot line, and two straight holding calls forced them to settle for a 33-yard field goal.

KJ Hamler caught seven passes, including a 22-yarder for a TD, for Penn State.

Stanley threw for 286 yards, but the Hawkeyes ran for just 70 yards on 30 attempts.