1st | 2nd | 3rd | 4th | Tot | |
SF | 14 | 7 | 14 | 10 | 45 |
ARI | 7 | 6 | 3 | 13 | 29 |
It was another prolific performance on offense Sunday afternoon for the San Francisco 49ers, who put up their second 40-point effort in three games in a 45-29 division-clinching win over the Cardinals at State Farm Stadium in Glendale, Arizona. The win gave the 49ers their second consecutive NFC West title and their 23rd in franchise history.
The 49ers were paced by standout efforts from running back Christian McCaffrey, who put up 187 total yards of offense and three touchdowns, and quarterback Brock Purdy, who threw for 242 yards on 16-of-25 passing with four touchdowns and zero interceptions. McCaffrey was the leading receiver on the day for the 49ers with five catches for 72 yards with two touchdowns while adding 115 yards and one touchdown on 18 carries on the ground.
The Cardinals put up over 200 yards on the ground in the loss, with 86 of those coming from running back James Conner on 14 carries. Quarterback Kyler Murray finished with 211 yards, one touchdown and two interceptions on 26-of-39 passing.
First Half
The Cardinals got off to a quick start, putting together a seven-play, 75-yard drive that ended with a touchdown run from running back James Conner to take a 7-0 lead. Two completions for 49 yards to tight end Trey McBride moved the offense to the 49ers' 21-yard line, then Conner finished off the drive from two yards out to put the Cardinals on the board less than five minutes into the game.
An opening drive TD for James Conner and the Cardinals!
📺: #SFvsAZ on CBS
— NFL (@NFL) December 17, 2023
📱: Stream on #NFLPlus https://t.co/kw7mays4qU pic.twitter.com/bQMeQ8yqKT
The 49ers answered with an eight-play, 78-yard drive that saw wide receiver Deebo Samuel reach the end zone for the fourth consecutive game. 45 of the 78 yards came on runs from McCaffrey, then Purdy found Samuel wide open from 12 yards out to tie the game at seven.
The wide back was wide open. #SFvsAZ on CBS#ProBowlVote x @19problemz pic.twitter.com/9xM2Ygl4WD
— San Francisco 49ers (@49ers) December 17, 2023
The score became 14-7 in favor of the 49ers on the next possession when cornerback Charvarius Ward picked off a 4th-and-3 pass from Murray and sped 66 yards in the other direction for a touchdown. Ward has been one of the NFL's best players in terms of passes broken up this season but in recent weeks expressed his desire to get more interceptions, and when he got his chance he made it count.
No. 7 takes it back for 6!@itslilmooney #ProBowlVote #SFvsAZ on CBS pic.twitter.com/y6NSWgp8Xy
— San Francisco 49ers (@49ers) December 17, 2023
The Cardinals responded with an eight-play, 35-yard drive that ended in a 58-yard field goal from Matt Prater to cut the lead to 14-10. A three-and-out from the 49ers followed the field goal, then the Cardinals put together another scoring possession, this one an 11-play, 44-yard drive that ended with a 43-yard field goal from Prater to trim the deficit to 14-13 with just over six minutes left in the first half.
The game took a slight turn for the 49ers on the next possession when a helmet-to-helmet hit from linebacker Dennis Gardeck sent Purdy to the sidelines in favor of backup Sam Darnold. A personal foul penalty on the hit put the 49ers on the Cardinals' 38-yard line when Darnold entered the game, then after an illegal contact penalty on the Cardinals gave the 49ers a first down on the 33-yard line, Purdy came back into the game on 2nd-and-9 and didn't miss a beat, connecting with Samuel for a six-yard gain and tight end George Kittle for a 19-yard gain to set up a 1st-and-Goal at the 6-yard line. Two plays later, Purdy connected with McCaffrey from five yards out to cap a 10-play, 75-yard drive and give the 49ers a 21-13 lead.
The Cardinals took over with 1:14 on the clock, but after two completions and a 49ers time out on a third down run, the Cardinals were forced to punt with 1:03 remaining in the half. The 49ers took over at their own 12-yard line with 49 seconds remaining after a fumble on the punt by receiver Ronnie Bell was overturned upon replay and moved to the Cardinals' 48-yard line with five seconds on the clock. A Hail Mary attempt into the end zone fell short as time expired, sending the game into halftime at 21-13.
The Cardinals held a halftime edge in time of possession (18:18 to 11:42) and yardage (192-176), with 102 of those yards coming on the ground. Purdy finished the half with 125 yards and two touchdowns on 12-of-17 passing, while Murray passed for 98 yards and one interception on 7-of-12 passing with 27 yards rushing.
Second Half
It didn't take long for the 49ers to open up a double-digit lead in the second half, courtesy of big catches from Kittle and McCaffrey. The 49ers faced a 3rd-and-11 at their own 24-yard line when Purdy connected with Kittle for a 35-yard gain to the Cardinals' 41-yard line, then Purdy found a wide open McCaffrey on the next play for a 41-yard score. McCaffrey was open enough on the play that he fell to the turf while making the catch but still strolled into the end zone untouched to give the 49ers a 28-13 lead.
The hometown kid is ballin. Brock Purdy to @CMC_22 for a 2nd time today!#ProBowlVote #SFvsAZ on CBS pic.twitter.com/R0ZieCsVLj
— San Francisco 49ers (@49ers) December 17, 2023
The Cardinals were held to a three-and-out on the next possession, which also saw Murray head to the sidelines after taking a first down hit from defensive end Clelin Ferrell. The 49ers punted back to the Cardinals after a three-and-out of their own, then the Cardinals took over at their own 10-yard line with Murray back in the game. A 44-yard run from Conner moved the ball to the 49ers' 17-yard line on the fifth play of the drive, but the 49ers held the Cardinals out of the end zone and forced them to settle for a 28-yard field goal from Prater to make the score 28-16.
An 18-yard return on the kick from fullback Kyle Juszczyk put the 49ers at their own 40-yard line to start the next drive, then they quickly moved into the red zone after a 22-yard completion to wide receiver Brandon Aiyuk followed by an 18-yard run by McCaffrey two plays later. An 11-yard run from McCaffrey moved the ball inside the 5, then after the Cardinals were called for defensive holding, McCaffrey ran in from one yard out for his third touchdown of the day and a 35-16 lead.
Another hat trick! 🎩🎩🎩#ProBowlVote @CMC_22#SFvsAZ on CBS pic.twitter.com/TMjneyp6SJ
— San Francisco 49ers (@49ers) December 17, 2023
The 49ers had the opportunity to get the Cardinals off the field on downs on the next drive, but they came up short and a Cardinals touchdown was the result. The Cardinals faced a 4th-and-3 from their own 46-yard line, which they picked up with a 5-yard completion to Greg Dortch. On the next play, running back Emari Demercado slipped through a pack of 49ers and dashed 49 yards to the end zone. A two-point conversion attempt was picked off by safety Tashaun Gipson, keeping the score at 35-22 with just under 12 minutes left in the fourth quarter.
Demercado runnin' it in for six!@Money_E3 x #ProBowlVote pic.twitter.com/LaHXHTBePL
— Arizona Cardinals (@AZCardinals) December 17, 2023
The 49ers shut the door on the next drive, a seven-play, 75-yard possession that ended with a 19-yard touchdown pass from Purdy to Samuel. The offense grinded their way deep into Cardinals' territory with runs from McCaffrey and Jordan Mason, then Purdy found Samuel near the pylon for his fourth touchdown pass of the day.
Tacking on some insurance points at State Farm Stadium!@19problemz @brockpurdy13 #ProBowlVote pic.twitter.com/YPulayTnFN
— San Francisco 49ers (@49ers) December 17, 2023
Ward got his hands on another interception on the next possession, picking off Murray at the 49ers' 40-yard line and returning the ball 13 yards to the Cardinals' 47-yard line. With Darnold back in the game, the 49ers moved into field goal range and tacked on three more points on a 43-yard attempt from kicker Jake Moody.
So nice he did it twice.@itslilmooney #ProBowlVote #SFvsAZ on CBS pic.twitter.com/mFAlQXOEtI
— San Francisco 49ers (@49ers) December 17, 2023
The Cardinals tacked on a late touchdown on an 8-yard pass from Murray to tight end Elijah Higgins, capping a 12-play, 75-yard drive with less than a minute to play. The 49ers recovered an onsides kick attempt following the touchdown and ran out the remainder of the clock to seal the win.
The 49ers moved to 11-3 with the win, while the Cardinals moved to 3-11 with the loss.
Game Notes: The victory gives the 49ers a four-game winning streak over the Cardinals, with an overall edge of 36-29 in the series... The 49ers were 12-point favorites heading into the game... With his third touchdown of the game, McCaffrey tied an NFL record for most touchdowns against one team in a single season, also held by running backs Lydell Mitchell (vs. Bills, 1975), Marshall Faulk (vs. 49ers, 2000), LaDanian Tomlinson (vs. Broncos, 2006), and Jamaal Charles (vs. Raiders, 2013)... Moody's field goal set a new record for most points (107) in a single season by a 49ers rookie, passing a mark held since 1994 by kicker Doug Brien (105)... The 49ers will be back in action at home next Monday in a Christmas night showdown against the Baltimore Ravens (8:15 p.m. ET/5:15 p.m. PT, ABC), who entered this weekend with a 10-3 record and the No. 1 overall seed in the AFC. The Cardinals will take to the road next week for a late Sunday afternoon kickoff against the Chicago Bears (4:25 p.m. ET, FOX).
SF | Team Stats | ARI |
262 | Passing Yards | 202 |
144 | Rushing Yards | 234 |
406 | Total Yards | 436 |
9.36 | Avg Yards per Pass | 5.41 |
5.54 | Avg Yards per Run | 7.8 |
Fumbles Lost | 0 | |
0 | Int Thrown | 2 |
0 | Sacks Allowed | 3 |
00:25:49 | Time of Pos | 00:34:11 |
1 | Penalties | 4 |
49ers Player Stats | ||||
Passing | Cmp/Att | Yds | TDs | INTs |
Brock Purdy | 16/25 | 242 | 4 | 0 |
Sam Darnold | 2/3 | 20 | 0 | 0 |
Rushing | Att | Yds | Avg | TDs |
Christian McCaffrey | 18 | 115 | 6.4 | 1 |
Jordan Mason | 5 | 20 | 4 | 0 |
Deebo Samuel | 1 | 11 | 11 | 0 |
Sam Darnold | 2 | -2 | -1 | 0 |
Receiving | Rec | Tgt | Yds | TDs |
Christian McCaffrey | 5 | 5 | 72 | 2 |
George Kittle | 2 | 4 | 54 | 0 |
Deebo Samuel | 4 | 7 | 48 | 2 |
Brandon Aiyuk | 3 | 5 | 37 | 0 |
Kyle Juszczyk | 2 | 2 | 26 | 0 |
Jauan Jennings | 2 | 2 | 25 | 0 |
Ronnie Bell | 0 | 1 | 0 | 0 |
Kicking | FG | Att | Lg | XP |
Jake Moody | 1 | 1 | 43 | 6 |
Punting | No | Avg | I20 | Lg |
Mitch Wishnowsky | 2 | 48 | 1 | 56 |
Punt Returns | Att | Avg | TDs | Lg |
Ronnie Bell | 1 | 4 | 0 | 4 |
Defense | T-A | Sck | INTs | FF |
Deommodore Lenoir | 9-1 | 0 | 0 | 0 |
Fred Warner | 9-1 | 0.5 | 0 | 1 |
Dre Greenlaw | 8-1 | 0 | 0 | 0 |
Ji'Ayir Brown | 6-1 | 0 | 0 | 0 |
Kevin Givens | 4-0 | 0 | 0 | 0 |
Tashaun Gipson | 3-1 | 0 | 0 | 0 |
Ambry Thomas | 3-1 | 0 | 0 | 0 |
Charvarius Ward | 3-1 | 0 | 2 | 0 |
T.Y. McGill | 2-1 | 0 | 0 | 1 |
Chase Young | 2-1 | 0.5 | 0 | 0 |
Javon Kinlaw | 2-1 | 1 | 0 | 0 |
Isaiah Oliver | 2-0 | 0 | 0 | 0 |
Logan Ryan | 1-0 | 0 | 0 | 0 |
Randy Gregory | 1-0 | 0 | 0 | 0 |
Clelin Ferrell | 1-0 | 0 | 0 | 0 |
Samuel Womack | 1-0 | 0 | 0 | 0 |
Darrell Luter | 1-0 | 0 | 0 | 0 |
Dee Winters | 1-0 | 0 | 0 | 0 |
Nick Bosa | 1-0 | 1 | 0 | 1 |
Cardinals Player Stats | ||||
Passing | Cmp/Att | Yds | TDs | INTs |
Kyler Murray | 26/39 | 211 | 1 | 2 |
Rushing | Att | Yds | Avg | TDs |
James Conner | 14 | 86 | 6.1 | 1 |
Emari Demercado | 4 | 64 | 16 | 1 |
Kyler Murray | 6 | 49 | 8.2 | 0 |
Michael Carter | 3 | 27 | 9 | 0 |
Greg Dortch | 1 | 5 | 5 | 0 |
Rondale Moore | 1 | 3 | 3 | 0 |
Clayton Tune | 1 | 0 | 0 | 0 |
Receiving | Rec | Tgt | Yds | TDs |
Trey McBride | 10 | 11 | 102 | 0 |
Elijah Higgins | 4 | 4 | 44 | 1 |
Geoff Swaim | 1 | 1 | 26 | 0 |
Greg Dortch | 2 | 3 | 15 | 0 |
Michael Carter | 3 | 3 | 10 | 0 |
Emari Demercado | 1 | 3 | 6 | 0 |
Rondale Moore | 2 | 3 | 5 | 0 |
James Conner | 3 | 3 | 3 | 0 |
Michael Wilson | 0 | 3 | 0 | 0 |
Zach Pascal | 0 | 4 | 0 | 0 |
Fumbles | Fum | Lost | ||
Kyler Murray | 2 | 0 | ||
Rondale Moore | 1 | 0 | ||
Trey McBride | 1 | 0 | ||
Clayton Tune | 1 | 0 | ||
Kicking | FG | Att | Lg | XP |
Matt Prater | 3 | 3 | 58 | 2 |
Punting | No | Avg | I20 | Lg |
Blake Gillikin | 2 | 54 | 1 | 62 |
Defense | T-A | Sck | INTs | FF |
Jalen Thompson | 6-1 | 0 | 0 | 0 |
Roy Lopez | 5-4 | 0 | 0 | 0 |
Josh Woods | 5-3 | 0 | 0 | 0 |
Budda Baker | 5-2 | 0 | 0 | 0 |
Garrett Williams | 5-1 | 0 | 0 | 0 |
Starling Thomas | 5-0 | 0 | 0 | 0 |
Zaven Collins | 4-3 | 0 | 0 | 0 |
Jonathan Ledbetter | 3-3 | 0 | 0 | 0 |
Dante Stills | 3-1 | 0 | 0 | 0 |
Antonio Hamilton | 2-2 | 0 | 0 | 0 |
Dennis Gardeck | 2-1 | 0 | 0 | 0 |
Krys Barnes | 1-1 | 0 | 0 | 0 |
Naquan Jones | 1-1 | 0 | 0 | 0 |
Victor Dimukeje | 1-1 | 0 | 0 | 0 |
BJ Ojulari | 1-1 | 0 | 0 | 0 |
Andre Chachere | 1-0 | 0 | 0 | 0 |
Kevin Strong | 1-0 | 0 | 0 | 0 |
Jesse Luketa | 1-0 | 0 | 0 | 0 |