Ball State at Purdue

Saturday, August 30, 2025

Purdue beat Ball State 31–⁠0. It was their ninth meeting; Purdue leads the series 9–⁠0.

AwayBall State4–⁠8 in 2025
0
HomePurdue2–⁠10 in 2025
31

Final at Ross-Ade Stadium, West Lafayette72°F, wind 5 mphTV: BTNAttendance 53,994

Official
Jeff ServinskiGame officials: stats.ncaa.org box scores, via SportsDataverse

Scoring by quarter

TeamQ1Q2Q3Q4Final
Ball State00000
Purdue1477331

How the win probability moved

Purdue favored

Win probability by play: Purdue 61% at kickoff, 100% at the end. Biggest swing: 31 points.

Ball State favored

Win probability after every play, from CollegeFootballData.com’s model. The dot marks the biggest swing (31 points).

Standouts

Photos: Wikimedia Commons, free licenses; credits on each player’s page.

Player stats

Ball State

PassingC/AttYdsTDInt
Kiael Kelly10/168700
RushingCarYdsTDLong
Kiael Kelly2263012
Qua Ashley1045021
Elijah Jackson1707
T.J. Horton3104
ReceivingRecYdsTDLong
Elijah Jackson137037
T.J. Horton114014
Maximus Webster113013
Ty Robinson2907
DefenseTklTFLSacksInt
Joey Stemler5000
Nathan Voorhis4110
Alfred Chea4000
Caden Johnson3100

Purdue

PassingC/AttYdsTDInt
Ryan Browne18/2631120
Malachi Singleton2/32900
RushingCarYdsTDLong
Devin Mockobee1459113
Malachi Singleton317012
Antonio Harris31207
Ryan Browne7515
ReceivingRecYdsTDLong
Arhmad Branch3101149
Michael Jackson III672118
Devin Mockobee245029
E.J. Horton338014
DefenseTklTFLSacksInt
Tahj Ra-El7100
Mani Powell5110
Charles Correa4100
C.J. Madden30.50.50
Breylon Charles310.50
Sanders Ellis310.50
Crew Wakley3000
Jamarrion Harkless211.50

From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.

Team stats

Ball StatePurdue
203Total yards433
87Passing yards340
116Rushing yards93
5.4Yards per pass11.7
3.2Yards per rush3.1
13First downs23
4–⁠13Third downs4–⁠11
1–⁠2Fourth downs2–⁠2
0Turnovers0
3–⁠18Penalties3–⁠25
33:40Possession26:20
1Sacks (by defense)4

Efficiency

Ball StatePurdue
31%Success rate52%
−0.07EPA per play0.40
1.08Explosiveness1.29
−0.00Rushing EPA0.14
−0.18Passing EPA0.65
15%Passing-down success47%
−0.28First-down EPA0.18
−0.02Second-down EPA0.58
0.09Third-down EPA0.27
16%Havoc by its defense16%

From CollegeFootballData.com: each offense’s efficiency, and the havoc each defense caused. The better side of each line is bold.

Before kickoff

Our ratings and the line, going in

Our ratings (scores only)

Purdue 58% to win. Elo’s favorite won.

The line

Purdue −16.5, over/under 50.5.

The last line on file before kickoff: the consensus line when the books publish one, otherwise a single major sportsbook’s.

Before kickoff, the win chances were Purdue 87%, Ball State 13%. CollegeFootballData.com’s estimate from the point spread.

Every drive

