Cardinals 2025 Season in Review
2025 NFL Season · Monday, May 11
3-14 regular season
The full episode, in writing
Trey McBride caught 126 passes for a tight end this year. 126. That's not a tight end season, that's a number-one wide receiver season disguised in a tight end's jersey. Here's how the Cardinals went from a two-and-oh start to a three-and-14 finish, what happened when Kyler Murray disappeared after Week 5, and the one defensive number that explains why nothing else mattered. Three wins. 14 losses. They missed the playoffs entirely, finishing ninth among NFC teams on the outside looking in. This was the year Arizona got muffed — and the data tells you exactly how it happened.
Let's set the table with the team numbers. Arizona's offensive expected points added on the season — that's the total value every offensive play added or subtracted from their scoring chances — was minus 19.9, which ranks 20-third in the league. That's bad, but not catastrophic. The catastrophe lives on the other side of the ball. The defense allowed plus 93.1 expected points added on the season, 20-seventh in the league. When we're talking defense, you want that number deep in the negatives — Arizona's was deep in the wrong direction. The third-down offense was actually a strength, converting 43 percent, top 10 in the league. But the season was boom-or-bust with a heavy lean toward bust — they were competitive through seven weeks, lost five one-score games before Halloween, then got blown out by 22, 19, 28, 20, and 23 points down the stretch. Turnover differential was a problem too, with just 19 takeaways on defense.
Now let's talk about the passing offense. The headline number here is sacks allowed — 59 of them on 748 dropbacks, a 7.9 percent sack rate, which puts Arizona in the top eight in the league for getting their quarterback hit the ground. Total passing expected points added was plus 2 on the season, basically league average at seventeenth — and honestly, given the protection breakdowns, that's a minor miracle. Jacoby Brissett carried this unit after Murray went down in Week 5. Brissett threw for 3000, 366 yards, 23 touchdowns and eight picks, with a completion percentage of 65 against an expected 61.6 — plus 3.4 above expected, top 10 among qualified starters. He was accurate. He just had no time. And he had McBride, who turned 169 targets into 126 catches, 1239 yards, and 11 touchdowns. There's your passing offense in one sentence: an accurate veteran throwing to a star tight end while getting sacked nearly four times a game. The Brissett-to-McBride connection produced the season's signature do-or-die conversion — fourth and six, down 31 in Seattle in Week 10, 15-yard touchdown that meant nothing to the scoreboard and everything to the film room. That's the offense in a nutshell. The throws were there. The blocks weren't.
Now let's dig into the rushing offense. This is where Arizona got muffed worst on the offensive side. 4.3 yards per carry, 30-first in the league — only one team ran the ball less efficiently. Total rushing expected points added was minus 21.5, 20-fourth in the league, on 367 attempts. 93.1 yards per game on the ground, and nine rushing touchdowns all season — that is not enough touchdowns from your run game over 17 weeks. The backfield was a committee with no answer. Michael Carter led the rotation with 333 yards on 92 carries, one touchdown, and a rushing expected points added of minus 6.8. His yards over expected on the year was −68. The committee never produced a featured back, the run game never produced a featured identity, and the play-calling tilted heavily pass because the ground game simply did not work.
Next up, the pass defense. This is the unit that broke the season. Pass defense expected points added allowed was plus 89.49 on the year — and remember, on defense you want that number deeply negative, so plus 89 is brutal. That ranks in the nineteenth percentile league-wide. Arizona allowed 31 passing touchdowns, gave up 242 yards per game through the air, and generated only 30 sacks on the season — thirtieth in the league. They could not get home. They could not affect the quarterback. Q-B hits delivered was just 69 on the year, in the thirteenth percentile. When you can't pressure and you can't sack, you can't take the ball away, and Arizona only forced 18 takeaways total. There were bright spots — Josh Sweat had a strip-sack scoop in Week 1 against Carolina that he returned to the three, and an interception by Garrett Williams against Trevor Lawrence in Week 12 was worth seven expected points to the defense. But those moments were islands. The variance read here is brutal — they held three opponents under 20 points and gave up 40-plus in four different games down the stretch.
And the run defense. This one is closer to respectable, which only makes the pass defense look worse by comparison. Arizona allowed 129.5 rushing yards per game and 19 rushing touchdowns, but total rushing expected points added allowed came in at just plus 3.65 — essentially neutral, 30-eighth percentile. Per carry, opponents gained an expected points added of plus 0.01 against this run defense. So the math says the run defense roughly held serve. The problem was that opposing offenses didn't need to run — they could throw at will against the secondary, and they did. The run defense wasn't the villain in 2025. It was the bystander.
The Bottom Line
Season MVP is Trey McBride, and it's not particularly close — 126 catches, 1239 yards, 11 touchdowns, and plus 72.7 receiving expected points added from the tight end spot. He was the offense. The one thing that has to change: the pass rush. 30 sacks on the season and 69 quarterback hits delivered — both bottom-of-the-league numbers — directly produced a pass defense that allowed plus 89 expected points added on the year. You cannot win games when you can't make the quarterback uncomfortable, and Arizona made nobody uncomfortable in 2025.
Every Cardinals episode
Season reviews, draft recaps and every game recap, in one place.