| 15:00 | 1st & 10 | OWN 25 | A.J. Ouellette run for 9 yds to the Ohio 34 | +9 | 1.25 |
| 15:00 | 2nd & 1 | OWN 34 | Nathan Rourke pass complete to Papi White for no gain to the Ohio 34 | 0 | -1.28 |
| 15:00 | 3rd & 1 | OWN 34 | A.J. Ouellette run for no gain to the Ohio 34 | 0 | -0.70 |
| 15:00 | 4th & 1 | OWN 34 | Michael Farkas punt for 35 yds, downed at the Buff 31 |
| 13:25 | 1st & 10 | OWN 31 | Tyree Jackson pass complete to Anthony Johnson for 35 yds to the Ohio 34 for a 1ST down | +35 | 2.67 |
| 13:25 | 1st & 10 | OPP 34 | Tyree Jackson pass complete to Tyler Mabry for 3 yds to the Ohio 31 | +3 | -0.21 |
| 12:18 | 2nd & 7 | OPP 31 | Tyree Jackson pass complete to Anthony Johnson for 31 yds for a TD, (Adam Mitcheson KICK) | +31 | 3.14 |
| 12:18 | 1st & 10 | OWN 25 | Nathan Rourke run for 1 yd to the Ohio 26 | +1 | -0.59 |
| 12:18 | 2nd & 9 | OWN 26 | Nathan Rourke pass incomplete | 0 | -0.41 |
| 11:28 | 3rd & 9 | OWN 26 | Nathan Rourke sacked by Demone Harris for a loss of 6 yards Nathan Rourke fumbled, recovered by Buff Charles Harris , return for 0 yards , return for 20 yds, (Adam Mitcheson KICK) | +20 | 2.89 |
| 11:28 | 1st & 10 | OWN 25 | Nathan Rourke pass incomplete to Papi White | 0 | -0.70 |
| 11:28 | 2nd & 10 | OWN 25 | Julian Ross run for 9 yds to the Ohio 34 | +9 | 0.68 |
| 11:28 | 3rd & 1 | OWN 34 | Julian Ross run for 23 yds to the Buff 43 for a 1ST down | +23 | 2.75 |
| 11:28 | 1st & 10 | OPP 43 | Julian Ross run for 2 yds to the Buff 41 | +2 | -0.51 |
| 11:28 | 2nd & 8 | OPP 41 | Julian Ross run for no gain to the Buff 41 | 0 | -1.04 |
| 11:28 | 3rd & 8 | OPP 41 | Nathan Rourke pass complete to Papi White for 19 yds to the Buff 22 for a 1ST down | +19 | 2.26 |
| 11:28 | 1st & 10 | OPP 22 | Nathan Rourke run for 4 yds to the Buff 18 OHIO Penalty, Offensive holding (Papi White) to the Buff 28 | -6 | -1.11 |
| 11:28 | 1st & 16 | OPP 28 | Nathan Rourke run for a loss of 1 yard to the Buff 29 | -1 | -0.73 |
| 11:28 | 2nd & 17 | OPP 29 | Nathan Rourke pass incomplete to Cameron Odom | 0 | -0.91 |
| 11:28 | 3rd & 17 | OPP 29 | Nathan Rourke run for 11 yds to the Buff 18 | +11 | 1.15 |
| 11:28 | 4th & 6 | OPP 18 | Nathan Rourke pass complete to David Burroughs for 7 yds to the Buff 11 for a 1ST down | +7 | 1.15 |
| 11:28 | 1st & 10 | OPP 11 | David Burroughs run for 9 yds to the Buff 2 | +9 | 0.61 |
| 11:28 | 2nd & 1 | OPP 2 | David Burroughs run for no gain to the Buff 2 | 0 | -0.55 |
| 11:28 | 3rd & 1 | OPP 2 | [PSTL], PENALTY OHIO delay of game (Rourke, Nathan) 5 yards to the UB7, NO PLAY. | -5 | |
| 3:42 | 3rd & 6 | OPP 7 | Nathan Rourke run for 7 yds for a TD, (Louie Zervos KICK) | +7 | 2.84 |
| 3:38 | 1st & 10 | OWN 30 | Tyree Jackson pass complete to K.J. Osborn for 13 yds to the Buff 43 for a 1ST down | +13 | 1.23 |
| 3:38 | 1st & 10 | OWN 43 | [SGUN], PENALTY UB false start (O'HAGAN, James) 5 yards to the UB38, NO PLAY. | -5 | |
| 3:38 | 1st & 15 | OWN 38 | Tyree Jackson pass complete to Kamathi Holsey for 8 yds to the Buff 46 | +8 | 0.79 |
| 2:11 | 2nd & 7 | OWN 46 | Tyree Jackson pass complete to Anthony Johnson for 54 yds for a TD, (Adam Mitcheson KICK) | +54 | 4.90 |
| 2:05 | 1st & 10 | OWN 17 | Nathan Rourke pass incomplete to Papi White | 0 | -0.48 |
| 2:05 | 2nd & 10 | OWN 17 | Julian Ross run for 2 yds to the Ohio 19 | +2 | -0.14 |
| 2:05 | 3rd & 8 | OWN 19 | Nathan Rourke pass incomplete to Troy Mangen, broken up by Ryan Williamson | 0 | -0.14 |
| 2:05 | 4th & 8 | OWN 19 | Michael Farkas punt for 34 yds, downed at the Buff 47 |
| 1:07 | 1st & 10 | OWN 47 | Tyree Jackson pass complete to Tyler Mabry for 7 yds to the Ohio 46 | +7 | 0.63 |
| 1:07 | 2nd & 3 | OPP 46 | Tyree Jackson pass incomplete to Anthony Johnson | 0 | -1.21 |
| 1:07 | 3rd & 3 | OPP 46 | Tyree Jackson pass complete to Kamathi Holsey for 17 yds to the Ohio 29 for a 1ST down | +17 | 1.88 |
| 1:07 | 1st & 10 | OPP 29 | Tyree Jackson pass incomplete to K.J. Osborn | 0 | -0.53 |
| 0:13 | 2nd & 10 | OPP 29 | Timeout BUFFALO, clock 00:13 | ||
| 0:13 | 2nd & 10 | OPP 29 | Tyree Jackson sacked by Kent Berger for a loss of 3 yards to the Ohio 32 | -3 | -1.33 |
| 0:07 | 3rd & 13 | OPP 32 | Timeout BUFFALO, clock 00:07 | ||
| 0:07 | 3rd & 13 | OPP 32 | Tyree Jackson pass incomplete to K.J. Osborn | 0 | -1.01 |
| 0:00 | 4th & 13 | OPP 32 | Adam Mitcheson 49 yd FG GOOD | 1.66 | |
| 0:00 | OWN 0 | End of 1st Quarter |
| 14:55 | 1st & 10 | OWN 19 | Nathan Rourke pass complete to Jerrid Marhefka for 5 yds to the Ohio 24 | +5 | 0.08 |
| 14:55 | 2nd & 5 | OWN 24 | Julian Ross run for 7 yds to the Ohio 31 for a 1ST down | +7 | 0.75 |
| 14:55 | 1st & 10 | OWN 31 | Nathan Rourke pass complete to Cameron Odom for 28 yds to the Buff 41 for a 1ST down | +28 | 2.37 |
| 14:55 | 1st & 10 | OPP 41 | [PSTL], Ross, Julian rush for 5 yards to the UB36 (COLLIER, Jordan), PENALTY OHIO holding (Morgan, Mason) 10 yards to the OHIO49, NO PLAY. | -10 | |
| 14:55 | 1st & 20 | OWN 49 | Nathan Rourke pass complete to Mason Morgan for 6 yds to the Buff 45 | +6 | 0.27 |
| 14:55 | 2nd & 14 | OPP 45 | Nathan Rourke run for 7 yds to the Buff 38 | +7 | 0.51 |
| 14:55 | 3rd & 7 | OPP 38 | Nathan Rourke pass incomplete to Cameron Odom, broken up by Devon Russell | 0 | -1.05 |
| 11:19 | 4th & 7 | OPP 38 | Timeout OHIO, clock 11:19 | ||
| 11:19 | 4th & 7 | OPP 38 | Michael Farkas punt for 30 yds, fair catch by K.J. Osborn at the Buff 8 |
| 11:11 | 1st & 10 | OWN 8 | Emmanuel Reed run for 4 yds to the Buff 12 | +4 | -0.04 |
| 11:11 | 2nd & 6 | OWN 12 | Emmanuel Reed run for 2 yds to the Buff 14 | +2 | -0.19 |
| 11:11 | 3rd & 4 | OWN 14 | [SGUN], PENALTY OHIO offside (Smart, Trent) 5 yards to the UB19, 1ST DOWN UB, NO PLAY. | +5 | |
| 11:11 | 1st & 10 | OWN 19 | Emmanuel Reed run for 1 yd to the Buff 20 | +1 | -0.45 |
| 11:11 | 2nd & 9 | OWN 20 | Tyree Jackson pass complete to Tyler Mabry for 6 yds to the Buff 26 | +6 | 0.16 |
| 11:11 | 3rd & 3 | OWN 26 | Tyree Jackson pass complete to Jamarl Eiland for 18 yds to the Buff 44 for a 1ST down | +18 | 2.36 |
| 11:11 | 1st & 10 | OWN 44 | Emmanuel Reed run for 14 yds to the Ohio 42 for a 1ST down | +14 | 1.08 |
| 11:11 | 1st & 10 | OPP 42 | Theo Anderson run for 2 yds to the Ohio 40 | +2 | -0.49 |
| 11:11 | 2nd & 8 | OPP 40 | Theo Anderson run for 3 yds to the Ohio 37 | +3 | -0.35 |
| 11:11 | 3rd & 5 | OPP 37 | Theo Anderson run for 1 yd to the Ohio 36 | +1 | -0.84 |
| 11:11 | 4th & 4 | OPP 36 | Kyle DeWeen punt for 36 yds for a touchback |
| 5:26 | 1st & 10 | OWN 20 | Julian Ross run for 5 yds to the Ohio 25 | +5 | 0.09 |
| 5:26 | 2nd & 5 | OWN 25 | Julian Ross run for 6 yds to the Ohio 31 for a 1ST down | +6 | 0.69 |
| 5:26 | 1st & 10 | OWN 31 | Julian Ross run for no gain to the Ohio 31 | 0 | -0.89 |
| 5:26 | 2nd & 10 | OWN 31 | Nathan Rourke pass complete to Papi White for 16 yds to the Ohio 47 for a 1ST down | +16 | 2.41 |
| 5:26 | 1st & 10 | OWN 47 | Julian Ross run for a loss of 1 yard to the Ohio 46 | -1 | -1.38 |
| 5:26 | 2nd & 11 | OWN 46 | Nathan Rourke pass complete to Jerrid Marhefka for 22 yds to the Buff 32 for a 1ST down | +22 | 2.61 |
| 5:26 | 1st & 10 | OPP 32 | Nathan Rourke run for 6 yds to the Buff 26 | +6 | 0.22 |
| 5:26 | 2nd & 4 | OPP 26 | Nathan Rourke run for a loss of 1 yard to the Buff 27 | -1 | -0.77 |
| 5:26 | 3rd & 5 | OPP 27 | Nathan Rourke pass incomplete to Jerrid Marhefka, broken up by Cameron Lewis | 0 | -0.83 |
| 0:36 | 4th & 5 | OPP 27 | Louie Zervos 44 yd FG GOOD | 0.25 |
| 0:36 | 1st & 10 | OWN 23 | TEAM run for a loss of 1 yard to the Buff 22 | -1 | -0.73 |
| 0:00 | OWN 0 | End of 2nd Quarter |
| 14:54 | 1st & 10 | OWN 41 | Emmanuel Reed run for 6 yds to the Buff 47 | +6 | 0.40 |
| 14:54 | 2nd & 4 | OWN 47 | Tyree Jackson pass complete to Anthony Johnson for 11 yds to the Ohio 42 for a 1ST down | +11 | 0.97 |
| 14:54 | 1st & 10 | OPP 42 | Tyree Jackson pass incomplete to Emmanuel Reed | 0 | -0.91 |
| 14:54 | 2nd & 10 | OPP 42 | Emmanuel Reed run for 1 yd to the Ohio 41 | +1 | -0.83 |
| 14:54 | 3rd & 9 | OPP 41 | Tyree Jackson sacked by Quentin Poling for a loss of 11 yards to the Buff 48 | -11 | -2.12 |
| 14:54 | 4th & 20 | OWN 48 | Kyle DeWeen punt for 36 yds, downed at the Ohio 16 |
| 12:15 | 1st & 10 | OWN 16 | Nathan Rourke run for 2 yds to the Ohio 18 | +2 | -0.30 |
| 12:15 | 2nd & 8 | OWN 18 | Nathan Rourke pass incomplete to Andrew Meyer | 0 | -0.30 |
| 12:15 | 3rd & 8 | OWN 18 | Nathan Rourke pass incomplete to Andrew Meyer, broken up by Cameron Lewis | 0 | -0.13 |
| 12:15 | 4th & 8 | OWN 18 | Michael Farkas punt for 43 yds , Jamarl Eiland returns for 2 yds to the Buff 41 |
| 11:17 | 1st & 10 | OWN 41 | [SGUN], PENALTY UB false start (JOHNSON, Anthon) 5 yards to the UB36, NO PLAY. | -5 | |
| 11:17 | 1st & 15 | OWN 36 | Tyree Jackson pass complete to K.J. Osborn for 2 yds to the Buff 38 | +2 | -0.49 |
| 11:17 | 2nd & 13 | OWN 38 | Emmanuel Reed run for 3 yds to the Buff 41 | +3 | -0.24 |
| 10:02 | 3rd & 10 | OWN 41 | Timeout BUFFALO, clock 10:02 | ||
| 10:02 | 3rd & 10 | OWN 41 | Tyree Jackson pass incomplete to Emmanuel Reed | 0 | -0.44 |
| 10:02 | 4th & 10 | OWN 41 | Kyle DeWeen punt for 34 yds , Papi White returns for 2 yds to the Ohio 27 |
| 9:49 | 1st & 10 | OWN 27 | Nathan Rourke pass complete to Papi White for 4 yds to the Ohio 31 | +4 | -0.12 |
| 9:49 | 2nd & 6 | OWN 31 | Julian Ross run for 2 yds to the Ohio 33 | +2 | -0.46 |
| 9:49 | 3rd & 4 | OWN 33 | Nathan Rourke run for 16 yds to the Ohio 49 for a 1ST down | +16 | 2.59 |
| 9:49 | 1st & 10 | OWN 49 | Nathan Rourke pass complete to Andrew Meyer for 40 yds to the Buff 11 for a 1ST down | +40 | 1.40 |
| 9:49 | 1st & 10 | OPP 11 | Julian Ross run for 5 yds to the Buff 6 | +5 | 0.08 |
| 9:49 | 2nd & 5 | OPP 6 | Julian Ross run for 4 yds to the Buff 2 | +4 | -0.02 |
| 9:49 | 3rd & 1 | OPP 2 | Nathan Rourke run for 1 yd to the Buff 1 for a 1ST down | +1 | 1.52 |
| 6:05 | 1st & 1 | OPP 1 | Nathan Rourke run for 1 yd for a TD, (Louie Zervos KICK) | +1 | 0.94 |
| 6:05 | 1st & 10 | OWN 25 | Tyree Jackson pass complete to Kamathi Holsey for 12 yds to the Buff 37 for a 1ST down | +12 | 1.03 |
| 6:05 | 1st & 10 | OWN 37 | Emmanuel Reed run for 3 yds to the Buff 40 | +3 | -0.42 |
| 6:05 | 2nd & 7 | OWN 40 | Emmanuel Reed run for 1 yd to the Buff 41 | +1 | -0.77 |
| 6:05 | 3rd & 6 | OWN 41 | Tyree Jackson pass complete to Emmanuel Reed for 8 yds to the Buff 49 for a 1ST down | +8 | 2.31 |
| 6:05 | 1st & 10 | OWN 49 | Emmanuel Reed run for 2 yds to the Ohio 49 | +2 | -0.64 |
| 6:05 | 2nd & 8 | OPP 49 | Tyree Jackson pass complete to Jamarl Eiland for 5 yds to the Ohio 44 | +5 | 0.09 |
| 6:05 | 3rd & 3 | OPP 44 | Tyree Jackson pass incomplete to Kamathi Holsey, broken up by Quentin Poling | 0 | -1.13 |
| 6:05 | 4th & 3 | OPP 44 | Kyle DeWeen punt for 36 yds, downed at the Ohio 8 |
| 2:24 | 1st & 10 | OWN 8 | Julian Ross run for 2 yds to the Ohio 10 | +2 | -0.21 |
| 2:24 | 2nd & 8 | OWN 10 | Nathan Rourke pass complete to Papi White for 10 yds to the Ohio 20 for a 1ST down | +10 | 0.67 |
| 2:24 | 1st & 10 | OWN 20 | Nathan Rourke pass complete to Mason Morgan for 23 yds to the Ohio 43 for a 1ST down | +23 | 1.92 |
| 0:53 | 1st & 10 | OWN 43 | Nathan Rourke pass complete to Cameron Odom for 57 yds for a TD, (Louie Zervos KICK) | +57 | 4.47 |
| 0:47 | 1st & 10 | OWN 19 | Emmanuel Reed run for 5 yds to the Buff 24 | +5 | 0.08 |
| 0:00 | OWN 0 | End of 3rd Quarter | |||
| 15:00 | 2nd & 5 | OWN 24 | Tyree Jackson pass complete to Kamathi Holsey for 33 yds to the Ohio 43 for a 1ST down | +33 | 3.00 |
| 15:00 | 1st & 10 | OPP 43 | Emmanuel Reed run for 2 yds to the Ohio 41 | +2 | -0.51 |
| 15:00 | 2nd & 8 | OPP 41 | Tyree Jackson pass incomplete to Kamathi Holsey | 0 | -1.04 |
| 15:00 | 3rd & 8 | OPP 41 | Tyree Jackson pass incomplete to Tyler Mabry, broken up by Evan Croutch | 0 | -1.01 |
| 15:00 | 4th & 8 | OPP 41 | Kyle DeWeen punt for 27 yds, fair catch by Papi White at the Ohio 14 |
| 14:12 | 1st & 10 | OWN 14 | Nathan Rourke pass complete to Mason Morgan for 20 yds to the Ohio 34 for a 1ST down | +20 | 1.32 |
| 14:12 | 1st & 10 | OWN 34 | Nathan Rourke pass incomplete to Andrew Meyer | 0 | -0.99 |
| 14:12 | 2nd & 10 | OWN 34 | Julian Ross run for no gain to the Ohio 34 | 0 | -0.57 |
| 14:12 | 3rd & 10 | OWN 34 | Nathan Rourke pass incomplete to Papi White | 0 | -0.28 |
| 14:12 | 4th & 10 | OWN 34 | Michael Farkas punt for 51 yds, downed at the Buff 15 |
| 13:02 | 1st & 10 | OWN 15 | Tyree Jackson pass complete to Anthony Johnson for 12 yds to the Buff 27 for a 1ST down | +12 | 0.69 |
| 13:02 | 1st & 10 | OWN 27 | Tyree Jackson pass complete to Anthony Johnson for 12 yds to the Buff 39 for a 1ST down | +12 | 1.08 |
| 13:02 | 1st & 10 | OWN 39 | Emmanuel Reed run for 2 yds to the Buff 41 | +2 | -0.67 |
| 13:02 | 2nd & 8 | OWN 41 | Tyree Jackson pass complete to Kamathi Holsey for 7 yds to the Buff 48 | +7 | 0.62 |
| 13:02 | 3rd & 1 | OWN 48 | K.J. Osborn run for 3 yds to the Ohio 49 for a 1ST down | +3 | 1.15 |
| 13:02 | 1st & 10 | OPP 49 | Tyree Jackson pass incomplete to Anthony Johnson | 0 | -1.10 |
| 13:02 | 2nd & 10 | OPP 49 | Tyree Jackson pass incomplete to Jacob Martinez | 0 | -1.04 |
| 13:02 | 3rd & 10 | OPP 49 | Tyree Jackson pass incomplete to K.J. Osborn | 0 | -0.74 |
| 13:02 | 4th & 10 | OPP 49 | Kyle DeWeen punt for 44 yds, fair catch by Papi White at the Ohio 5 |
| 10:20 | 1st & 10 | OWN 5 | David Burroughs run for 1 yd to the Ohio 6 | +1 | -0.24 |
| 10:20 | 2nd & 9 | OWN 6 | David Burroughs run for 1 yd to the Ohio 7 | +1 | -0.12 |
| 10:20 | 3rd & 8 | OWN 7 | Nathan Rourke pass incomplete to Troy Mangen, broken up by Demone Harris | 0 | -0.08 |
| 10:20 | 4th & 8 | OWN 7 | Michael Farkas punt for 38 yds , K.J. Osborn returns for 39 yds to the Ohio 6 |
| 8:35 | 1st & 6 | OPP 6 | Emmanuel Reed run for 5 yds to the Ohio 1 | +5 | 0.15 |
| 8:10 | 2nd & 1 | OPP 1 | Emmanuel Reed run for 1 yd for a TD, (Adam Mitcheson KICK) | +1 | 1.90 |
| 8:10 | 1st & 10 | OWN 25 | Nathan Rourke run for 2 yds to the Ohio 27 | +2 | -0.45 |
| 8:10 | 2nd & 8 | OWN 27 | Nathan Rourke pass incomplete to Papi White, broken up by Khalil Hodge | 0 | -0.48 |
| 8:10 | 3rd & 8 | OWN 27 | [SGUN], Rourke, Nathan pass incomplete to Meyer, Andrew, PENALTY UB pass interference (ROBERTS, Tim) 14 yards to the OHIO41, 1ST DOWN OHIO, NO PLAY. | +14 | |
| 8:10 | 1st & 10 | OWN 41 | Nathan Rourke pass incomplete to Julian Ross | 0 | -1.14 |
| 8:10 | 2nd & 10 | OWN 41 | Julian Ross run for 8 yds to the Ohio 49 | +8 | 0.80 |
| 8:10 | 3rd & 2 | OWN 49 | Nathan Rourke run for 6 yds to the Buff 45 for a 1ST down | +6 | 1.52 |
| 8:10 | 1st & 10 | OPP 45 | Nathan Rourke pass complete to Jerrid Marhefka for 8 yds to the Buff 37 | +8 | 0.73 |
| 8:10 | 2nd & 2 | OPP 37 | [PSTL], Rourke, Nathan pass intercepted by COLLIER, Jordan at the UB27, COLLIER, Jordan return to the OHIO36 (Pruehs, Jake), PENALTY UB roughing passer (HARRIS, Demone) 15 yards to the UB22, 1ST DOWN OHIO, NO PLAY. | +15 | |
| 8:10 | 1st & 10 | OPP 22 | Jalen Fox run for 5 yds to the Buff 17 | +5 | 0.07 |
| 8:10 | 2nd & 5 | OPP 17 | Julian Ross run for 4 yds to the Buff 13 | +4 | -0.03 |
| 8:10 | 3rd & 1 | OPP 13 | Julian Ross run for 2 yds to the Buff 11 for a 1ST down | +2 | 0.08 |
| 8:10 | 1st & 10 | OPP 11 | Quinton Maxwell run for 4 yds to the Buff 7 | +4 | -0.02 |
| 8:10 | 2nd & 6 | OPP 7 | Julian Ross run for 1 yd to the Buff 6 | +1 | -0.24 |
| 2:12 | 3rd & 5 | OPP 6 | Timeout OHIO, clock 02:12 | ||
| 2:12 | 3rd & 5 | OPP 6 | Nathan Rourke sacked by Ishmael Hargrove for a loss of 7 yards to the Buff 13 | -7 | -1.07 |
| 2:12 | 4th & 12 | OPP 13 | Nathan Rourke pass intercepted, touchback. Khalil Hodge return for no gain | -3.15 |
| 1:20 | 1st & 10 | OWN 20 | Emmanuel Reed run for no gain to the Buff 20 | 0 | -0.56 |
| 1:16 | 2nd & 10 | OWN 20 | Timeout OHIO, clock 01:16 | ||
| 1:16 | 2nd & 10 | OWN 20 | Emmanuel Reed run for 7 yds to the Buff 27 | +7 | 0.25 |
| 1:10 | 3rd & 3 | OWN 27 | Timeout OHIO, clock 01:10 | ||
| 1:10 | 3rd & 3 | OWN 27 | Emmanuel Reed run for 4 yds to the Buff 31 for a 1ST down | +4 | 1.09 |
| 1:10 | 1st & 10 | OWN 31 | TEAM run for a loss of 1 yard to the Buff 30 | -1 | -1.03 |
| 0:00 | OWN 0 | End of 4th Quarter |
| 2 | sacks | 2 |
| 4 | plays for loss | 5 |
| 0 | takeaways | 2 |
| 1 | three-and-outs forced | 4 |
| 7 | explosive plays allowed | 10 |
| 6.25 | yards allowed / play | 6.03 |
| 4 of 12 | scoring drives allowed | 4 of 12 |
| Bradd Ellis | 6 (5) | 6 sk |
| Chad Moore | 5 (3) | |
| Javon Hagan | 5 (3) | |
| Marlin Brooks | 5 (3) | |
| Kent Berger | 4 (3) | 1 sk · 1 TFL |
| Evan Croutch | 4 (3) | 1 PD |
| Trent Smart | 4 (4) | |
| Kylan Nelson | 4 (3) |
| Khalil Hodge | 13 (7) | 2 TFL · 1 INT · 1 PD · 1 QH |
| Demone Harris | 7 (5) | 1 sk · 1 TFL · 1 PD · 2 QH |
| Jarrett Franklin | 7 (6) | |
| Charles Harris | 7 (5) | |
| Ishmael Hargrove | 6 (4) | 1 sk · 1 TFL |
| Ryan Williamson | 6 (4) | 0.5 TFL · 1 PD |
| Cameron Lewis | 4 (4) | 2 PD |
| Tim Roberts | 4 (3) |
| 1 of 1 | field goals | 1 of 1 |
| 6 | punts | 6 |
| 38.5 | punt average | 35.5 |
| 0 | punts inside the 20 | 0 |
| 25 | return yards | 105 |
| own 27 | average drive start | own 46 |
| K | Louie Zervos | 1/1 FG · long 44 · 3/3 XP |
| P | Michael Farkas | 6 punts · 38.5 avg |
| KR | Julian Ross | 1 ret · 14 yds · long 14 |
| KR | DL Knock | 1 ret · 9 yds · long 9 |
| PR | Papi White | 1 ret · 2 yds · long 2 |
| K | Adam Mitcheson | 1/1 FG · long 49 · 4/4 XP |
| P | Kyle DeWeen | 6 punts · 35.5 avg |
| KR | Jamarl Eiland | 1 ret · 22 yds · long 22 |
| KR | K.J. Osborn | 1 ret · 19 yds · long 19 |
| KR | Tyler Mabry | 1 ret · 16 yds · long 16 |
| KR | Jacob Martinez | 1 ret · 7 yds · long 7 |
| PR | Jamarl Eiland | 1 ret · 2 yds · long 2 |
| PR | K.J. Osborn | 1 ret · 39 yds · long 39 |
| 73 | plays | 56 |
| 440 | yards | 350 |
| 12 | drives | 12 |
| 44% | success rate | 41% |
| 19.07 | total PPA | 10.59 |
| Q1 | Tyree Jackson pass complete to Anthony Johnson for 31 yds for a TD, (Adam Mitcheson KICK) | 7–0 |
| Q1 | Nathan Rourke run for 7 yds for a TD, (Louie Zervos KICK) | 7–14 |
| Q1 | Tyree Jackson pass complete to Anthony Johnson for 54 yds for a TD, (Adam Mitcheson KICK) | 21–7 |
| Q1 | Adam Mitcheson 49 yd FG GOOD | 24–7 |
| Q2 | Louie Zervos 44 yd FG GOOD | 10–24 |
| Q3 | Nathan Rourke run for 1 yd for a TD, (Louie Zervos KICK) | 17–24 |
| Q3 | Nathan Rourke pass complete to Cameron Odom for 57 yds for a TD, (Louie Zervos KICK) | 24–24 |
| Q4 | Emmanuel Reed run for 1 yd for a TD, (Adam Mitcheson KICK) | 31–24 |
| Q1 | Tyree Jackson pass complete to Anthony Johnson for 54 yds for a TD, (Adam Mitcheson… | 4.90 |
| Q3 | Nathan Rourke pass complete to Cameron Odom for 57 yds for a TD, (Louie Zervos KICK) | 4.47 |
| Q1 | Tyree Jackson pass complete to Anthony Johnson for 31 yds for a TD, (Adam Mitcheson… | 3.14 |
| Q4 | Tyree Jackson pass complete to Kamathi Holsey for 33 yds to the Ohio 43 for a 1ST down | 3.00 |
| Q1 | Nathan Rourke sacked by Demone Harris for a loss of 6 yards Nathan Rourke fumbled… | 2.89 |
| Q1 | Nathan Rourke run for 7 yds for a TD, (Louie Zervos KICK) | 2.84 |
| 2025 | Ohio 31 – 26 Buffalo |
| 2024 | Buffalo 16 – 47 Ohio |
| 2023 | Ohio 20 – 10 Buffalo |
| 2022 | Buffalo 24 – 45 Ohio |
| 2021 | Ohio 26 – 27 Buffalo |
| 2019 | Ohio 21 – 20 Buffalo |
| 2018 | Buffalo 17 – 52 Ohio |
| 2016 | Buffalo 10 – 34 Ohio |