Purdue end zoneBall State end zoneQ1 PurdueTouchdown, 2 playsQ1 Ball StatePunt, 3 playsQ1 PurdueTouchdown, 6 playsQ1 Ball StatePunt, 3 playsQ1 PurduePunt, 3 playsQ1 Ball StatePunt, 8 playsQ1 PurdueTouchdown, 13 playsQ2 Ball StatePunt, 3 playsQ2 PurduePunt, 3 playsQ2 Ball StateTurnover on downs, 9 playsQ2 PurduePunt, 3 playsQ2 Ball StateEnd of half, 1 playQ3 Ball StateMissed FG, 13 playsQ3 PurdueTouchdown, 7 playsQ3 Ball StatePunt, 6 playsQ4 PurdueField goal, 13 playsQ4 Ball StateMissed FG, 8 playsQ4 PurdueEnd of game, 10 plays
Solid bars scored; an outline in the other team’s color marks points the defense scored. Purdue drives left to right, Ball State right to left.
  1. Q1 PurdueTouchdown, 2 plays, 72 yards
  2. Q1 Ball StatePunt, 3 plays, 6 yards
  3. Q1 PurdueTouchdown, 6 plays, 71 yards
  4. Q1 Ball StatePunt, 3 plays, 2 yards
  5. Q1 PurduePunt, 3 plays, 4 yards
  6. Q1 Ball StatePunt, 8 plays, 33 yards
  7. Q1 PurdueTouchdown, 13 plays, 91 yards
  8. Q2 Ball StatePunt, 3 plays, 4 yards
  9. Q2 PurduePunt, 3 plays, 6 yards
  10. Q2 Ball StateTurnover on downs, 9 plays, 60 yards
  11. Q2 PurduePunt, 3 plays, 7 yards
  12. Q2 Ball StateEnd of half, 1 play, −3 yards
  13. Q3 Ball StateMissed FG, 13 plays, 48 yards
  14. Q3 PurdueTouchdown, 7 plays, 73 yards
  15. Q3 Ball StatePunt, 6 plays, 7 yards
  16. Q4 PurdueField goal, 13 plays, 61 yards
  17. Q4 Ball StateMissed FG, 8 plays, 63 yards
  18. Q4 PurdueEnd of game, 10 plays, 58 yards

Play by play

