Arizona Cardinals vs 49ers Match Player Stats: Brock Purdy and Christian McCaffrey Lead 49ers to Victory
Breaking down a box score is where most fan recaps fall apart — the box score tells a different story than the final score suggests. This Arizona Cardinals vs 49ers match player stats breakdown solves that by digging into every quarter, every red-zone trip, and every individual stat line from the game. What follows is a full statistical picture of how San Francisco walked out of the desert with a 41-22 win despite getting outgained on the ground by a mountain of Arizona passing yardage.
The Lead
San Francisco beat Arizona 41-22 on Sunday, November 16, 2025, at State Farm Stadium in Glendale, with 65,032 fans on hand for a 3:05 game. The 49ers (7-4) controlled the game from the opening kickoff, needing just 16 seconds to score after Skyy Moore returned the opening kickoff 98 yards to the Arizona 1-yard line, setting up Christian McCaffrey’s first touchdown. From there, the 49ers built and held a two-score cushion for the better part of three quarters.
Arizona (3-7) actually finished with more total yards than the 49ers, largely because backup quarterback Jacoby Brissett threw for 452 yards on an NFL-record 47 completions. But the Cardinals shot themselves in the foot in almost every way a team can: they turned the ball over three times to San Francisco’s zero, and they were flagged a franchise-record 17 times, including 11 penalties in the first half alone — tied for the most any team has committed before halftime in the past two decades. Brock Purdy didn’t need gaudy numbers to get the job done, going 19-of-26 for 200 yards and three touchdowns, while McCaffrey supplied the balance the Cardinals couldn’t match.
Match Overview Table
| Information | Match Details |
| Event | NFL Week 11, 2025 Regular Season |
| Game | San Francisco 49ers vs Arizona Cardinals |
| Date | Sunday, November 16, 2025 |
| Venue | State Farm Stadium, Glendale, Arizona |
| Attendance | 65,032 |
| Winner | San Francisco 49ers |
| Final Score | 49ers 41, Cardinals 22 |
| Broadcast | FOX |
Core Match Statistics Overview
| Team Stat | San Francisco 49ers | Arizona Cardinals |
| Total Yards | 281 | 488 |
| Turnovers | 0 | 3 |
| 1st Downs | 24 | 24 |
| Penalties (Number-Yards) | 1-15 | 17-130 |
| 3rd Down Conversions | 3/9 | 6/14 |
| 4th Down Conversions | 0/0 | 0/0 |
| Red Zone Efficiency | 4/5 | 3/5 |
| Time of Possession | 25:45 | 34:15 |
Turnover Margin Decided the Arizona Cardinals vs 49ers Match Player Stats Story
- San Francisco’s zero-turnover afternoon meant every Purdy possession had a chance to finish in points, while Brissett’s two interceptions erased two Arizona scoring drives outright.
- A plus-three turnover margin is one of the strongest predictors of an NFL win, and this game followed the script almost perfectly.
Penalty Discipline
- Arizona’s 17 flags for 130 yards repeatedly stalled drives that otherwise had real scoring momentum, including 11 penalties before the halftime whistle.
- San Francisco’s single penalty of the day let its offense play with a clean field and stay on schedule on early downs.
Yardage Without Results
- The Cardinals’ 488 total yards dwarfed the 49ers’ 281, proof that raw yardage means little without finishing drives.
- Arizona settled for one field goal and struggled to turn long drives into touchdowns, converting only 3-of-5 red-zone chances.
Time of Possession Paradox
- Arizona held the ball for over 34 minutes yet still lost by 19, an unusual split that highlights how efficient San Francisco’s scoring was on limited touches.
- The 49ers scored 41 points on roughly 25 minutes of possession, an efficiency rate the Cardinals never approached.
Period-by-Period Analysis
First Quarter
| Team | Score |
| 49ers | 13 |
| Cardinals | 7 |
- San Francisco struck instantly on the McCaffrey 1-yard score set up by the opening kickoff return, putting Arizona in an immediate hole.
- Purdy connected with George Kittle for a 30-yard score to make it 13-0 before the Cardinals found any rhythm.
- Zonovan Knight’s 6-yard touchdown run gave Arizona its only points of the first quarter and briefly cut the gap to six.
Second Quarter
| Team | Score |
| 49ers | 12 |
| Cardinals | 3 |
- McCaffrey added a 9-yard receiving touchdown to extend the lead back to double digits.
- Chad Ryland’s 26-yard field goal was Arizona’s only response, a sign the Cardinals’ offense was moving the ball but not finishing.
- Eddy Piñeiro closed the half with back-to-back field goals in the final 1:01, pushing the score to 25-10 at the break.
Third Quarter
| Team | Score |
| 49ers | 10 |
| Cardinals | 0 |
- Piñeiro scored another field goal to put San Francisco ahead 28–10 in the third quarter.
- Kittle’s second touchdown catch of the day, a 4-yarder, extended the margin to 35-10 and effectively answered any question about a Cardinals comeback.
- Arizona was shut out completely in the third quarter, unable to convert its yardage advantage into points during the game’s most decisive stretch.
Fourth Quarter
| Team | Score |
| 49ers | 6 |
| Cardinals | 12 |
- Trey McBride’s 10-yard touchdown catch from Brissett got Arizona moving again, though the two-point attempt failed.
- McCaffrey’s third touchdown of the day, a 4-yard rush, restored a comfortable 41-16 cushion for San Francisco.
- Greg Dortch’s 17-yard touchdown reception provided the final margin, with Arizona again failing on the two-point try.
San Francisco 49ers Player Statistics
Brock Purdy: 19-of-26, 200 yards, 3 touchdowns, 0 interceptions, and a passer rating of 133.5 Purdy posted a 133.5 rating and three touchdown passes in just 26 attempts, spreading the ball to four different receivers without forcing anything into coverage.
Christian McCaffrey — 13 carries, 81 rushing yards, 2 rushing TD; 5 catches, 40 yards, 1 receiving TD McCaffrey was directly responsible for three of San Francisco’s touchdowns, providing the driving power on the ground while still contributing as a reliable checkdown target.
George Kittle — 6 targets, 6 catches, 67 yards, 2 TD Kittle caught everything thrown his way and turned two of those catches into touchdowns, making him Purdy’s most trusted red-zone option.
Jauan Jennings — 6 targets, 4 catches, 54 yards Jennings added a steady possession presence on the outside, moving the chains without needing to appear in the scoring column.
Arizona Cardinals Player Statistics
Jacoby Brissett — 47-of-57 passing, 452 yards, 2 TD, 2 INT, 96.8 passer rating Brissett’s 47 completions set an NFL regular-season record, and his yardage total would headline most box scores — but the two interceptions came at costly moments and blunted Arizona’s comeback bid.
Michael Wilson — 18 targets, 15 catches, 185 yards (career high) Wilson was the clear focal point of the Arizona passing game, hauling in a career-high 185 yards on a team-high 18 targets.
Trey McBride — 11 targets, 10 catches, 115 yards, 1 TD McBride paired heavy volume with a touchdown, giving Brissett a reliable safety valve over the middle all afternoon.
Zonovan Knight — 5 carries, 24 rushing yards, 1 TD; 4 catches, 21 yards Knight supplied Arizona’s first touchdown of the game and stayed involved as a receiver out of the backfield, though his overall touches stayed limited.
Statistical Leaders Summary Table
| Category | San Francisco 49ers | Arizona Cardinals |
| Leading Passer | Brock Purdy (200 Yds, 3 TD) | Jacoby Brissett (452 Yds, 2 TD) |
| Leading Rusher | Christian McCaffrey (81 Yds, 2 TD) | Zonovan Knight (24 Yds, 1 TD) |
| Leading Receiver | George Kittle (67 Yds, 2 TD) | Michael Wilson (185 Yds) |
| Most Receptions | George Kittle (6) | Michael Wilson (15) |
Why the 49ers Won
Zero Turnovers, Maximum Value
| Team | Turnovers | Points Off Turnovers Impact |
| 49ers | 0 | Every drive had scoring potential |
| Cardinals | 3 | Multiple drives ended without points |
A clean afternoon protecting the football meant San Francisco never handed Arizona a short field or a free possession, a difference that alone can decide a 19-point game.
Balanced Touchdown Production
McCaffrey’s three total touchdowns, paired with Kittle’s two receiving scores, meant Arizona couldn’t focus its defense on stopping a single player. Purdy spread his three touchdown passes across two different targets, adding another layer of unpredictability.
Special Teams and Field Position
The 98-yard kickoff return by Skyy Moore on the opening play instantly flipped field position and forced Arizona into panic mode before its offense ran a single snap, a swing that established the tone for the remainder of the match.
Red Zone Execution
San Francisco converted 4-of-5 red-zone trips into touchdowns or field goals, consistently turning good field position into points rather than settling for empty possessions.
Why the Cardinals Lost
Costly Interceptions at Key Moments
Brissett’s two picks stopped drives that had real scoring momentum behind them, wiping out chunks of his otherwise record-setting 452-yard passing day.
Undisciplined Football
Seventeen penalties for 130 yards, a franchise record, repeatedly pushed Arizona’s offense behind the sticks and turned manageable third downs into long, low-percentage ones.
Heavy Dependence on the Passing Game
With only 24 rushing yards on 5 designed carries from Zonovan Knight and 8 from Emari Demercado, Arizona had almost no running game to lean on, forcing Brissett into 57 dropbacks and an offense that became one-dimensional and easier to defend late in games.
Historical Context & Advanced Insights
Season Series and Rivalry Snapshot
| Matchup | Result |
| Nov 16, 2025 | 49ers 41, Cardinals 22 |
| All-time series | 49ers lead 38-31 |
| Next scheduled meeting | September 27, 2026 at Levi’s Stadium |
The win extended San Francisco’s current streak in the rivalry to two straight games and pushed the 49ers to 7-4 on the season, while Arizona fell to 3-7 and lost for the sixth time in seven games.
Advanced Statistical Insights
Purdy’s touchdown-to-attempt ratio stands out more than his raw yardage: three scores on just 26 attempts is an efficiency rate few starting quarterbacks match in a single game. Brissett’s numbers tell the opposite story — 452 yards on 57 attempts works out to under 8 yards per attempt, a modest average for that much volume, and it reflects an offense that leaned on short, high-percentage throws (Wilson’s 18 targets for 185 yards, McBride’s 11 for 115) rather than explosive plays down the field. Arizona’s 6-of-14 third-down conversion rate also undercuts the gaudy total yardage, showing how often long Cardinals drives eventually stalled out.
Game Implications & Key Lessons
What This Means for the 49ers
- A 7-4 record keeps San Francisco firmly in the NFC playoff conversation heading into the season’s second half.
- McCaffrey’s three-touchdown day signals he’s fully healthy and capable of carrying the offense as both a runner and receiver.
- The zero-turnover performance is a repeatable formula the coaching staff will look to lean on in coming weeks.
What This Means for the Cardinals
- At 3-7, Arizona’s season is largely about evaluation, and Brissett’s record-setting workload shows he can move the ball even without Kyler Murray.
- Fixing the penalty problem is now a clear priority, since 17 flags in one game is not a one-off issue but a pattern that needs correcting.
- The running game needs an identity beyond Brissett’s arm if Arizona wants to avoid becoming predictable on early downs.
Key Lessons
- Turnover margin remains one of the single best predictors of an NFL final score.
- Total yardage without red-zone execution is a hollow statistic.
- Special teams plays, like a long opening kickoff return, can set the tone for an entire game.
- Discipline (or the lack of it) shows up directly in the box score through penalty yardage.
- A backup quarterback can post a record-setting stat line and still lose if the run game and turnover battle go the other way.
- Balanced scoring across multiple players is harder for a defense to game-plan against than reliance on one star.
Frequently Asked Questions
Who won the Cardinals vs 49ers game on November 16, 2025?
The San Francisco 49ers won 41-22 over the Arizona Cardinals at State Farm Stadium.
Who scored the most touchdowns in the game?
Christian McCaffrey led all players with three total touchdowns — two rushing and one receiving.
What were Jacoby Brissett’s stats in the loss?
Brissett went 47-of-57 for 452 yards, 2 touchdowns, and 2 interceptions, with his 47 completions setting an NFL regular-season record.
What were Brock Purdy’s stats in the win?
Purdy completed 19 of 26 passes for 200 yards and 3 touchdowns without an interception, good for a 133.5 passer rating.
Why did Arizona lose despite gaining more total yards?
The Cardinals were undone by three turnovers, a franchise-record 17 penalties, and a 3-of-5 red-zone conversion rate that left points on the field.
Who had the most receiving yards in the game?
Michael Wilson led all receivers with a career-high 185 yards on 15 catches for Arizona.
Conclusion
The final score reads like a blowout, but the Arizona Cardinals vs 49ers match player stats show a much tighter game on paper — one that San Francisco won by playing clean, efficient football rather than by simply outgaining its opponent. Purdy and McCaffrey turned a modest number of touches into maximum points, while Brissett’s record-breaking day couldn’t overcome turnovers and penalties. It’s a reminder that in the NFL, how a team scores matters just as much as how much yardage it racks up along the way.






