San Francisco 49ers
12-5-0
35
FINAL
31
Arizona Cardinals
8-9-0

GLENDALE, AZ - With first place in the NFC West on the line, the San Francisco 49ers and Arizona Cardinals delivered one of the wildest fourth quarters of the entire season. What began as a steady back-and-forth matchup between two playoff hopefuls turned into a chaotic, turnover-filled, momentum-swinging thriller that stretched to the final seconds. When it was over, Jeff Jarin's 49ers survived a furious Cardinals push and a cascade of scoring swings to escape State Farm Stadium with a dramatic 35-31 win, leapfrogging Jonathan Gannon's team in the division race.

A tense start with early punches from both sides

San Francisco wasted no time establishing rhythm. Brock Purdy opened the scoring with a five-yard strike to George Kittle in the first quarter, capping a smooth drive built on quick timing throws and Christian McCaffrey's early efficiency. Moments later, the 49ers grabbed a second touchdown when Nick Bosa scooped up a loose ball and rumbled 48 yards for a defensive score, shocking the crowd and pushing the game to 14-0.


Arizona answered in the second quarter. Kyler Murray found rookie running back Trey Benson for a six-yard touchdown to cut the deficit to seven. Just minutes later, Mack Wilson Sr. jumped a Purdy pass and returned it 35 yards for a pick-six, suddenly evening the score at 14-14 and igniting the Cardinals' sideline.

San Francisco responded before halftime with a beautifully designed play that freed McCaffrey down the sideline for a 24-yard touchdown reception, helping the 49ers take a 21-14 lead into the break.

Cardinals surge behind explosive plays

Arizona opened the third quarter with thunder. Murray found Marvin Harrison Jr. on a perfectly placed 49-yard bomb, tying the game once again. Just seconds later, disaster struck for San Francisco: another fumble on the ensuing kickoff turned into a defensive touchdown for Jordan Burch, flipping the scoreboard and giving the Cardinals their first lead of the afternoon at 28-21.

State Farm Stadium erupted. With the ground game humming behind James Conner and Benson and the defense forcing miscues, Arizona appeared to seize full control. But the 49ers hung around, absorbing the momentum swing and waiting for their moment.

The fourth quarter turns into pure chaos

Nothing about the fourth quarter was normal-except that both teams played it like their seasons depended on it.

Arizona started the frame with a Matt Prater 22-yard field goal to extend the lead to 31-21. But Purdy, who had thrown multiple interceptions and struggled through stretches of the game, responded with one of his best drives of the season. Facing pressure and long downs, he connected on a deep 48-yard touchdown to Skyy Moore, slicing the deficit to 31-28 with eight minutes remaining.

On the very next Cardinals possession, San Francisco's defense delivered the most important sequence of the afternoon. Ji'Ayir Brown forced a fumble on a Murray scramble and returned it 21 yards for a touchdown, flipping the game yet again and giving the 49ers a 35-31 advantage. In a span of just minutes, the 49ers went from staring at a double-digit deficit to reclaiming the lead.

Arizona pushed deep into San Francisco territory on the final drive, with Murray delivering clutch throws to Greg Dortch, Michael Wilson, and Harrison Jr. The Cardinals moved the ball inside the 10-yard line with under a minute to play. But the 49ers stiffened, forcing a fourth-and-goal decision. Gannon opted for the field goal earlier in the quarter, but here, with the game on the line, the Cardinals faced too many long-yardage situations. A sack and incompletions derailed the drive, and the comeback fell short. Prater added one last chip-shot field goal with seconds remaining, but Arizona never touched the ball again.

San Francisco knelt out the remaining seconds, sealing a statement win in a game that swung violently in all directions.

Stars shine, mistakes loom large

For the 49ers, McCaffrey was the heartbeat all afternoon, mixing tough inside runs with explosive receiving plays. Kittle posted multiple chain-moving receptions, and Moore delivered the biggest offensive play of the game with his fourth-quarter touchdown.

Defensively, Bosa, Brown, and the entire front seven made game-changing plays. The 49ers recorded two defensive scores and forced repeated backfield pressure against Murray.

For Arizona, Murray played with remarkable poise despite heavy heat, accounting for explosive gains through the air and showcasing urgency in the final minutes. Harrison Jr. continued to look like one of the league's next elite receivers, and Benson provided strong complementary production.

