Vikings 2025 Season in Review

2025 NFL Season · Monday, May 11

9-8 regular season

0:005:34

Your episode · 5:34

The full episode, in writing

60 sacks allowed. Six-zero. The Vikings gave up the second-most sacks in football this season on a 10.4 percent sack rate — 90-seventh percentile of pain. Here's how that broken pocket defined J.J. McCarthy's debut year, why the defense quietly finished top-five anyway, and the one number that explains how this team still squeaked out a winning record. Nine and eight. Missed the playoffs as the second team out of the NFC. A season that ended on a four-game winning streak — but started with a quarterback room that got absolutely muffed by the pass protection in front of it.

Let's set the table. The Vikings finished +15 in scoring across 17 games — respectable on the surface, wildly inconsistent underneath. The offense generated −108.9 total expected points added — 20-eighth in the league, sixteenth percentile. The defense? −101.1 expected points added allowed, and on that side of the ball, a big negative is elite — fourth in the league, 90-first percentile. One of the best defenses in football carried one of the worst offenses, and the variance was brutal. 48 against the Bengals in Week 3. Shut out zero to 26 in Seattle in Week 13. 31 on Washington, then six against Atlanta and Green Bay. Boom-or-bust doesn't cover it — and a third-down conversion rate of 33.3 percent, 30-first in the league, tells you exactly why sustained drives were a coin flip.

Now let's talk about the passing offense, because this is where the season got muffed. −103.1 passing expected points added on 548 attempts — −0.19 per dropback, 20-ninth in the league. Just 18 passing touchdowns all year. And the sack problem swallowed everything: 60 allowed, second-most in football. J.J. McCarthy across 10 games went 140 for 243, 1632 yards, 11 touchdowns to 12 interceptions, and absorbed 27 of those sacks himself. His completion percentage of 57.6 came in 5.2 points below expectation — boom-or-bust under duress. The signature gut-punch came Week 1 at Chicago: third and eight, McCarthy short left for Jefferson, picked by Nate Wright and taken 74 yards the other way — a single play that swung expected points by nearly 10. Even Justin Jefferson — 84 catches, 10-48 yards, two touchdowns on 141 targets — couldn't drag the unit out of the basement. Two receiving touchdowns for a generational receiver tells you how much of his year was spent fighting through chaos.

Now let's dig into the rushing offense, because this was the one part of the offense that held up. 18-41 rushing yards on 410 carries, 4.5 a pop, per-carry rushing expected points added of −0.03 — league-average ground production, eighteenth, 40-seventh percentile. 108.3 yards a game, steady week to week even when the passing game collapsed. Jordan Mason absolutely smashed his role: 159 carries, seven-58 yards, 4.8 a carry, six rushing touchdowns, and a rush yards over expected total of +158.3 — a full yard above expectation every single time he touched the ball, sixth among qualified runners. The steady floor under a wildly volatile offense.

Next up, the pass defense — the unit that kept the Vikings competitive every single week. −73.4 passing expected points added allowed, 49 sacks (fifth-most in football, 90-first percentile), and a third-down stop rate in the 90-fourth percentile league-wide. Just 177.7 passing yards a game and only 15 passing touchdowns across 17 contests — trended up as the season wore on. The takeaway machine showed up in the biggest spots: Week 3 against Cincinnati, Isaiah Rodgers stepping in front of a Jake Browning throw and going 87 yards the other way — a single defensive play worth more than 10 expected points. On a team that scored only 20 offensive touchdowns through the air all year, a defense that generated its own points didn't just hold the line — it changed games.

And the run defense quietly graded out just as well. −27.7 rushing expected points added allowed, per-carry −0.05, 80-eighth percentile league-wide — steady all year. 124.8 rushing yards a game, only 13 rushing touchdowns surrendered, and a front that created drive-killing negative plays — 95 quarterback hits to go with those 49 sacks. The clearest snapshot was the Week 14 shutout of Washington, 31 to zero, where the front swallowed everything. Top-five defense, full stop.

The Bottom Line

Season MVP goes to Jordan Mason — 159 carries, seven-58 yards, six touchdowns, and a rush yards over expected of +158.3, sixth among qualified backs in football. The steadiest piece of the entire offense. The fix is obvious and screaming: 60 sacks allowed on a 10.4 percent sack rate, second-worst in the league. Until the protection gets right, the passing game can't get right — and that 33.3 percent third-down conversion rate is the downstream symptom of a quarterback who never had time to operate.

Every Vikings episode

Season reviews, draft recaps and every game recap, in one place.

More like this