GLENDALE, Ariz. — The 49ers returned home after Sunday's game with new hats and T-shirts proclaiming them as 2023 NFC West champions.
“It’s a lock,” the shirts read.
The 49ers left little doubt, locking up a 45-29 victory over the Arizona Cardinals on a day the offense compensated for an unusually high number of missed tackles.
Stay in the game with the latest updates on your beloved Bay Area and California sports teams! Sign up here for our All Access Daily newsletter.
The Cardinals rolled up 436 total yards, but the 49ers came up with two takeaways, including a pick six.
And quarterback Brock Purdy and running back Christian McCaffrey picked up some more support for their NFL MVP candidacies.
“Came here with one thing on our mind and that was to get a win,” 49ers coach Kyle Shanahan said after the game. “And we got that done.”
Here are the grades from the 49ers’ decisive Week 15 victory:
San Francisco 49ers
Find the latest San Francisco 49ers news, highlights, analysis and more with NBC Sports Bay Area and California.
Rushing offense
Christian McCaffrey had a typical Christian McCaffrey day.
He led the way on the ground, improving on his NFL-leading total, with 115 yards, a 6.4 average and one touchdown.
The 49ers rushed for 144 yards and a 5.5-yard average, including Sam Darnold’s two kneel-downs at the end of the game. They picked up nine first downs on the ground.
Grade: A-minus
Passing offense
Brock Purdy did not only keep his MVP hopes alive; he took a major step forward with a four-touchdown performance and a passer rating of 135.3. Purdy completed 16 of 25 pass attempts for 242 yards. His passer rating was 135.3, and he was not sacked.
Purdy took a hit in the second quarter that caused some concern, but he returned to the game a short time later after being checked out for a shoulder stinger.
Purdy managed to spread the ball around, as six different receivers had 25 yards or more receiving. He threw two touchdown passes apiece to McCaffrey and Deebo Samuel.
Grade: A
Rushing defense
The 49ers were playing without starting defensive tackles Javon Hargrave and Arik Armstead. And it showed. The Cardinals had more success running against the 49ers than any team this season.
Shanahan said he was disappointed with too many missed tackles coming from every level of the defense.
It was the weakest part of the 49ers’ game on Sunday, as the Cardinals rushed for 234 yards. Arizona averaged 7.8 yards per rushing attempt.
James Conner led the way with 86 yards and a touchdown on 14 rushing attempts. Emari Demercado had a 49-yard touchdown run in the second half.
Grade: F
Passing defense
Cornerback Charvarius Ward provided a big play in the first quarter when he jumped the route and intercepted Kyler Murray’s pass intended for tight end Trey McBride. Ward took it back 66 yards for a touchdown that gave the 49ers a 14-7 lead. Then, Ward put a nice bow on the victory with his second interception of the game in the fourth quarter.
Quarterback Kyler Murray struggled against the 49ers’ pass defense. He completed 26 of 39 pass attempts for just 211 yards with one touchdown and two interceptions. The 49ers registered three sacks. Nick Bosa and Javon Kinlaw had one sack apiece, and Chase Young and Fred Warner shared a sack.
Grade: A
Special teams
Mitch Wishnowsky averaged 48.0 yards (gross and net) on two punts, including one that he planted at the 10-yard line.
Punt returner Ronnie Bell avoided a major mishap when his fumble — and the following return for a touchdown — was overturned late in the first half upon replay review. The ball popped out when Bell's elbow hit the ground.
The Cardinals started eight drives at their own 25-yard line due to Jake Moody’s touchbacks on kickoffs. Moody was 6-for-6 on extra points and made a 43-yard field goal.
Grade: B-plus
Coaching
The 49ers knew there was a chance their defense would give up some points with Armstead and Hargrave out of action, so the offense did not hold back.
Shanahan did a good job of scheming things up, as Samuel’s first touchdown came on a red-zone play in which he had more than 12 yards of separation on Purdy’s 12-yard touchdown pass.
The 49ers did not make the necessary adjustments to slow down the Cardinals’ run game, but they had the Cardinals’ passing game under wraps.
Grade: B-plus
Overall
The 49ers were not at full strength, as six players sat out the game due to injuries. But the 49ers did what they had to do in order to pull away for the victory behind a well-balanced offensive attack.
With the NFC West clinched, the 49ers are now just three victories from locking up the No. 1 seed in the NFC playoffs.
Grade: B-plus