But the turnovers-three lost fumbles and the pick-six-ultimately told the story. The Cardinals outgained San Francisco in total yardage and repeatedly moved the ball, but the miscues proved fatal in a tight divisional battle.

Up Next

The Cardinals return home for a crucial matchup in week 12 as they host the Jacksonville Jaguars, a game they desperately need to stabilize their playoff footing after this tough divisional loss. Meanwhile, the 49ers look to build on their new division lead as they host the Carolina Panthers in their own week 12 showdown.

SF
TEAM STATS
ARI
Offensive Yards Gained
313
291
Total Yards Gained
446
405
Penalties
3
1
Penalty yards
15
10
Total first downs
17
14
3rd down efficiency
3 - 11 , 27.3%
4 - 8 , 50.0%
4th down efficiency
1 - 2 , 50.0%
0 - 0 , 0.0%
2 point conversion
0 - 0 , 0.0%
0 - 0 , 0.0%
Trips to red zone
6
5
Red zone touchdowns
1
1
Red zone field goals
0
1
Red zone efficiency
16.7%
40.0%
Defensive sacks
3
0
Defensive Interceptions
1
1
Defensive forced fumbles
2
1
Defensive F.F. recovered
2
1

Stats

AWAY STATS
HOME STATS
Passing
San Francisco 49ers
Player
qbr
com/att
pct
yds
lng
td
int
sck
B.Purdy #13 87.9 14 / 30 46.7 198 48 3 1 0
TEAM - 14 / 30 46.7 198 48 3 1 0
Rushing
San Francisco 49ers
Player
att
yds
lng
td
avg
big
yac
C.McCaffrey #23 19 91 18 0 4.8 0 32
B.Purdy #13 3 19 12 0 6.3 0 2
B.Robinson Jr #3 3 5 8 0 1.7 0 3
I.Guerendo #31 0 0 0 0 0.0 0 0
J.James #29 0 0 0 0 0.0 0 0
TEAM 25 115 18 0 4.6 0 37
Receiving
San Francisco 49ers
Player
rec
yds
avg
td
yac
lng
drop
S.Moore #9 4 105 26.3 1 46 48 0
G.Kittle #85 6 66 11.0 1 30 21 0
C.McCaffrey #23 3 16 5.3 1 31 24 1
B.Robinson Jr #3 1 11 11.0 0 14 11 0
L.Farrell #89 0 0 0.0 0 0 0 2
TEAM 14 198 14.1 3 121 48 3
Defense
San Francisco 49ers
Player
tckl
sck
pdef
int
int yds
td
ff
ffr
N.Bosa #97 2 3.0 0 0 0 1 1 1
D.Luter Jr #28 1 0.0 0 0 0 0 0 0
U.Stout #20 1 0.0 0 0 0 0 0 0
J.Pinnock #25 6 0.0 0 0 0 0 0 0
R.Green #0 2 0.0 0 0 0 0 0 0
F.Warner #54 1 0.0 0 0 0 0 0 0
M.Williams #98 1 0.0 0 0 0 0 0 1
Y.Gross-Matos #94 2 0.0 0 0 0 0 1 0
D.Winters #53 1 0.0 0 0 0 0 1 0
B.Huff #47 1 0.0 0 0 0 0 0 0
N.Martin #45 2 0.0 0 0 0 0 0 0
J.Jefferson #96 1 0.0 0 0 0 0 0 0
D.Lenoir #2 2 0.0 2 0 0 0 0 0
J.Peppers #34 5 0.0 0 1 0 0 0 0
TEAM 28 3.0 2 1 0 1 3 2
Kicking
San Francisco 49ers
Player
fg
fg pct
lng
xp
xp pct
50+
50+ pct
T.Morstead #7 0 / 0 0.0 0 0 / 0 0.0 0 / 0 0.0
J.Moody #4 0 / 1 0.0 0 5 / 5 100.0 0 / 0 0.0
TEAM 0 / 1 0.0 0 5 / 5 100.0 0 / 0 0.0
Punting
San Francisco 49ers
Player
punts
yds
avg
tb
in20
lng
blk
T.Morstead #7 3 120 39.0 0 1 44 0
TEAM 3 120 40.0 0 1 44 0