BLOOMINGTON — Saquon Barkley ran for two go-ahead touchdowns in the fourth quarter, helping No. 12 Penn State beat Indiana 45-31 on Saturday.

Barkley was held to 20 yards on 20 carries though the first three quarters. But the Big Ten's top rusher stepped up in the fourth, helping the Nittany Lions (8-2, 6-1) keep pace with No. 2 Michigan in the Big Ten East Division with their sixth consecutive victory.

First, Barkley found a hole for a 4-yard TD run that made it 28-24. After Indiana regained the lead on Richard Lagow's 40-yard TD pass to Nick Westbrook, Barkley ran over a defender for a 2-yard TD with 3:58 left.

“What you can't do when you're struggling in the run game is abort it, especially with a young offensive line,” Penn State coach James Franklin said. “It was a gutsy, gutsy win on the road.”

Penn State sealed the victory with a 9-yard fumble return for a TD with 29 seconds left.

Barkley finished with 60 yards on 33 carries. Trace McSorley completed 16 of 30 passes for 332 yards with two TD passes and two interceptions.

Indiana (5-5, 3-4) had won two in a row. Lagow was 23 of 40 for 292 yards and two TDs, and Devine Redding ran 23 times for 108 yards and two scores.

“As hard as we played, as much as we played, we've got to play better,” Indiana coach Kevin Wilson said. “And I've got to coach better down the stretch.”

The Hoosiers blew a golden opportunity for a signature win.

It would have been Indiana's second Top 25 victory this season and secured bowl eligibility with two games to play.

Next up is Michigan in Ann Arbor before finishing with rival Purdue in the regular-season finale.

Indiana lost five fumbles, four in the first half.