Saturday's contest featured a matchup of teams dealing with NCAA scandals.
Back under center after serving a one-game suspension for accepting improper benefits from a booster, Harris finished with 123 yards while completing 16- of-23 throws.
Lamar Miller gained 184 yards on 26 carries for the Hurricanes (1-1), who rebounded from a 32-24 loss at Maryland on September 5.
While head coach Al Golden picked up his first victory at Miami, his counterpart from Ohio State, Luke Fickell, suffered his first loss as the Buckeyes (2-1) were held to only 35 yards through the air.
Joe Bauserman connected on just 2-of-14 passes for 13 yards in defeat.
Miller ran for 54 yards to the Ohio State nine on Miami's first play from scrimmage. The lengthy gain set up Harris' first touchdown pass to Hurns.
The Miami defense forced its second straight three-and-out, and Travis Benjamin returned the punt close to mid-field. The Hurricanes converted a trio of third downs en route to taking a 14-0 lead.
After the teams traded interceptions and punts, Ohio State composed a time- consuming drive in the second quarter that exclusively featured the run. The Buckeyes stalled inside the Miami 10 and settled for a 22-yard Drew Basil field goal. The 16-play drive ate up nearly seven minutes of the clock.
Ohio State's offense quickly got the ball back -- in excellent field position -- after Harris was picked off for a second time. But the Buckeyes couldn't reach the end zone as Basil kicked a 24-yarder.
Jake Wieclaw drilled a 25-yard field goal as the first half expired to put Miami up 17-6.
A one-yard TD run by Mike James sealed the win for Miami with 33 seconds to go in regulation.
OSU's Jordan Hall had 14 rushes for 87 yards...The Buckeyes were seeking their first 3-0 start since 2007...Ohio State played its first regular season game in the state of Florida.