Quarterback J.T. Barrett scored twice in overtime to help No. 13 Ohio State escape with a 31-24 double-overtime victory over Penn State on Saturday night.

The Buckeyes (6-1, 3-0 Big Ten) built a 17-0 lead and were cruising when Penn State defensive tackle Anyhony Zettel intercepted Barrett's pass and returned it 40 yards for a touchdown in the third quarter.

Christian Hackenberg threw a 24-yard touchdown pass to Saeed Blacknall early in the fourth, and Penn State (4-3, 1-3) tied it on Sam Ficken's 31-yard field goal with 9 seconds left.

In the first overtime, Penn State tailback Bill Belton took a direct snap from the Wildcat formation and scored on a 1-yard run. The Buckeyes countered when Barrett carried two straight times, the first for 17 yards and the second 5 yards for a touchdown.

Penn State was called for a personal foul on the touchdown, giving Ohio State the ball at the 12 to start the second overtime. With a third-and-2 from the 4, Barrett powered through the middle of Penn State's defense for a touchdown. Joey Bosa sacked Penn State's Hackenberg on a fourth-and-5 play to end the game.

Ezekiel Elliott ran for 109 yards on 26 carries for Ohio State, and Barrett added 75 yards on 20 attempts. The Buckeyes have won five straight games and 19 in a row in the conference.

Hackenberg was 31 of 49 for 224 yards and a touchdown. DaeSean Hamilton set a Penn State record with 14 catches for 126 yards.

Elliott opened the scoring in the first quarter with a 10-yard run, Sean Nuernberger made a 49-yard field in the second, and Barrett threw a 1-yard pass to Jeff Heuerman late in the quarter to make it 17-0.