Vancouver Television Sports← GAME CENTRE
← NFL / AFTER THE WHISTLE

NFL • September 27, 2026

George Kittle’s late second touchdown lifts 49ers past Cardinals 36-30 in Levi’s shootout

George Kittle broke a one-score game open for good with 1:31 left, catching his second touchdown from Brock Purdy as the San Francisco 49ers held off the Arizona Cardinals 36-30 on Sunday at Levi’s Stadium.

NFL / FINAL
Arizona Cardinals30 — 36San Francisco 49ers
Arizona CardinalsSan Francisco 49ers

Two big strikes built the cushion

San Francisco did not need much volume to create an early edge. The 49ers scored first on one of the day’s strangest and most damaging plays, with Brock Purdy completing a short pass to Mike Evans before the ball was lateralled to Deebo Samuel Sr. for an 80-yard touchdown at 8:26 of the first quarter.

That set the tone for a highly efficient afternoon from Purdy, who finished 15-of-27 for 297 yards and four touchdowns without a sack or interception. His second scoring throw came almost immediately after the second quarter began, a 23-yard touchdown to Evans that pushed the 49ers ahead 14-0 with 14:55 left in the half.

Arizona steadied itself with Chad Ryland field goals from 26 and 41 yards, but San Francisco still carried momentum into the break when Eddy Pineiro drilled a 57-yarder on the final play of the half. That kick sent the 49ers to halftime up 17-6, a useful margin in a game that never stayed quiet for long.

Arizona controlled the ball and kept coming

The Cardinals spent much of the afternoon doing the slow work required to stay alive. Jacoby Brissett completed 38 of 52 passes for 280 yards and two touchdowns, and Arizona owned possession for 38:44 while running 81 plays. Michael Wilson was his busiest target, catching 11 passes for 89 yards and a touchdown, while Trey McBride added nine receptions for 75 yards.

San Francisco widened the gap early in the third quarter when Christian McCaffrey finished a drive with a 1-yard touchdown run at 11:07, stretching the lead to 23-6 despite the missed extra point. McCaffrey’s rushing line — 75 yards on 15 carries — was part of a strong 140-yard team effort on the ground.

Arizona answered before the quarter ended. Wilson scored on a 5-yard pass from Brissett with 3:02 left in the third, and the Cardinals opened the fourth with another short touchdown, this time a 1-yard pass to Jeremiyah Love at 13:06. Suddenly, a game that had tilted toward San Francisco was back to one score at 23-20.

The pressure returned late. After San Francisco scored again, Brissett pulled Arizona back within two points on a 1-yard rushing touchdown with 2:51 to play. Love’s 90 rushing yards on 21 attempts helped keep the Cardinals balanced enough to threaten all afternoon, even if their drives often demanded patience rather than chunk gains.

Kittle delivered the finish

The decisive difference was Kittle. With 8:42 left, he caught a 10-yard touchdown from Purdy to restore breathing room at 29-20, though another failed extra point left the door open. Arizona walked through that opening with Brissett’s late rushing score, cutting it to 29-27 and setting up a frantic finish.

Kittle closed it himself. With 1:31 remaining, Purdy found the tight end again, this time for a 20-yard touchdown that pushed the 49ers to 36-27 after the extra point. Arizona answered only with Ryland’s 49-yard field goal at 0:34, leaving the Cardinals six points short when time expired.

Kittle’s final line — six catches, 82 yards and two touchdowns on seven targets — captured how direct San Francisco could be whenever it needed a play. Jordan Watkins also chipped in 60 receiving yards on two catches, giving the 49ers another explosive outlet in a passing game that averaged 11.0 yards per attempt.

Our take: Explosive efficiency beat Arizona’s volume

This result is a useful reminder that possession time and play count do not always decide an NFL game. Arizona held the ball for more than 17 minutes longer, posted more first downs and avoided turnovers, yet San Francisco still produced 437 yards on only 50 plays. The 49ers averaged 8.7 yards per snap; the Cardinals averaged 4.5.