1st quarter7 drives, then Purdue 14, Ball State 0
Purdue Touchdown, 2 plays
14:561st & 10 at own 35Carson Holmer kickoff for 57 yds , Antonio Harris return for 20 yds to the PUR 28
14:511st & 10 at own 28(14:56) No Huddle-Shotgun Browne,Ryan pass incomplete short middle to Branch,Arhmad thrown to PUR42 broken up by Yates,Willizhuan PENALTY BSU Holding (Yates,Willizhuan) 10 yards from PUR28 to PUR38, 1ST DOWN. NO PLAY.
14:421st & 10 at own 38Devin Mockobee run for 13 yds to the BALL 49 for a 1ST down
14:201st & 10 at opp 49Ryan Browne pass complete to Arhmad Branch for 49 yds for a TD (Spencer Porath KICK)Purdue 7, Ball State 0
Ball State Punt, 3 plays
14:161st & 10 at own 35Seth Turner kickoff for 62 yds , Qua Ashley return for 17 yds to the BALL 20
14:051st & 10 at own 20Qua Ashley run for a loss of 1 yard to the BALL 19
13:322nd & 11 at own 19Kiael Kelly pass incomplete to Koby Gross
13:143rd & 11 at own 19Kiael Kelly pass complete to Ty Robinson for 7 yds to the BALL 26
12:424th & 4 at own 26Adam Saul punt for 45 yds, fair catch by Michael Jackson III at the PUR 29
Purdue Touchdown, 6 plays
12:321st & 10 at own 29Ryan Browne pass complete to Arhmad Branch for 17 yds to the PUR 46 for a 1ST down
12:051st & 10 at own 46Ryan Browne pass complete to Arhmad Branch for 35 yds to the BALL 19 for a 1ST down
11:471st & 10 at opp 19Devin Mockobee run for 11 yds to the BALL 8 for a 1ST down
11:271st & goal at opp 8(11:28) PENALTY PUR False Start (Trent,Ethan) 5 yards from BSU08 to BSU13. NO PLAY.
11:031st & goal at opp 13Devin Mockobee run for no gain to the BALL 13
10:212nd & goal at opp 13Ryan Browne pass complete to Corey Smith for 8 yds to the BALL 5
9:473rd & goal at opp 5Ryan Browne run for 5 yds for a TD (Spencer Porath KICK)Purdue 14, Ball State 0
Ball State Punt, 3 plays
9:431st & 10 at own 35Seth Turner kickoff for 51 yds , Qua Ashley return for 17 yds to the BALL 31
9:251st & 10 at own 31TJ Horton run for a loss of 3 yards to the BALL 28
8:452nd & 13 at own 28Kiael Kelly sacked for a loss of 1 yard to the BALL 27
8:093rd & 14 at own 27Kiael Kelly run for 6 yds to the BALL 33
7:324th & 8 at own 33Adam Saul punt for 31 yds
Purdue Punt, 3 plays
7:201st & 10 at own 36Ryan Browne run for no gain to the PUR 36
6:542nd & 10 at own 36Devin Mockobee run for a loss of 2 yards to the PUR 34
6:093rd & 12 at own 34Ryan Browne pass complete to Nitro Tuggle for 6 yds to the PUR 40
5:454th & 6 at own 40Jack McCallister punt for 45 yds , Eric Weatherly returns for no gain to the BALL 12
Ball State Punt, 8 plays
5:351st & 10 at own 12Kiael Kelly run for 2 yds to the BALL 14
5:042nd & 8 at own 14Qua Ashley run for 1 yd to the BALL 15
4:163rd & 7 at own 15Kiael Kelly pass complete to Eric Weatherly for 8 yds to the BALL 23 for a 1ST down
3:361st & 10 at own 23Kiael Kelly run for 5 yds to the BALL 28
2:452nd & 5 at own 28Kiael Kelly pass complete to Maximus Webster for 13 yds to the BALL 41 for a 1ST down
2:131st & 10 at own 41TJ Horton run for 4 yds to the BALL 45
1:302nd & 6 at own 45TJ Horton run for no gain to the BALL 45
0:543rd & 6 at own 45Kiael Kelly pass incomplete to Ty Robinson
0:474th & 6 at own 45Adam Saul punt for 46 yds, fair catch by Michael Jackson III at the PUR 9
Purdue Touchdown, 13 plays
0:351st & 10 at own 9Antonio Harris run for 1 yd to the PUR 10
0:002nd & 9 at own 10Ryan Browne pass complete to Antonio Harris for 22 yds to the PUR 32 for a 1ST down
Q2 14:531st & 10 at own 32Purdue Penalty, Ineligible Downfield on Pass (Yards) declined
Q2 14:372nd & 10 at own 32Ryan Browne pass complete to Michael Jackson III for 8 yds to the PUR 40
Q2 14:023rd & 2 at own 40Antonio Harris run for 4 yds to the PUR 44 for a 1ST down
Q2 13:341st & 10 at own 44Ryan Browne pass complete to Michael Jackson III for 13 yds to the BALL 43 for a 1ST down
Q2 12:591st & 10 at opp 43Ryan Browne pass complete to EJ Horton Jr. for 12 yds to the BALL 31 for a 1ST down
Q2 12:511st & 10 at opp 31Ryan Browne pass incomplete to Jesse Watson
Q2 12:392nd & 10 at opp 31Ryan Browne pass complete to Michael Jackson III for 18 yds to the BALL 13 for a 1ST down
Q2 12:111st & 10 at opp 13Devin Mockobee run for 3 yds to the BALL 10
Q2 11:322nd & 7 at opp 10Ryan Browne run for 5 yds to the BALL 5
Q2 10:543rd & 2 at opp 5Devin Mockobee run for 1 yd to the BALL 4
Q2 10:214th & 1 at opp 4Devin Mockobee run for 4 yds for a TD (Spencer Porath KICK)Purdue 21, Ball State 0
2nd quarter5 drives, then Purdue 21, Ball State 0
Ball State Punt, 3 plays
10:211st & 10 at own 35Seth Turner kickoff for 65 yds for a touchback
9:581st & 10 at own 25Kiael Kelly run for no gain to the BALL 25
9:232nd & 10 at own 25Kiael Kelly run for 4 yds to the BALL 29
8:443rd & 6 at own 29Ball State Penalty, Offensive Holding (Alfred Chea) declined
8:354th & 6 at own 29Adam Saul punt for 39 yds , Michael Jackson III returns for 3 yds to the PUR 35
Purdue Punt, 3 plays
8:091st & 10 at own 35Devin Mockobee run for a loss of 1 yard to the PUR 34 Devin Mockobee fumbled, recovered by PUR
7:512nd & 11 at own 34Devin Mockobee run for 7 yds to the PUR 41
7:233rd & 4 at own 41Ryan Browne pass incomplete to Jesse Watson
7:144th & 4 at own 41Jack McCallister punt for 55 yds, punt out-of-bounds at the BALL 4
Ball State Turnover on downs, 9 plays
7:061st & 10 at own 4Qua Ashley run for 14 yds to the BALL 18 for a 1ST down
6:211st & 10 at own 18Kiael Kelly pass complete to Qua Ashley for 5 yds to the BALL 23
5:432nd & 5 at own 23Kiael Kelly pass complete to TJ Horton for 14 yds to the BALL 37 for a 1ST down
4:581st & 10 at own 37Kiael Kelly run for 12 yds to the BALL 49 for a 1ST down
4:221st & 10 at own 49Qua Ashley run for 21 yds to the PUR 30 for a 1ST down
3:371st & 10 at opp 30Kiael Kelly run for no gain to the PUR 30
2:492nd & 10 at opp 30Kiael Kelly run for 2 yds to the PUR 28
2:053rd & 8 at opp 28Kiael Kelly sacked by Mani Powell for a loss of 8 yards to the PUR 36
2:004th & 16 at opp 36Timeout Purdue, clock 02:00
1:514th & 16 at opp 36Kiael Kelly pass incomplete to Koby Gross
Purdue Punt, 3 plays
1:451st & 10 at own 36Ryan Browne sacked by Nathan Voorhis for a loss of 9 yards to the PUR 27
1:092nd & 19 at own 27Devin Mockobee run for no gain to the PUR 27
1:093rd & 19 at own 27Timeout Purdue, clock 01:09
0:573rd & 19 at own 27Ryan Browne pass complete to Devin Mockobee for 16 yds to the PUR 43
0:464th & 3 at own 43Jack McCallister punt for 51 yds
Ball State End of half, 1 play
0:371st & 10 at own 6Qua Ashley run for no gain to the BALL 6
0:002nd & 10 at own 6PENALTY BSU False Start (Mosier,Cole) 3 yards from BSU06 to BSU03. NO PLAY.
3rd quarter3 drives, then Purdue 28, Ball State 0
Ball State Missed FG, 13 plays
15:001st & 10 at own 35Seth Turner kickoff for 65 yds for a touchback
14:471st & 10 at own 25Kiael Kelly pass complete to Koby Gross for 3 yds to the BALL 28
14:312nd & 7 at own 28Kiael Kelly run for 5 yds to the BALL 33
13:443rd & 2 at own 33Kiael Kelly run for 3 yds to the BALL 36 for a 1ST down
13:081st & 10 at own 36Kiael Kelly pass incomplete to Roman Pearson
12:592nd & 10 at own 36Qua Ashley run for 2 yds to the BALL 38
12:103rd & 8 at own 38Kiael Kelly run for 10 yds to the BALL 48 for a 1ST down
11:251st & 10 at own 48Kiael Kelly run for 12 yds to the PUR 40 for a 1ST down
10:451st & 10 at opp 40Qua Ashley run for 3 yds to the PUR 37
10:042nd & 7 at opp 37Elijah Jackson run for 7 yds to the PUR 30 for a 1ST down
9:311st & 10 at opp 30Kiael Kelly run for 1 yd to the PUR 29
8:412nd & 9 at opp 29Kiael Kelly pass complete to Drew Cassens for 1 yd to the PUR 28
8:083rd & 8 at opp 28Timeout Purdue, clock 08:08
8:003rd & 8 at opp 28Qua Ashley run for 1 yd to the PUR 27
7:184th & 7 at opp 27Carson Holmer 45 yd FG MISSED
Purdue Touchdown, 7 plays
6:591st & 10 at own 27Ryan Browne pass complete to Michael Jackson III for 10 yds to the PUR 37 for a 1ST down
6:411st & 10 at own 37Devin Mockobee run for 6 yds to the PUR 43
6:162nd & 4 at own 43Ryan Browne pass complete to Michael Jackson III for 9 yds to the BALL 48 for a 1ST down
5:481st & 10 at opp 48Ryan Browne pass incomplete to Arhmad Branch
5:352nd & 10 at opp 48Ryan Browne pass complete to Devin Mockobee for 29 yds to the BALL 19 for a 1ST down
5:031st & 10 at opp 19Ryan Browne run for 5 yds to the BALL 14
4:402nd & 5 at opp 14Ryan Browne pass complete to Michael Jackson III for 14 yds for a TD (Spencer Porath KICK)Purdue 28, Ball State 0
Ball State Punt, 6 plays
4:401st & 10 at own 35Seth Turner kickoff for 65 yds for a touchback
4:401st & 10 at own 25PENALTY PUR Disconcerting Signals (Powell,Mani) 5 yards from BSU25 to BSU30. NO PLAY.
4:331st & 5 at own 30Qua Ashley run for 2 yds to the BALL 32
3:512nd & 3 at own 32Kiael Kelly run for 2 yds to the BALL 34
3:043rd & 1 at own 34Qua Ashley run for 2 yds to the BALL 36 for a 1ST down
2:211st & 10 at own 36Kiael Kelly sacked by Sanders Ellis for a loss of 4 yards to the BALL 32
1:332nd & 14 at own 32Kiael Kelly pass complete to Qua Ashley for 3 yds to the BALL 29
0:333rd & 17 at own 29Kiael Kelly run for 3 yds to the BALL 32
0:074th & 14 at own 32Adam Saul punt for 40 yds
0:004th & 14 at own 32Adam Saul punt for 43 yds , Michael Jackson III returns for 4 yds to the PUR 29
4th quarter3 drives, then Purdue 31, Ball State 0
Purdue Field goal, 13 plays
14:521st & 10 at own 29Ryan Browne pass incomplete to EJ Horton Jr.
14:332nd & 10 at own 29Ryan Browne pass complete to Nitro Tuggle for 19 yds to the PUR 48 for a 1ST down
14:211st & 10 at own 48Ryan Browne pass incomplete to Jesse Watson
14:122nd & 10 at own 48Devin Mockobee run for 9 yds to the BALL 43
13:393rd & 1 at opp 43Devin Mockobee run for 4 yds to the BALL 39 for a 1ST down
13:031st & 10 at opp 39Ryan Browne pass complete to EJ Horton Jr. for 12 yds to the BALL 27 for a 1ST down
12:451st & 10 at opp 27Ryan Browne pass incomplete to Nitro Tuggle
12:352nd & 10 at opp 27Devin Mockobee run for 4 yds to the BALL 23
11:503rd & 6 at opp 23Ryan Browne pass complete to EJ Horton Jr. for 14 yds to the BALL 9 for a 1ST down
11:111st & goal at opp 9Ryan Browne run for a loss of 3 yards to the BALL 12
10:402nd & goal at opp 12Ryan Browne pass incomplete to Jesse Watson
10:213rd & goal at opp 12Ryan Browne run for 2 yds to the BALL 10
9:594th & goal at opp 10Spencer Porath 28 yd FG GOODPurdue 31, Ball State 0
Ball State Missed FG, 8 plays
9:591st & 10 at own 35Seth Turner kickoff for 65 yds for a touchback
9:531st & 10 at own 25Kiael Kelly pass incomplete to Ty Robinson
9:432nd & 10 at own 25Kiael Kelly run for 7 yds to the BALL 32
9:143rd & 3 at own 32Kiael Kelly run for 1 yd to the BALL 33
8:244th & 2 at own 33Kiael Kelly pass complete to Elijah Jackson for 37 yds to the PUR 30 for a 1ST down
7:501st & 10 at opp 30(07:56) Shotgun Kelly,Kiael pass complete short right to Jackson,Elijah caught at PUR32, for 1 yard loss to the PUR31 (Ra-El,Tahj) PENALTY PUR Personal Foul (Ra-El,Tahj) 15 yards from PUR30 to PUR15, 1ST DOWN. NO PLAY.
7:241st & 10 at opp 15Kiael Kelly sacked by Breylon Charles for a loss of 2 yards to the PUR 17
6:402nd & 12 at opp 17Kiael Kelly run for 3 yds to the PUR 14
5:553rd & 9 at opp 14Kiael Kelly pass complete to Ty Robinson for 2 yds to the PUR 12
5:274th & 7 at opp 12Carson Holmer 29 yd FG MISSED
Purdue End of game, 10 plays
5:071st & 10 at own 20Malachi Singleton pass complete to Corey Smith for 22 yds to the PUR 42 for a 1ST down
4:461st & 10 at own 42Antonio Harris run for 7 yds to the PUR 49
4:112nd & 3 at own 49Malachi Thomas run for no gain to the PUR 49
3:423rd & 3 at own 49Malachi Singleton pass incomplete to Michael Jackson III
3:364th & 3 at own 49Jack McCallister punt for 46 yds, fair catch by Eric Weatherly at the BALL 46
3:171st & 10 at opp 46Malachi Singleton run for 7 yds to the BALL 39
2:522nd & 3 at opp 39Malachi Thomas run for 2 yds to the BALL 37
2:173rd & 1 at opp 37Malachi Singleton run for a loss of 2 yards to the BALL 39
2:004th & 3 at opp 39Timeout Purdue, clock 02:00
1:424th & 3 at opp 39Malachi Singleton pass complete to Nitro Tuggle for 7 yds to the BALL 32 for a 1ST down
1:191st & 10 at opp 32Malachi Singleton run for 12 yds to the BALL 20 for a 1ST down
1:191st & 10 at opp 20Timeout Purdue, clock 01:19
0:001st & 10 at opp 20M. Singleton takes a knee

Play-by-play from CollegeFootballData.com, as its scorers wrote it. The clock is the time left in the quarter; the spot is from the side of the team with the ball.

Purdue leads 9–⁠0 in nine meetings.

Recent meetings
2025Purdue 31, Ball State 0
2010Purdue 24, Ball State 13
2006Purdue 38, Ball State 28
2004Purdue 59, Ball State 7
1997Purdue 28, Ball State 14
1995Purdue 35, Ball State 13

Around this game