Trace McSorley completed a 7-yard pass to Juwan Johnson on the game's final play and No. 4 Penn State defeated Iowa 21-19 on Saturday night at Kinnick Stadium in Iowa City, Iowa.
In a game that was dominated by the defenses, the teams scored three fourth-quarter touchdowns.
McSorley, who finished 31 of 48 for 284 yards with an interception, drove the Nittany Lions (4-0, 1-0 Big Ten) 65 yards in 12 plays in the final 1:42 after the Hawkeyes (3-1, 0-1) took a 19-15 lead in only three plays.
Akrum Wadley put Iowa in great position to pull off the upset when he capped that drive with a 35-yard run. Earlier in the quarter, Wadley and quarterback Nathan Stanley hooked up for a 70-yard touchdown pass.
The Iowa offense, which had been dormant for most of the game, went 74 yards and 80 yards in the fourth quarter.
Penn State's Saquon Barkley rushed for a career-high 211 yards and one touchdown. He also had 12 receptions for 94 yards.
On the game-winning play, Barkley picked up a blitzing linebacker to give McSorley some extra time to throw the game-winning pass.
The Nittany Lions could have taken an 18-13 lead with 2:28 left in the fourth quarter, but came up empty on a 15-play, 75-yard drive when Anthony Nelson blocked Tyler Davis' 31-yard field-goal attempt.
On that drive, Penn State leaned on Barkley, who converted a crucial fourth-and 1 with 5:38 left to keep the drive alive.
Three plays later, Barkley took a short pass 15 yards to the Iowa 15.
Barkley's 8-yard scamper midway through the third period gave the Nittany Lions a little breathing room at 15-7. The key play was a 44-yard run by Penn State's junior Heisman Trophy candidate, who got to show off his quickness and power dodging tacklers and tiptoeing down the sideline to set up Penn State's first touchdown
Barkley became the seventh player in Penn State history to reach 3,000 yards.
McSorley atoned for costly errors at the end of the second and third periods. His interception late in the second period led to the Hawkeyes' first touchdown.
Toward the end of the third period, he was sacked by A.J. Epenesa and fumbled on the Iowa 45. Josey Jewell recovered. The Hawkeyes moved into field-goal territory where the offense stalled. Iowa came up empty as Miguel Recinos' 36-yard field-goal attempt was blocked by Troy Apke.
The name of the game in the first half was defense.
With temperatures in the low 80s, the Hawkeyes' defense didn't wilt despite Penn State's offense holding a 2-to-1 time of possession advantage.
Even though the Iowa offense was thoroughly outplayed in the first 30 minutes, the Hawkeyes hung around and took a 7-5 lead into halftime.
Penn State held Iowa to 54 total yards and three first downs. The Hawkeyes had only one first down until the 4:34 mark of the second period.
More than a smattering of boos could be heard at Kinnick Stadium as the swarming Nittany Lions defense was in total command.
Penn State's offense had plenty of chances to open a lead thanks to tremendous field position throughout the first half, but McSorley and Barkley could not take advantage.
Penn State's offense in the first half ran nearly 30 plays in Iowa territory and had 219 total yards but only three points to show for their effort as the Iowa defense matched the Nittany Lions tackle for tackle.
Penn State downed three punts inside the 10-yard line and the Nittany Lions defense finally took advantage of third punt, which was downed on the 1-yard line.
On a second and eight from their own 3-yard line, Wadley took a pitch from Stanley and was tackled in the end zone by Shareef Miller for a safety and a 5-0 Penn State lead.
After the safety, Penn State took the ball and drove to the Iowa 32-yard line where the Nittany Lions failed to convert on fourth down.
Iowa's best play was a Colten Rastetter 53-yard punt that backed up the Nittany Lions inside their 6-yard line with less than two minutes left. McSorley moved the Nittany Lions out of danger to their 45-yard, but made a costly mistake throwing an interception with 43 seconds left in the half.
Jewell returned the interception 33 yards to the Penn State 21-yard line. On the first play, and the first play the Hawkeyes ran in Penn State territory, Stanley connected with Nick Easley for a touchdown and a 7-5 Iowa lead.
McSorley was 14 of 25 for 122 yards and one interception in the first half. Barkley ran the ball 10 times for 63 yards.
NOTES: Penn State had scored 30-plus points in 10 straight games. ... Nittany Lions QB Trace McSorley has thrown a touchdown in 19 straight games. ... Penn State confirmed DE Torrance Brown, who injured his knee in a game against Georgia State, will miss the rest of the season. ... The Hawkeyes were averaging 33 points coming into Saturday night. ... The Nittany Lions had given up only two touchdowns in their first three games. ... Former Iowa LB Chad Greenway served as honorary captain.