That gap explains most of the afternoon. San Francisco did not waste many chances: two trips to the red zone produced two touchdowns, Purdy was never sacked, and the run game averaged 6.1 yards per carry. Arizona moved the chains consistently, converting 9 of 18 third downs and 2 of 2 fourth downs, but too many of those drives ended in field goals or required too many snaps to cover modest yardage.

If there is a concern in a winning dressing room, it starts with game management details rather than star power. The 49ers lost a fumble and left two points behind on missed extra points, which helped keep a controlled game unsettled into the final minute. For Arizona, the path forward is visible in the numbers: the offence generated 365 yards and protected the ball, but a defence that allowed nearly nine yards per play left very little margin for all that possession to matter.

Scoring moments

  1. Period 1 · 8:26

    Brock Purdy complete pass to Mike Evans for 2 yards, lateral to Deebo Samuel for 80 yards (Eddy Pineiro Kick)

  2. Period 2 · 14:55

    Mike Evans 23 Yd pass from Brock Purdy (Eddy Pineiro Kick)

  3. Period 2 · 3:03

    Chad Ryland 26 Yd Field Goal

  4. Period 2 · 0:23

    Chad Ryland 41 Yd Field Goal

  5. Period 2 · 0:00

    Eddy Pineiro 57 Yd Field Goal

  6. Period 3 · 11:07

    Christian McCaffrey 1 Yd Rush (Eddy Pineiro PAT Failed)

  7. Period 3 · 3:02

    Michael Wilson 5 Yd pass from Jacoby Brissett (Chad Ryland Kick)

  8. Period 4 · 13:06

    Jeremiyah Love 1 Yd pass from Jacoby Brissett (Chad Ryland Kick)

  9. Period 4 · 8:42

    George Kittle 10 Yd pass from Brock Purdy (Eddy Pineiro PAT Failed)

  10. Period 4 · 2:51

    Jacoby Brissett 1 Yd Rush (Chad Ryland Kick)

  11. Period 4 · 1:31

    George Kittle 20 Yd pass from Brock Purdy (Eddy Pineiro Kick)

  12. Period 4 · 0:34

    Chad Ryland 49 Yd Field Goal

