Leading 14-0, Ohio State took the opening kickoff of the second half and drove 75 yards in 10 plays for another touchdown.
After Dobbins six times for 35 yards to put the Buckeyes in scoring position, Fields hooked up with KJ Hill from 24 yards out for the score.
The Nittany Lions answered with a 75-yard drive capped when Journey Brown took a handoff up the middle, broke multiple tackles and scampered into the end zone from 18 yards out.
That brought the visitors to within 21-7 with 8:19 left in the third quarter, and they wasted almost no time getting even closer.
Dobbins fumbled on the first play of Ohio State’s ensuing possession, and the Nittany Lions recovered at the Ohio State 12.
After an 11-yard pass to Pat Freiermuth, Levis punched the ball in from a yard out to make it a one-score game again with 7:54 left in the third.
The Nittany Lions scored twice in 25 seconds of game time, and less than a minute later they got it back after another Ohio State fumble.
Fields lost it again on a run up the middle, and Penn State took over at the Ohio State 36.
This time the defense stiffened, forcing the Nittany Lions to settle for a 42-yard field goal by Jake Pinegar with 4:22 on the clock.
The Buckeyes stretched the lead back to two scores early in the fourth quarter when Fields threw one up for Olave and he took it away from a defender for a 28-yard touchdown.
FIRST HALF RECAP
Ohio State dominated Penn State in the first half but has only a 14-0 lead to show for it.
J.K. Dobbins scored from a yard out on fourth-and-goal with 2:00 on clock, capping a 58-yard drive.
>>RELATED: Ohio State captain plans to redshirt
The second-ranked Buckeyes got to the Penn State 34 on their next drive but stalled out there after an illegal formation penalty and a sack drove them back to the Penn State 48.
The ninth-ranked Nittany Lions were able to hang in despite being outgained 255-64.
A Fields fumble at the goal line on Ohio State’s second possession played a major role, as did a Penn State pass rush that kept Fields off balance at times.
That all came after Ohio State appeared to deliver a message on its first possession, driving 91 yards for a touchdown without completing a pass.
The only time the Buckeyes went to the air, Fields’ deep ball to Chris Olave was under thrown and nearly intercepted. Olave was able to break it up, and Ohio State went back to work on the ground.
Fields picked up 35 yards on the ground, including a key 22-yard scramble to convert a third-and-11.
Dobbins started the drive with a 22-yard run around left end and finished it with a 4-yard run for a touchdown.
He passed Eddie George to move into third place on Ohio State’s career rushing list along the way.
Penn State entered the game leading the Big Ten with an average of 75.9 yards allowed per game on the ground.
Ohio State appeared to have tacked on another touchdown on its next possession, but Fields fumbled at the goal line and the Nittany Lions recovered in the end zone. Lamont Wade knocked the ball loose with his helmet and Cam Brown recovered.
In his return from a two-game suspension for an NCAA violation, Chase Young had half a sack in the first half to tie the school single-season record with 14.