Recap
AI summary, sourced from 1 period article (ESPN AP)
Brock Purdy returned and threw three touchdown passes, Christian McCaffrey scored two rushing touchdowns and a receiving touchdown, and the 49ers beat Arizona 41-22 at State Farm Stadium. The 49ers led 25-10 at the half after Skyy Moore returned the opening kickoff 98 yards. Arizona was called for a franchise-record 17 penalties, the most for any team in the NFL this season. Jacoby Brissett completed 47 of 57 passes for 452 yards, two touchdowns and two interceptions, his 47 completions setting an NFL regular-season record. San Francisco improves to 7-4; Arizona falls to 3-8.[1][2][3]
Columnist recap
AI summary, sourced from 1 period article (ESPN AP)
Brock Purdy walked back onto the field Sunday for the first time since September and looked, for an afternoon in the desert, like the quarterback he was supposed to be all along.
'It was vintage Brock, and that is a huge compliment,' Christian McCaffrey said after. 'He was poised, made some great plays, some huge third-down throws.' He threw three touchdown passes. Skyy Moore took the opening kickoff 98 yards to set up McCaffrey's first score, sixteen seconds in. McCaffrey added two more touchdowns. Kittle caught two. The 49ers led 25-10 at the half and the only suspense the rest of the afternoon was whether Arizona's franchise-record 17 penalty afternoon would somehow get to 18.
'Coming in, I did not want to think about (the toe) at all and I did not,' Purdy said. 'I just went out and played quarterback like I have always played.' His coach, Kyle Shanahan, mostly stayed out of the way. The version of this football team the 49ers were supposed to be in 2025 finally took the field. 7-4. The schedule from here looks survivable.
By the numbers
AI summary, sourced from 1 period article (ESPN AP)
49ers 41, Cardinals 22. Margin: +19. Eleven-game record: 7-4, +9 differential.
- Skyy Moore: 98-yard opening kickoff return.
- McCaffrey: 2 rushing TDs, 1 receiving TD.
- Purdy: 19-of-26 for 200, 3 TD passes (return from 6-game absence).
- Kittle: 2 TD catches.
- Brissett: 47-of-57 for 452, 2 TD, 2 INT; 47 completions sets NFL regular-season record.
- Cardinals: 17 penalties, NFL-most this season; franchise record.
- 49ers 7-4; Cardinals 3-8.
Film room
AI summary, sourced from 1 period article (ESPN AP)
A 41-22 win at State Farm Stadium. The 49ers improve to 7-4.
How it unfolded
Skyy Moore returned the opening kickoff 98 yards to the Arizona 1, setting up a McCaffrey rushing touchdown sixteen seconds into the afternoon. Purdy hit Kittle for a touchdown on the next possession. The Cardinals answered with a long Brissett drive and a McBride touchdown, but Arizona penalties undid most of what the offense managed to put together. Purdy threw a second touchdown to Kittle; McCaffrey caught his receiving touchdown in the second quarter. The 49ers led 25-10 at the half. McCaffrey added a second rushing touchdown in the third. The fourth quarter was a McBride catch-up touchdown that did not change the math.
The turning point
The opening sixteen seconds. The kickoff return changed the game's narrative before Arizona ran a play. The 49ers were never behind. From that point on the question was only the final margin.
By the numbers
Purdy 19-of-26 for 200 yards, three touchdowns, no interceptions, the most efficient he has looked since Week 1. McCaffrey three touchdowns. Kittle two touchdown catches. Brissett 47-of-57 for 452 yards, the 47 completions setting the NFL regular-season single-game record, but also two interceptions and a Cardinals offense that could not finish drives. Arizona's 17 penalties for 142 yards a franchise record.
Personnel watch
Brock Purdy made it through the afternoon without taking a hit of consequence on the toe. Christian McCaffrey looked like the back the 49ers had been waiting to see at full health. Ricky Pearsall, in his second game back, caught four passes. The receiver room, with Pearsall, Jennings and Bourne all available, looked like it did in August. Skyy Moore, signed off the practice squad in October, made the play of the game.
What it means
7-4 and the 49ers' first game with their full offense on the field since Week 3. The Cardinals, by undoing themselves with penalties, made it a comfortable Sunday. The Panthers on a Monday night at home next, then a Sunday at Cleveland. The 49ers' run-back at a high playoff seed begins Sunday in the desert.