| 1st | 2nd | 3rd | 4th | Tot | |
| ARI | 0 | 6 | 7 | 17 | 30 |
| SF | 7 | 10 | 6 | 13 | 36 |
The San Francisco 49ers remained unbeaten with a win over the Arizona Cardinals on Sunday, but they needed all sixty minutes to get it done despite building a 17-point third-quarter lead.
The 49ers ran up a 23-6 lead early in the third quarter, but the Cardinals stormed back to pull within 23-20 in the fourth. The teams exchanged touchdowns before the 49ers took over with a 29-27 lead with less than three minutes to play, and then the 49ers were able to go up 36-27 on a touchdown pass from quarterback Brock Purdy to tight end George Kittle with just over 90 seconds remaining. The 49ers held on from there to escape with a 36-30 win in front of the home crowd at Levi's Stadium in Santa Clara.
Purdy finished with 297 yards and four touchdowns on 15-of-27 passing, while Kittle caught six passes for 82 yards and two touchdowns. Cardinals quarterback Jacoby Brissett finished with 280 yards and two touchdowns on 38-of-52 passing.
Cardinals burned by penalties and a fancy 49ers trick play in the first half
The Cardinals opened the game with possession and were putting together a strong opening drive before being stalled by a holding penalty. The 49ers took over at their own 20 after a punt and stumbled out of the gate with a false start penalty followed by an incompletion and a short second-down run. But fireworks came on third down when the 49ers stunned the Cardinals with a hook-and-lateral that went from Brock Purdy to wide receiver Mike Evans to wide receiver Deebo Samuel for an 80-yard touchdown and a 7-0 lead.
MIKE EVANS FLIPS IT TO DEEBO FOR THE TD@AZvsSF on FOX/FOX One
— NFL (@NFL) September 27, 2026
Stream on @NFLPlus pic.twitter.com/GOuLwblygR
Another holding penalty killed the Cardinals' momentum on the next drive, leading to a punt that gave the 49ers the ball at their own 7-yard line. Two runs by Christian McCaffrey for 13 combined yards opened the 49ers' second possession, followed by a third-down catch by McCaffrey for 13 yards that gave the 49ers a conversion on 3rd-and-7. The drive moved into Cardinals territory on a 25-yard completion to wide receiver Jordan Watkins on a 3rd-and-11, and a 12-yard completion to Kittle on the final play of the first quarter moved the ball to the Cardinals' 23-yard line. On the next play, Purdy perfectly dropped a pass into the hands of Evans in the end zone to cap the 93-yard drive with a 23-yard touchdown and a 14-0 lead.
Great route. Great pass.@AZvsSF on FOX/FOX One
— NFL (@NFL) September 27, 2026
Stream on @NFLPlus pic.twitter.com/zZjzShDIE1
Penalties remained a problem for the Cardinals on their third possession, this time being an offensive pass interference call on tight end Trey McBride that negated a third-down conversion and put the Cardinals in a 3rd-and-13. The 49ers took over at their own 14-yard line after forcing a punt but were held to a three-and-out and punted back to the Cardinals with 11:12 left in the second quarter.
The Cardinals began the next possession at their own 38-yard line and drove inside the 49ers' 10-yard line in ten plays, overcoming three more penalties along the way. The 49ers held firm on defense from there, however, forcing the Cardinals to settle for a 26-yard field goal from kicker Chad Ryland to cut the lead to 14-3.
The 49ers took over at their own 32-yard line after the field goal and ensuing kickoff and moved close to midfield after two runs from McCaffrey and a third-down catch by Evans. But three consecutive incompletions followed that catch and forced a punt back to the Cardinals, who took over at their own 18-yard line with 1:30 left in the half.
Brissett led the Cardinals downfield in a hurry, completing four passes for 63 yards, while the 49ers helped with an unnecessary roughness penalty from linebacker Fred Warner. But incompletions on first and third down and a four-yard loss on second down forced the Cardinals to settle for another field goal, this one from 41 yards to cut the lead to 14-6 with 23 seconds remaining.
The 49ers took over their own 27-yard line after the kickoff with only 16 seconds remaining in the half, but they weren't content to run out the clock. Purdy connected with Watkins on first down for a 34-yard completion to the Cardinals' 39-yard line, and after an incompletion on the next play, kicker Eddy Pineiro was brought on to attempt a 57-yard field goal with four seconds remaining. Pineiro's kick went through the uprights as time expired to give the 49ers a 17-6 halftime lead, while the Cardinals were hit with one final first-half penalty -- an unnecessary roughness call that would be enforced on the second-half kickoff.
The penalty was the eighth for the Cardinals, who racked up 65 penalty yards in the first half to just 25 yards on three penalties for the 49ers. The 49ers wound up outgaining the Cardinals 227-184 in the half, with all but 23 of those yards coming in the air. Purdy finished the half with 204 yards and two touchdowns on 8-of-17 passing, while Brissett connected on 20-of-29 passes for 137 yards.
49ers survive action-packed second half with late heroics
Things started off for the Cardinals in the second half the way they ended in the first half -- with a personal foul on the opening kickoff. That started the 49ers off at their own 44-yard line, and they took full advantage with a seven-play, 56-yard drive that gave the 49ers a 23-6 lead on a touchdown run by McCaffrey. Two catches for 29 yards by Kittle, along with gains by McCaffrey and running back Kaelon Black, moved the ball to the 1-yard line, where McCaffrey dove into the end zone to finish the drive. Pineiro's point-after attempt was no good, leaving the 49ers with a 17-point lead.
CMC FOR TAKEOFF 🚀
📺: FOX pic.twitter.com/3cEB6c9lv1
— San Francisco 49ers (@49ers) September 27, 2026
The Cardinals stayed in the game with a 14-play, 69-yard drive that ended with a 5-yard touchdown pass from Brissett to wide receiver Michael Wilson. The drive took over eight minutes off the clock and included a number of short completions and runs before Wilson's catch cut the lead to 23-13 with 3:02 left in the third.
Michael Wilson absorbs the contact and finds the end zone!@AZvsSF on FOX/FOX One
— NFL (@NFL) September 27, 2026
Stream on @NFLPlus pic.twitter.com/0mq464UpaO
The teams exchanged three-and-outs after the touchdown before the Cardinals got their biggest break of the day on a special teams error by the 49ers. With the 49ers ready to take possession just before the end of the third quarter, the punt from Cardinals punter Blake Gillikin took a bounce off the foot of defensive back Siran Neal and was recovered by wide receiver Simi Fehoko to give the Cardinals the ball at the 49ers' 28-yard line.
Punt hits a 49er and the Cardinals recover 👀@AZvsSF on FOX/FOX One
— NFL (@NFL) September 27, 2026
Stream on @NFLPlus pic.twitter.com/rK2bQ0RXI7
The Cardinals soon faced a 4th-and-2 at the 20-yard line and got another break when a pass interference call on cornerback Deommodore Lenoir in the end zone gave them the ball at the 1. Brissett finished the drive two plays later with a touchdown pass to running back Jeremiyah Love to cut the lead to 23-20.
Jeremiyah Love makes it a one-score game in the Bay 👀@AZvsSF on FOX/FOX One
— NFL (@NFL) September 27, 2026
Stream on @NFLPlus pic.twitter.com/0mdc38FjPE
The 49ers were able to answer the touchdown with one of their own after an eight-play, 65-yard drive. The 49ers opened the drive at their own 35-yard line following a touchback and moved across midfield on an 11-yard catch from Kittle and a 10-yard run by McCaffrey. A series of gains from McCaffrey, Black and Samuel moved the ball inside the 20. Then, after a third-down roughing-the-passer penalty by Cardinals pass rusher Josh Sweat kept the drive alive, Purdy found Kittle from ten yards out to put the 49ers up nine. Another missed PAT by Pineiro left the score at 29-20 with 8:37 remaining in the game.
George Kittle receives Brock Purdy's 3rd TD of the game 🔥@AZvsSF on FOX/FOX One
— NFL (@NFL) September 27, 2026
Stream on @NFLPlus pic.twitter.com/mBGTggrGfD
The Cardinals stayed in the game with another touchdown drive, this one spanning 68 yards on 14 plays. A key 19-yard completion to wide receiver Marvin Harrison Jr. on a 3rd-and-11 kept the Cardinals on the field early in the drive, then Brissett led the Cardinals downfield before finishing the drive with a 1-yard touchdown run to cut the deficit to 29-27. The drive took nearly six minutes off the clock and left the 49ers with two minutes and 51 seconds to spend if they wanted to seal the win.
Jacoby Brissett sneaks it in and we've got a one-possession game again@AZvsSF on FOX/FOX One
— NFL (@NFL) September 27, 2026
Stream on @NFLPlus pic.twitter.com/cAI84if2s9
Another touchback gave the 49ers the ball at their own 35-yard line and they moved the clock to the two-minute warning after an 11-yard catch followed by a 12-yard run by McCaffrey. With the ball at the Cardinals' 42-yard line, McCaffrey was stopped for a three-yard loss to move the 49ers back to the 45-yard line. Purdy then appeared to seal the deal with a run into the end zone from 45 yards out, but Kittle was called for a hold right before the goal line to put the 49ers at the 20. A run for no gain by McCaffrey put the clock at 1:36 while forcing the Cardinals to burn their final timeout, then Kittle redeemed himself by getting open for one last 49ers touchdown. Pineiro connected on the point-after attempt this time, giving the 49ers a 36-27 lead.
GEORGE KITTLE'S SECOND TD OF THE GAME@AZvsSF on FOX/FOX One
— NFL (@NFL) September 27, 2026
Stream on @NFLPlus pic.twitter.com/HAREBDDTlP
The Cardinals were able to move 35 yards and add a 49-yard field goal from Ryland with 34 seconds remaining but failed on an ensuing onside kick attempt, which was recovered by Samuel. The 49ers ran out the clock to move to 3-0 and take sole possession of first place in the NFC West, while the Cardinals fell to 1-2 with the loss.
Game Notes
This game marked the 70th all-time meeting between the 49ers and Cardinals. The 49ers now hold a 39-31 edge in the series, with wins in seven of the last nine games... The game was the 166th in the head coaching career of Kyle Shanahan, who is now tied with Bill Walsh for the most games coached in 49ers history... Evans was carted off the field late in the second quarter with a rib injury and did not return... Left tackle Trent Williams (shoulder) was also carted off the field early in the third quarter and did not return... The 49ers will be at home for the third consecutive game next week as they face the Denver Broncos on Sunday, October 4. The game will kick off at 1:25 p.m. local time and will be broadcast on CBS.
Scoring Summary
- Q1 08:40 — ARI 0, SF 7
D. Samuel 82 yd. pass play by B. Purdy (E. Pineiro kick) (3 plays, 80 yds, 0:52) - Q2 15:00 — ARI 0, SF 14
M. Evans 23 yd. pass from B. Purdy (E. Pineiro kick) (10 plays, 93 yds, 5:16) - Q2 03:08 — ARI 3, SF 14
C. Ryland 26 yd. Field Goal (14 plays, 54 yds, 8:09) - Q2 00:27 — ARI 6, SF 14
C. Ryland 41 yd. Field Goal (8 plays, 59 yds, 1:07) - Q2 00:04 — ARI 6, SF 17
E. Pineiro 57 yd. Field Goal (3 plays, 34 yds, 0:23) - Q3 11:10 — ARI 6, SF 23
C. McCaffrey 1 yd. run (kick failed, wl) (7 plays, 56 yds, 3:53) - Q3 03:07 — ARI 13, SF 23
Mi.Wilson 5 yd. pass from J. Brissett (C. Ryland kick) (14 plays, 69 yds, 8:05) - Q4 13:10 — ARI 20, SF 23
J. Love 1 yd. pass from J. Brissett (C. Ryland kick) (5 plays, 28 yds, 2:25) - Q4 08:46 — ARI 20, SF 29
G. Kittle 10 yd. pass from B. Purdy (kick failed, hru) (8 plays, 65 yds, 4:24) - Q4 02:55 — ARI 27, SF 29
J. Brissett 1 yd. run (C. Ryland kick) (14 plays, 68 yds, 5:51) - Q4 01:36 — ARI 27, SF 36
G. Kittle 20 yd. pass from B. Purdy (E. Pineiro kick) (7 plays, 65 yds, 1:20) - Q4 00:39 — ARI 30, SF 36
C. Ryland 49 yd. Field Goal (5 plays, 35 yds, 0:57)
Game and Player Stats
| ARI | Team Stats | SF |
| 272 | Passing Yards | 297 |
| 93 | Rushing Yards | 140 |
| 365 | Total Yards | 437 |
| 5.38 | Avg Yards per Pass | 11 |
| 3.44 | Avg Yards per Run | 6.09 |
| 0 | Fumbles Lost | 1 |
| 0 | Int Thrown | 0 |
| 2 | Sacks Allowed | 0 |
| 00:38:44 | Time of Pos | 00:21:16 |
| 10 | Penalties | 7 |
| Cardinals Player Stats | ||||
| Passing | Cmp/Att | Yds | TDs | INTs |
| Jacoby Brissett | 38/52 | 280 | 2 | 0 |
| Rushing | Att | Yds | Avg | TDs |
| Jeremiyah Love | 21 | 90 | 4.3 | 0 |
| Jacoby Brissett | 4 | 4 | 1 | 1 |
| Tyler Allgeier | 2 | -1 | -0.5 | 0 |
| Receiving | Rec | Tgt | Yds | TDs |
| Michael Wilson | 11 | 17 | 89 | 1 |
| Trey McBride | 9 | 11 | 75 | 0 |
| Marvin Harrison | 3 | 5 | 40 | 0 |
| Kendrick Bourne | 2 | 3 | 22 | 0 |
| Elijah Higgins | 3 | 3 | 20 | 0 |
| Jeremiyah Love | 5 | 5 | 19 | 1 |
| Tyler Allgeier | 4 | 4 | 10 | 0 |
| Hunter Long | 1 | 1 | 5 | 0 |
| Jalen Brooks | 0 | 1 | 0 | 0 |
| Kicking | FG | Att | Lg | XP |
| Chad Ryland | 3 | 3 | 49 | 3 |
| Punting | No | Avg | I20 | Lg |
| Blake Gillikin | 4 | 43.5 | 2 | 63 |
| Punt Returns | Att | Avg | TDs | Lg |
| Devin Duvernay | 2 | 10 | 0 | 10 |
| Defense | T-A | Sck | INTs | FF |
| Jack Gibbens | 8-4 | 0 | 0 | 0 |
| Mack Wilson | 6-4 | 0 | 0 | 0 |
| Budda Baker | 4-3 | 0 | 0 | 0 |
| Max Melton | 4-1 | 0 | 0 | 0 |
| Eku Leota | 2-2 | 0 | 0 | 0 |
| Baron Browning | 2-1 | 0 | 0 | 0 |
| Wydett Williams | 2-1 | 0 | 0 | 0 |
| Zaven Collins | 2-0 | 0 | 0 | 0 |
| Denzel Burke | 2-0 | 0 | 0 | 0 |
| Andrew Wingard | 10-9 | 0 | 0 | 0 |
| Dante Stills | 1-1 | 0 | 0 | 0 |
| Garrett Williams | 1-1 | 0 | 0 | 0 |
| Darius Robinson | 1-1 | 0 | 0 | 0 |
| Walter Nolen | 1-1 | 0 | 0 | 0 |
| 49ers Player Stats | ||||
| Passing | Cmp/Att | Yds | TDs | INTs |
| Brock Purdy | 15/27 | 297 | 4 | 0 |
| Rushing | Att | Yds | Avg | TDs |
| Christian McCaffrey | 15 | 75 | 5 | 1 |
| Brock Purdy | 2 | 34 | 17 | 0 |
| Kaelon Black | 4 | 17 | 4.3 | 0 |
| Deebo Samuel | 2 | 14 | 7 | 0 |
| Receiving | Rec | Tgt | Yds | TDs |
| George Kittle | 6 | 7 | 82 | 2 |
| Jordan Watkins | 2 | 2 | 60 | 0 |
| Christian McCaffrey | 4 | 5 | 41 | 0 |
| Mike Evans | 3 | 6 | 34 | 1 |
| Luke Farrell | 0 | 1 | 0 | 0 |
| Kaelon Black | 0 | 1 | 0 | 0 |
| Kyle Juszczyk | 0 | 2 | 0 | 0 |
| Jacob Cowing | 0 | 2 | 0 | 0 |
| Fumbles | Fum | Lost | ||
| Siran Neal | 1 | 1 | 0 | 0 |
| Kicking | FG | Att | Lg | XP |
| Eddy Pineiro | 1 | 1 | 57 | 3 |
| Punting | No | Avg | I20 | Lg |
| Corliss Waitman | 3 | 41.7 | 1 | 57 |
| Punt Returns | Att | Avg | TDs | Lg |
| Jacob Cowing | 1 | 7 | 0 | 7 |
| Defense | T-A | Sck | INTs | FF |
| Dre Greenlaw | 8-5 | 0 | 0 | 0 |
| Ji'Ayir Brown | 6-4 | 0 | 0 | 0 |
| Deommodore Lenoir | 5-2 | 0 | 0 | 0 |
| Jack Jones | 5-2 | 0 | 0 | 0 |
| Malik Mustapha | 4-3 | 0 | 0 | 0 |
| Marques Sigle | 4-2 | 0 | 0 | 0 |
| Sebastian Valdez | 3-2 | 0 | 0 | 0 |
| Keion White | 3-2 | 1 | 0 | 0 |
| Garret Wallow | 3-1 | 0 | 0 | 0 |
| Gracen Halton | 3-1 | 0 | 0 | 0 |
| Khalid Kareem | 3-0 | 0 | 0 | 0 |
| Upton Stout | 2-2 | 0 | 0 | 0 |
| Fred Warner | 17-9 | 0 | 0 | 0 |
| Renardo Green | 13-6 | 0 | 0 | 0 |
| Kevin Givens | 1-1 | 0 | 0 | 0 |
| Naquan Jones | 1-1 | 0 | 0 | 0 |
| Osa Odighizuwa | 1-1 | 0 | 0 | 0 |
| Jaden Dugger | 1-0 | 0 | 0 | 0 |
| Ogbo Okoronkwo | 1-0 | 1 | 0 | 0 |
More info on: Kaelon Black, Ji'Ayir Brown, Jacob Cowing, Jaden Dugger, Mike Evans, Luke Farrell, Kevin Givens, Renardo Green, Dre Greenlaw, Gracen Halton, Jack Jones, Naquan Jones, Kyle Juszczyk, Khalid Kareem, George Kittle, Deommodore Lenoir, Christian McCaffrey, Malik Mustapha, Siran Neal, Osa Odighizuwa, Ogbo Okoronkwo, Brock Purdy, Deebo Samuel, Marques Sigle, Upton Stout, Sebastian Valdez, Corliss Waitman, Garret Wallow, Fred Warner, Jordan Watkins, Keion White, Trent Williams
Comments