COLUMBUS, Ohio -- Urban Meyer described Ohio State's recent matchups with Indiana during the past week as "swing as hard as you can" type of games.
The No. 2 Buckeyes got what their coach expected Saturday.
After basically running through the first four opponents on the schedule, Ohio State met with some resistance but managed to come away with a 38-17 victory over Indiana in a Big Ten game before 107,820 in Ohio Stadium.
"That was a good team," Meyer said. "That was a hard-fought victory. We won by three touchdowns and left a lot of pass offense on the field. That was an alarming thing."
With Ohio State unable to get its passing game going, freshman running back Mike Weber rushed for two touchdowns and quarterback J.T. Barrett ran for one and threw for a score.
Barrett did most of his work with his feet instead of his arm against the Hoosiers (3-2, 1-1 Big Ten), rushing for a game-high 137 yards on a career-high 26 carries as the Indiana pass defense gave Ohio State (5-0, 2-0) more trouble than expected.
The Heisman Trophy candidate, who came into the game with 14 touchdown passes and averaging 222 passing yards per game this season, connected with Dontre Wilson on a 37-yard strike with 3:51 left in the game for his only scoring pass and the final TD of the game.
Meyer was at a loss to explain several missed deep passes or Ohio State's inability to open up an offense that was averaging 579 yards per game but totaled 383 yards against Indiana.
"A big part of our passing game is the execution of our deep ball," Meyer said. "We just flat misfired on a few of them. We just have to do better."
Barrett finished just 9 of 21 for 93 yards through the air with the one touchdown and one interception against an Indiana pass defense ranked 11th in the Big Ten entering the game.
"If you can't throw the deep ball, then they can sit on every guy," Barrett said. "If you can run past them and throw the deep ball, that opens up a lot of the offense. I didn't do a good job today throwing the deep ball. It's something I've got to do better at."
Barrett ran with the ball considerably more often than Meyer would like, but "we had to win the damn game, and he's one of our best players."
"He's a big part of their offense," Indiana linebacker Tegray Scales said. "We tried to bring pressure. Our goal was to come after him, and I think we did a good job doing that."
Ohio State's defense sealed the outcome when Malik Hooker picked off a pass by Indiana quarterback Richard Lagow with 2:57 left for his fourth interception of the season. Hooker's return to the end zone was nullified by a chop-block penalty.
The Buckeyes limited the Hoosiers to 281 total yards, forced two turnovers and made a key stop early in the fourth quarter when they stopped Indiana, trying to pull within a touchdown, on a fourth-and-1 at the Ohio State 4-yard line.
"I thought our defense had a couple of sudden changes," Meyer said. "I want to say two and held them at least to a field goal. And then obviously the fourth down, that was the play of the day."
Trailing 24-10 at halftime, Indiana marched down the field on its first drive in the third quarter and pulled to 24-17 on a 7-yard touchdown pass from Lagow to wide-open Danny Friend in the end zone.
Ohio State responded with a 13-play, 85-yard drive that Weber completed with a 1-yard drive into the end zone that restored the Buckeyes' 14-point lead.
Lagow connected on 14 of 28 passes for 182 yards with two touchdowns and one interception for the Hoosiers. Devine Redding rushed for 78 yards on 22 carries.
"We made mistake sand we will go home and address it," Indiana coach Kevin Wilson said. "Our offense has to be smart and attack a little bit more. Except for mistakes, it was a close game."
Ohio State's defense flipped the early 3-3 stalemate in the Buckeyes' favor when Tyquan Lewis forced a fumble by Lagow that was recovered by Ohio State's Jalyn Holmes at the Indiana 9-yard line. On the second play after the turnover, Weber ran untouched into the end zone to make it 10-3.
The Buckeyes added a touchdown with 3:32 left in the second quarter when Curtis Samuel capped a five-play, 73-yard drive with a 5-yard run for a 17-3 lead. Samuel was Ohio State's second-leading rusher with 82 yards on nine carries.
Indiana answered quickly with an 18-yard touchdown pass from Lagow to a wide-open Mitchell Paige in the middle of the field to close within 17-10 with 1:03 left before the half ended. But Ohio State stole the momentum right back with a 91-yard kickoff return by Parris Campbell to the Indiana 6 that Meyer called one of the big plays in the game. Barrett scored two plays later on a keeper from the 5 to expand the Buckeyes' lead to 24-10 at halftime.
"Some days you struggle with passing and some days you struggle on the run, and today was one of the days where we struggled with the pass," Ohio State guard Billy Price said.
NOTES: Ohio State LB Dante Booker (knee) missed his fourth straight game after sustaining an MCL sprain in the season opener. ... Indiana played without All-American G Dan Feeney (concussion) and RT Dimitric Camiel (back). Feeney was sidelined for the third straight week. ... Ohio State led the Big Ten or was ranked second in nearly every team offensive and defensive category last week. ... Indiana has never beaten a team ranked No. 1 or 2 in the country. ... Indiana's last win over Ohio State came in 1988 and its last victory in Columbus was in 1987.