Let's take a look at what went right and what went wrong against the NFC West rival San Francisco 49ers.
1) David Johnson
David Johnson is currently the hero of every Cardinals fan and fantasy owner in the world. After rushing 27 times for 157 yards, DJ has kept his streak of 100 all-purpose yards in every game this season alive. Not only did he dominate on the ground, he also was the Cardinals second-leading receiver, with three receptions for 28 yards. And to top it all off, he added two scores of his own. Last year, the offense was largely carried by Carson Palmer. I have a feeling DJ is this season's workhorse, and I think that's exactly what the team needs to spark its resurgence.
2) Larry Fitzgerald
If at any point the team wants to change its name to the Arizona Fitzgeralds, I will be 100% behind it. Fitz continued his conquest against time by taking in 6 receptions for 81 yards, but more importantly, two touchdowns. Minus a drop (off a bad throw from Stanton), Fitz was flawless. Even more incredible is that he has now caught touchdowns from 13 different QBs in his NFL career. In Fitz We Trust.
3) Pass Rush
I was critical of the pass rush against the Rams last week. The defense redeemed themselves against Blaine Gabbert. LB Markus Golden and DE Calais Campbell had two sacks, while LB Kevin Minter, OLB Alex Okafor, and S D.J. Swearinger combined for three more. In addition, Chandler Jones was who we thought he was. Jones, who started the season slowly, had two sacks negated by penalties, but deflected a pass that was picked off by Campbell. Good job all around by the defense.
4) The O-line
Two backup guards in, Iupati out with an injury, and the team still managed to rush for 172 yards behind the line. Stanton was also only sacked once all game. Great job by the O-line, with a special shout-out going to OT John Wetzel, who was a major reason behind DJ's dominance on the ground.
5) The game-plan
I'll be the first to admit that I have not been happy with Arians' play-calling this season. While the "6 homeruns a game" technique is great while it's working, it's not fun to watch game after game when opposing defenses have so clearly caught on to the Cardinals long-ball ways. But in this game, the offense finally switched to a more run-heavy approach (or at least heavier than before). And it played dividends. The split was close to 50/50 between pass and rush attempts. Moral of the story: When DJ runs, good things happen.
6) Patrick Peterson
I had to come back and edit this in, as I'd forgotten about Peterson. When you're talking about a cornerback, that's a good thing. Peterson covered the 49ers #1 WR, Torrey Smith. Smith didn't catch a single pass all game.
7) Drew Stanton
There are going to be people who disagree with Stanton being included in the "Good" category, and those people have a fair point. Going by the stats, Stanton had a bad night. Yes, he missed blatantly open receivers, and yes, he wasn't able to get the ball to any receiver not named Larry, but given the situation, I think Stanton performed better than expected.
When Stanton signed his two year extension this past off-season, it was under the assumption that he would be finishing his career as the backup QB for the team. The job of the backup QB is to fill in for the starter when needed, give the team a chance to win, and not commit any game-ending errors. Stanton accomplished all three of those objectives. While his numbers were pretty awful (I'll get to that in a bit), he did throw for two touchdowns. But more importantly, Stanton had 0 turnovers. He did what he needed to go, and won a must-win game in the process. Stanton is now 6-3 as a Cardinals starter. In my opinion, that's the most important stat of all.
1) Drew Stanton
With that said, you can't ignore the other stats. Stanton was 11-28; that's a 39.2% completion rate. His yards per attempt were 4.4. By comparison, David Johnson averaged 5.8 yards a carry. Stanton managed to throw for less yards, on average, than DJ rushed. That's not good. I still stand by my opinion that Stanton did what he needed to do and is deserving of praise, but for the numbers alone, he lands himself in the "Bad" category as well.
2) The return game
Man, Special Teams really hasn't been good this season. While return coverage was much better than in previous weeks, the return game was still abysmal at best. Besides an opening kickoff return of 39 yards, J.J. Nelson was only able to follow that up with a 14 yard one, while Jaron Brown averaged a paltry 6.3 yards on punts.
3) The first half
Outside of the final two minutes of the 1st half, things were not looking good. The team once again left the 1st quarter scoreless, an unfortunate streak that extends all the way back to last year's NFC Championship game against the Panthers. They almost had their own streak of scoring in the 1st half broken (longest in the NFL, for the record). While it's easy to overlook flaws in a victory, the Cardinals need to find a way to start games stronger.
4) Third-down effiency
This has been a problem through the season. The Cardinals were only 5-16 on converting 3rd downs. And against a depleted 49ers defense, I expected more.
1) Every receiver besides Fitz
Fitz had six receptions. David Johnson had three. Only two other Cardinals players managed to catch anything; one was brought in by WR John Brown for 11 yards, and TE Jermaine Greshmam brought in the other. While Palmer being out definitely played a factor, there were still several drops, which is unacceptable. And speaking of drops, what exactly has happened to Michael Floyd? Floyd has struggled all season, and given that he is in a contract year, you have to wonder what his future with the team holds.
Gabbert managed to come away the 49ers second leading rusher on the day. Leaving the pocket 10 times for 70 total yards, on many occasions Gabbert extended drives just on his feet alone. Now, this wouldn't be especially concerning if Blaine Gabbert was known as a mobile QB. But it's Blaine Gabbert. He's not exactly Cam Newton or Russell Wilson.