Arizona Cardinals — Passing
PlayerC/ATTYDSAVGTDINTSACKSQBRRTG
Jacoby Brissett38/522805.4202-878.198.2
Arizona Cardinals — Rushing
PlayerCARYDSAVGTDLONG
Jeremiyah Love21904.308
Jacoby Brissett441.012
Tyler Allgeier2-1-0.502
Arizona Cardinals — Receiving
PlayerRECYDSAVGTDLONGTGTS
Michael Wilson11898.111817
Trey McBride9758.301811
Marvin Harrison Jr.34013.30195
Kendrick Bourne22211.00143
Elijah Higgins3206.7093
Jeremiyah Love5193.8185
Tyler Allgeier4102.5054
Hunter Long155.0051
Jalen Brooks000.0001
Arizona Cardinals — Fumbles
PlayerFUMLOSTREC
Simi Fehoko001
Arizona Cardinals — Defensive
PlayerTOTSOLOSACKSTFLPDQB HTSTD
Andrew Wingard10100000
Jack Gibbens8401010
Mack Wilson Sr.6200000
Max Melton4300100
Budda Baker4100000
Zaven Collins3300200
Eku Leota3000000
Denzel Burke2200200
Baron Browning2101010
Elijah Higgins2100000
Wydett Williams Jr.2100000
Cody Simon2000000
Dante Stills1000000
Kalen King1000000
Garrett Williams1000000
Darius Robinson1000000
Walter Nolen III1000010
Karson Sharar1000000
Arizona Cardinals — KickReturns
PlayerNOYDSAVGLONGTD
Jalen Brooks512825.6280
Devin Duvernay12929.0290
Arizona Cardinals — PuntReturns
PlayerNOYDSAVGLONGTD
Devin Duvernay22010.0100
Arizona Cardinals — Kicking
PlayerFGPCTLONGXPPTS
Chad Ryland3/3100.0493/312
Arizona Cardinals — Punting
PlayerNOYDSAVGTBIn 20LONG
Blake Gillikin420150.31263
San Francisco 49ers — Passing
PlayerC/ATTYDSAVGTDINTSACKSQBRRTG
Brock Purdy15/2729711.0400-086.8133.8
San Francisco 49ers — Rushing
PlayerCARYDSAVGTDLONG
Christian McCaffrey15755.0114
Brock Purdy23417.0035
Kaelon Black4174.309
Deebo Samuel Sr.2147.0011
San Francisco 49ers — Receiving
PlayerRECYDSAVGTDLONGTGTS
George Kittle68213.72207
Deebo Samuel Sr.0800.01800
Jordan Watkins26030.00342
Christian McCaffrey44110.30135
Mike Evans33411.31236
Kyle Juszczyk000.0002
Luke Farrell000.0001
Jacob Cowing000.0002
Kaelon Black000.0001
San Francisco 49ers — Fumbles
PlayerFUMLOSTREC
Siran Neal110
San Francisco 49ers — Defensive
PlayerTOTSOLOSACKSTFLPDQB HTSTD
Fred Warner17801010
Renardo Green13700100
Dre Greenlaw8300000
Ji'Ayir Brown6200100
Jack Jones5300000
Deommodore Lenoir5300100
Garret Wallow4300000
Marques Sigle4200000
Malik Mustapha4100000
Khalid Kareem3300000
Gracen Halton3201100
Keion White3111010
Sebastian Valdez3100000
KhaDarel Hodge2200000
Siran Neal2200000
Brayden Willis2000000
Upton Stout2000000
Ogbo Okoronkwo1110020
Luke Gifford1100000
Jaden Dugger1100000
Ashtyn Davis1000000
Kevin Givens1000010
Osa Odighizuwa1000100
Luke Farrell1000000
Naquan Jones1000000
San Francisco 49ers — KickReturns
PlayerNOYDSAVGLONGTD
Deebo Samuel Sr.47919.8280
San Francisco 49ers — PuntReturns
PlayerNOYDSAVGLONGTD
Jacob Cowing177.070
Siran Neal100.000
San Francisco 49ers — Kicking
PlayerFGPCTLONGXPPTS
Eddy Pineiro1/1100.0573/56
San Francisco 49ers — Punting
PlayerNOYDSAVGTBIn 20LONG
Corliss Waitman314548.30157
Arizona Cardinals — Team statistics
1st Downs27
Passing 1st downs18
Rushing 1st downs6
1st downs from penalties3
3rd down efficiency9-18
4th down efficiency2-2
Total Plays81
Total Yards365
Yards per Play4.5
Total Drives10
Passing272
Comp/Att38/52
Yards per pass5.0
Interceptions thrown0
Sacks-Yards Lost2-8
Rushing93
Rushing Attempts27
Yards per rush3.4
Red Zone (Made-Att)3-5
Penalties10-86
Turnovers0
Fumbles lost0
Interceptions thrown0
Defensive / Special Teams TDs0
Possession38:44
San Francisco 49ers — Team statistics
1st Downs23
Passing 1st downs14
Rushing 1st downs7
1st downs from penalties2
3rd down efficiency5-8
4th down efficiency0-0
Total Plays50
Total Yards437
Yards per Play8.7
Total Drives10
Passing297
Comp/Att15/27
Yards per pass11.0
Interceptions thrown0
Sacks-Yards Lost0-0
Rushing140
Rushing Attempts23
Yards per rush6.1
Red Zone (Made-Att)2-2
Penalties7-69
Turnovers1
Fumbles lost1
Interceptions thrown0
Defensive / Special Teams TDs0
Possession21:16