Ohio's dream undefeated season came to an end on Saturday.
The Bobcats trailed 20-14 at halftime, but rallied tie the game at 20 with under two minutes left.
Miami scored the final points of the game with 1:24 left on the clock, driving down the field for a deciding 31-yard field goal by Kaleb Patterson.
The Bobcats had a chance to tie or take the lead with nine seconds left and the ball on Miami's 7-yard line, but quarterback Tyler Tettleton was sacked by Miami's Wes Williams as time ran out.
Miami's upset was complete and Ohio lost its first game of the year, 23-20.
With the loss, Ohio dropped out of the top 25 in the BCS, AP and USA Today Coaches' Poll.
Ohio will next be in action on Thursday, Nov. 1 against Eastern Michigan. The Bobcats and Eagles will kick off from Peden Stadium at 6 p.m.