Toledo vs. Michigan State: Final Score & Recap
Final score, recap & advanced stats


TOLTeam statsMSU
- Q4 1:55MSULiam Boyd 51 Yd Field Goal 20–30
- Q4 10:37MSURodney Bullard Jr. 5 Yd pass from Alessio Milivojevic (Alessio Milivojevic Pass to Rodney Bullard Jr. for Two-Point Conversion)20–27
- Q4 13:47TOLConnor Walendzak 71 Yd Run (Two-Point Pass Conversion Failed)20–19
- Q3 6:49TOLAdjatay Dabbs 6 Yd pass from John Alan Richter (Reice Griffith Kick)14–19
- Q2 0:00MSULiam Boyd 35 Yd Field Goal 7–19
- Q2 4:10MSULiam Boyd 48 Yd Field Goal 7–16
- Q2 7:50TOLAdjatay Dabbs 60 Yd pass from John Alan Richter (Reice Griffith Kick)7–13
- Q2 11:37MSULiam Boyd 42 Yd Field Goal 0–13
- Q1 0:06MSULiam Boyd 32 Yd Field Goal 0–10
- Q1 6:59MSUCam Edwards 2 Yd Run (Liam Boyd Kick)0–7
How it was won
Milivojevic's TD
Milivojevic's 5‑yard TD pass to Bullard in Q4 turned a 20‑20 tie into a 27‑20 lead, moving win chance 39 points.
Milivojevic's passing
Alessio Milivojevic completed 26 of 34 passes for 247 yards, the passing production that drove Michigan State’s offense.
Toledo's 4th‑down punt
Toledo’s punt on 4th‑and‑1 in Q3 cost an expected 0.85 points (3.4 win‑chance points), a missed chance to extend its lead.
Turnover margin
Michigan State forced a turnover and held Toledo to zero, while enjoying a 43:16 versus 16:44 possession advantage.
How the model called it
What the numbers say
- TOL played behind the sticks — third downs that long convert rarely, and MSU did not face the same ones. 3rd & 8.9 vs 3rd & 5.9
The real story of Michigan State's win, in the numbers that matter.
Michigan State tops Toledo, 30-20 at Spartan Stadium. Michigan State was the steadier side of a 10-point win.
- PassJohn Alan Richter 12/21, 196 YDS, 2 TD, 1 INT
- RushConnor Walendzak 7 CAR, 76 YDS, 1 TD
- RecAdjatay Dabbs 4 REC, 101 YDS, 2 TD
- PassAlessio Milivojevic 26/34, 247 YDS, 1 TD
- RushCam Edwards 27 CAR, 98 YDS, 1 TD
- RecRodney Bullard Jr. 7 REC, 90 YDS, 1 TD
This exact spot, historically
empirical, no ratingsMSU up 5 entering the 4th quarter. Across 1,967 historically comparable game states (within ±2 pts and ±3 min, from 3,056 games):
- Q4 10:37MSU +39%
Shotgun #11 A.Milivojevic pass complete short right to #3 R.Bullard Jr. caught at TOL00, for 5 yards to the TOL00 TOUCHDOWN, 1ST DOWN #3 R.Bullard Jr. pass attempt Suc…
- Q3 6:49TOL +28%
No Huddle-Shotgun #6 J.Richter sacked for loss of 11 yards to the TOL29 (#96 E.Coenen) PENALTY TOL Intentional Grounding (#6 J.Richter)
- Q3 8:57TOL +21%
Shotgun #6 J.Richter pass complete short right to #19 D.Barnett Jr. caught at TOL47, for 21 yards to the TOL50 (#2 D.Vaught), out of bounds, 1ST DOWN
- Q4 7:50MSU +13%
PENALTY TOL Illegal Substitution 5 yards from MSU43 to MSU48, 1ST DOWN. NO PLAY
- Q4 13:47MSU +13%
Shotgun #11 A.Milivojevic pass complete short left to #3 R.Bullard Jr. caught at MSU49, for 26 yards to the TOL44 (#44 I.Zay; #23 I.Petite), 1ST DOWN
- Q4 15:00TOL +12%
Shotgun #6 J.Richter pass complete short right to #8 C.Walendzak caught at TOL29, for 0 yards to the TOL29 (#44 C.Wheatland)
FAQ
What was the final score of Toledo vs. Michigan State?
Toledo 20, Michigan State 30.
Did Gridpex's model pick hit?
Yes — the model's pick (MSU) was correct.
| TOL | MSU | |
|---|---|---|
| 273 | Total yards | 397 |
| 196 | Passing yards | 247 |
| 77 | Rushing yards | 150 |
| 10 | First downs | 26 |
| 1-8 | 3rd down | 6-18 |
| 0-1 | 4th down | 2-3 |
| 12/21 | Comp/Att | 26/34 |
| 9.3 | Yards per pass | 7.3 |
| 3.9 | Yards per rush | 3.1 |
| 1 | Turnovers | 0 |
| 7-39 | Penalties | 4-43 |
| 16:44 | Possession | 43:16 |
Costliest call
Q3 2:06 TOL punt on 4th & 1 at TOL 17. The model preferred go for it, a gap of 0.85 points.
Drive chart
every possession, start to finish- Q4 1:55MSULiam Boyd 51 Yd Field Goal 20–30
- Q4 10:37MSURodney Bullard Jr. 5 Yd pass from Alessio Milivojevic (Alessio Milivojevic Pass to Rodney Bullard Jr. for Two-Point Conversion)20–27
- Q4 13:47TOLConnor Walendzak 71 Yd Run (Two-Point Pass Conversion Failed)20–19
- Q3 6:49TOLAdjatay Dabbs 6 Yd pass from John Alan Richter (Reice Griffith Kick)14–19
- Q2 0:00MSULiam Boyd 35 Yd Field Goal 7–19
- Q2 4:10MSULiam Boyd 48 Yd Field Goal 7–16
- Q2 7:50TOLAdjatay Dabbs 60 Yd pass from John Alan Richter (Reice Griffith Kick)7–13
- Q2 11:37MSULiam Boyd 42 Yd Field Goal 0–13
- Q1 0:06MSULiam Boyd 32 Yd Field Goal 0–10
- Q1 6:59MSUCam Edwards 2 Yd Run (Liam Boyd Kick)0–7
Model prediction
how the number is builtOur model simulates the game drive by drive from each side's opponent-adjusted efficiency (MSU Elo 1439, TOL Elo 1597 for reference), with home-field advantage. That projects MSU -1.9 (54% to win) — 8.1 points clear of TOL's market line of -10. That is a disagreement, not a betting edge — sides we favour have not covered at better than breakeven.
Why that percentage is worth reading: across 604 graded in-season games, the calls this model put near 58% came in at 58.2%. The full calibration table is published, bin by bin. Early in the season the cold-start path runs instead and calibrates less well (Brier 0.2028 against 0.1889).
Model as of Sep 1 · through week 1 · drive simulation
Season form — 2026
nationally rankedThe matchup, in context
series history + adjusted profiles| TOL | MSU | |
|---|---|---|
| +8.5 (#39) | CORE overall | -4.0 (#82) |
| +2 / -7 | offense / defense | -3 / +1 |
| 2.10 | points / drive | 2.90 |
| 2.90 | allowed / drive | 2.10 |
| 40% | three-and-outs | 0% |
| -1 | pass over expected | -2 |
Bold is the side ahead. CORE strips the situation from every play and solves the schedule out across the league, so these compare two teams that never met.
Key matchups
The analyst read: each team's offense splits crossed against the opponent's defense, with the edges called out.
Create a free account →You get Pro free for 6 months. No card required.
Alessio Milivojevic had a hand in six of Michigan State's eight explosive plays
The real story of Michigan State's win, in the numbers that matter.
One team finished its drives
Michigan State scored on 64% of its drives to Toledo's 20%, led by Alessio Milivojevic (6 pts), Rodney Bullard Jr. (6 pts) and Camryn Edwards (6 pts). Michigan State won the turnover battle 0-1: Kenny Soares Jr. (1 INT, 1 PBU, 0.5 tackles). That's what carried Michigan State.
Who carried it
Alessio Milivojevic threw for 247 yards on 34 attempts with one touchdown and lost 5 yards on six carries, with that score from inside the 20, five third-down conversions and a hand in six plays of 15 yards or more. Rodney Bullard Jr. caught seven passes for 90 yards, one of them for a touchdown — that score from inside the 20 and a hand in three plays of 15 yards or more. Camryn Edwards ran 27 times for 98 yards and one score and caught two passes for 7 yards, including that score from inside the 20 and two third-down conversions. For Toledo, John Alan Richter threw for 196 yards on 21 attempts with two touchdowns and lost 19 yards on four carries, including a hand in five plays of 15 yards or more. Adjatay Dabbs caught four passes for 101 yards, two of them for touchdowns. Connor Walendzak ran seven times for 76 yards and one score and caught three passes for 18 yards. Kenny Soares Jr. was the disruptive one for Michigan State: 1 INT, 1 PBU, 0.5 tackles.
Where it swung
The game turned on a handful of snaps. John Alan Richter's 60-yard throw to Adjatay Dabbs for a touchdown on 2nd-and-17 at Q2 07:50. Then John Alan Richter's 21-yard throw to Daryl Barnett Jr. on 2nd-and-21 at Q3 08:57. Later, Connor Walendzak's 71-yard run for a touchdown on 2nd-and-10 at Q4 13:47.
The way it played out
Michigan State struck first through Camryn Edwards, led 19-7 at the half and the final points came on a late field goal by Liam Boyd.
The disruptive ones
Three names to keep: Kenny Soares Jr. (1 INT, 1 PBU, 0.5 tackles) for Michigan State, Tre Bell (1 sack, 2 TFLs, 1 PBU, 3 tackles) for Michigan State and Eli Coenen (1 sack, 1 TFL, 1 PBU, 2.5 tackles) for Michigan State. 2 of Toledo's 3 sacks came from the defensive line, which is how this defense has generated pressure since 2017.
How it graded
The closing line had Michigan State -10.0. It landed on a push. The total was 48.5; the teams combined for 50, an over. John Alan Richter accounted for 12 of Toledo's points.
Where it leaves them
Historically similar games since 2019 — close margin, both offenses held far below norm — and how often that offense outperformed this level the following week.
Nothing fluky here — Michigan State earned it, and Toledo knows where it slipped.
Our coverage of this game
Where this number comes from. Every projection on this page is produced by the same model, run before kickoff on opponent-adjusted efficiency, power ratings and situational data — walk-forward validated on eleven seasons and never adjusted after the fact. How the model works →
