1st | 2nd | 3rd | 4th | Tot | |
SF | 3 | 14 | 7 | 0 | 24 |
ARI | 3 | 17 | 6 | 21 | 47 |
The 2024 season came to a fitting end for the San Francisco 49ers on Sunday, based on how things went for the team over the last several weeks.
Playing without quarterback Brock Purdy and a number of other players due to injury, the short-handed 49ers stayed competitive with the Arizona Cardinals at State Farm Stadium in Glendale for a time but were ultimately undone in the end by turnovers, penalties, a missed field goal, and a leaky defense on route to a 47-24 loss.
Cardinals quarterback Kyler Murray finished with 242 yards on 25-of-35 passing while tying a career high with four touchdowns. Joshua Dobbs drew the start for the 49ers at quarterback in place of Purdy and finished with 326 yards on 29-of-43 passing with two touchdowns and two interceptions. Running back Patrick Taylor finished with 17 carries for 109 yards for the 49ers.
First Half
The opening drive of the game was a costly one for the 49ers, who got on the board with a field goal to take a 3-0 lead but saw rookie running back Isaac Guerendo carted off the field due to a knee/ankle injury. A 30-yard completion to wide receiver Ricky Pearsall on the second play of the drive moved the ball into Cardinals territory, but the drive stalled from there due in part to Guerendo's injury. Kicker Jake Moody connected on a 51-yard field goal to finish the drive for the 49ers.
After forcing a Cardinals punt on the following possession, the 49ers took over at their own 8-yard line and put together a 12-play, 63-yard drive that ended in another field goal attempt for Moody. Multiple completions to tight end George Kittle and wide receiver Jauan Jennings helped move the ball to the Cardinals' 25-yard line before the 49ers moved 12 yards in the other direction after a first-down sack from linebacker Julian Okwara. The setback eventually led to a 47-yard field goal attempt, but this time Moody's kick sailed wide right to leave the 49ers empty-handed and keep the score at 3-0.
The 49ers seemed to have the Cardinals stopped for another punt on the next drive, but the Cardinals reached into their bag of tricks to keep their drive alive with a fake punt that eventually set up a game-tying field goal. Running back DeeJay Dallas took the snap on the punt and ran 22 yards into 49ers territory for a first down, then the 49ers held on defense from there to force a 51-yard field goal from Chad Ryland to tie the game at three as time wound down in the first quarter.
FAKE PUNT!!! @AZCardinals
📺: #SFvsAZ on FOX
— NFL (@NFL) January 5, 2025
📱: https://t.co/waVpO909ge pic.twitter.com/LBr5UGm9Dp
An interception from cornerback Sean Murphy-Bunting put the Cardinals right back in business on the next possession, setting them up with a short field at the 49ers' 45-yard line. Seven plays later, the Cardinals cashed in with a touchdown pass to wide receiver Greg Dortch to take a 10-3 lead. The Cardinals faced a 3rd-and-8 from the 23-yard line on the play, but Dortch turned a short pass from Murray into a big play by weaving through the 49ers' defense to finish the drive.
Greg Dortch jukes and turns on the wheels for an @AZCardinals TD! 💨
📺: #SFvsAZ on FOX
— NFL (@NFL) January 5, 2025
📱: https://t.co/waVpO909ge pic.twitter.com/5E0Zgulnoi
The 49ers got downfield in a hurry on the next possession due to a 29-run from running back Patrick Taylor, an 11-yard catch from tight end Eric Saubert, and a 10-yard grab from Jennings. But things slowed to a halt for a few minutes after that as Jennings got caught up in back-to-back fights with Cardinals defensive backs, the second of which got Jennings and Murphy-Bunting ejected from the game.
— 🤙🤙🤙 (@burnacity2025) January 5, 2025
After a long pause to sort out the aftermath of the fights, the 49ers took over at their own 2-yard line with a 2nd-and-Goal. Taylor was ruled just short of the end zone on a second-down run, then Dobbs ran into the end zone to finish the drive and tie the game at 10-10.
Josh Dobbs is in for 6??! @49ers tie it up in Arizona
📺: #SFvsAZ on FOX
— NFL (@NFL) January 5, 2025
📱: https://t.co/waVpO8ZBqG pic.twitter.com/54fO5DSQbd
The Cardinals responded with an eight-play, 70-yard drive that ended with a 2-yard touchdown pass from Murray to tight end Trey McBride to open up a 17-10 lead. McBride featured heavily on the drive with catches for 29 yards and 12 yards, then after Murray set up a 1st-and-Goal with a 7-yard run on a 3rd-and-3, the two connected in the end zone with just under two minutes left in the half.
That turned out to be plenty of time for the 49ers to tie the game. Dobbs led the 49ers to a 10-play, 70-yard drive on the following possession, which started out with a 12-yard run from Taylor and completions to wide receiver Chris Conley and Saubert to get the ball across midfield. A 21-yard completion to Conley moved the 49ers into the red zone, then after a 14-yard completion to wide receiver Jacob Cowing moved the ball to the 6-yard line, Dobbs found Pearsall for a touchdown to tie the game at 17 with 16 seconds on the clock.
Ricky Pearsall with the TD in his home state! All tied up before the half 🔥
📺: #SFvsAZ on FOX
— NFL (@NFL) January 5, 2025
📱: https://t.co/waVpO909ge pic.twitter.com/gdej8qTsxV
The scoring wasn't done, despite the 49ers using up almost all the remaining time in the half. The Cardinals started their next possession at their own 30, then Murray found wide receiver Zay Jones for a 25-yard gain to move the ball across midfield on the drive's first play. After a 9-yard completion to Dortch and a 5-yard gain from running back Michael Carter, Ryland connected as time expired from 49 yards to give the Cardinals a 20-17 lead at the break.
The 49ers finished the half with 270 total yards, safely surpassing the Cardinals' 195 yards. Dobbs threw for 191 yards on 18-of-26 passing in the first half, but the interception proved particularly costly. Murray completed 14-of-21 passes in the first half for 141 yards and two touchdowns.
Second Half
The teams traded three-and-outs to start the half, then exchanged touchdown drives, starting with a six-play, 49-yard scoring drive for the Cardinals. A completion to wide receiver Marvin Harrison Jr moved the ball to the 49ers' 35-yard line to start the drive, then after eventually moving into a 1st-and-Goal at the 2, Murray found Dortch for his second touchdown of the game and a 26-17 lead. A penalty on the point after attempt led the Cardinals to try a two-point conversion, which fell short to keep the Cardinals' advantage at nine.
Dortch again! His 2nd TD of the day 🙌
📺: #SFvsAZ on FOX
— NFL (@NFL) January 5, 2025
📱: https://t.co/waVpO8ZBqG pic.twitter.com/wBDRWw9Uxm
The 49ers answered with a seven-play, 70-yard drive that ended with a rare touchdown pass to fullback Kyle Juszczyk. Completions of 16 yards to Cowing and 11 yards to wide receiver Trent Taylor helped move the 49ers downfield, then Dobbs found Juszczyk wide open from 36 yards out to cut the Cardinals' lead to 26-24.
JUICE! Dobbs finds @JuiceCheck44 wide open to make this one close 👀
📺: #SFvsAZ on FOX
— NFL (@NFL) January 5, 2025
📱: https://t.co/waVpO909ge pic.twitter.com/ZmXTqFCNjI
The Cardinals responded with a 70-yard drive of their own, this one spanning 10 plays and taking the game into the early fourth quarter. Completions of 20 yards to Harrison and 14 yards to McBride highlighted the drive, then Carder ran in from four yards out to give the Cardinals a 33-24 lead.
Michael Carter sprints in for the TD, then launches himself as part of the celly 😂 @AZCardinals
📺: #SFvsAZ on FOX
— NFL (@NFL) January 5, 2025
📱: https://t.co/waVpO909ge pic.twitter.com/RXXhALxTZh
The offense kept coming for the 49ers on the next drive, but unfortunately so did the turnovers. The 49ers moved 55 yards in nine plays on the drive before facing a 2nd-and-12 at the Cardinals' 22-yard line with nine minutes remaining. Dobbs then fumbled the ball back to the Cardinals, who took possession at their own 27-yard line.
A three-and-out followed the fumble, but bad luck continued to follow for the 49ers. On the third play of their next possession, the 49ers committed their third turnover when cornerback Kei'Trel Clark made an acrobatic diving catch of a pass that bounced off the hands of Pearsall for an interception.
The Cardinals took over at the 49ers' 39-yard line with 6:38 remaining in the game. After a short run from Carter to start the possession, the Cardinals moved to the 12-yard line after a pass interference penalty on cornerback Rock Ya-Sin. On the next play, Murray connected with Harrison for his fourth touchdown pass of the game and a 40-24 lead.
MARV! Kyler puts it in the bucket to extend the @AZCardinals lead
📺: #SFvsAZ on FOX
— NFL (@NFL) January 6, 2025
📱: https://t.co/waVpO909ge pic.twitter.com/X8SWZEDNBj
The 49ers turned the ball over on downs on their next possession, then the Cardinals put the final nail in the coffin with a touchdown run by running back Tony Jones Jr., which opened up a 47-24 lead. With less than two minutes remaining in the game, Jones took off from 46 yards out to seal the deal for the Cardinals and add insult to injury for the 49ers.
Why not one more?! @AZCardinals cooking on offense
📺: #SFvsAZ on FOX
— NFL (@NFL) January 6, 2025
📱: https://t.co/waVpO909ge pic.twitter.com/VvktXjfQse
The 49ers ran out the clock on their final possession to mercifully bring the game and their season to a close. The Cardinals moved to 8-9 with the win, while the 49ers finished their season at 6-11 with the loss.
Game Notes: The Cardinals were 4.5-point favorites coming into the game... Jennings' ejection came as he was 25 yards shy of getting 1,000 receiving yards for the season... The 49ers finished out of the playoffs for the first time since 2020, which like 2024 was a season derailed by numerous injuries... Safeties Talanoa Hufanga (concussion) and Malik Mustapha (knee) joined Guerendo as players to leave the game early due to injury... The win gave the Cardinals their first season sweep over the 49ers since 2021. The 49ers now lead the overall series 36-31.
SF | Team Stats | ARI |
298 | Passing Yards | 242 |
138 | Rushing Yards | 151 |
436 | Total Yards | 393 |
7.58 | Avg Yards per Pass | 6.91 |
4.93 | Avg Yards per Run | 5.59 |
1 | Fumbles Lost | 0 |
2 | Int Thrown | 0 |
2 | Sacks Allowed | 0 |
00:31:51 | Time of Pos | 00:28:09 |
13 | Penalties | 1 |
49ers Player Stats | ||||
Passing | Cmp/Att | Yds | TDs | INTs |
Joshua Dobbs | 29/43 | 326 | 2 | 2 |
Rushing | Att | Yds | Avg | TDs |
Patrick Taylor | 17 | 109 | 6.4 | 0 |
Joshua Dobbs | 8 | 17 | 2.1 | 1 |
Jacob Cowing | 1 | 7 | 7 | 0 |
Isaac Guerendo | 2 | 5 | 2.5 | 0 |
Receiving | Rec | Tgt | Yds | TDs |
Ricky Pearsall | 6 | 8 | 69 | 1 |
Chris Conley | 4 | 4 | 59 | 0 |
Jauan Jennings | 7 | 10 | 52 | 0 |
Kyle Juszczyk | 2 | 3 | 49 | 1 |
Jacob Cowing | 2 | 2 | 30 | 0 |
George Kittle | 2 | 3 | 27 | 0 |
Eric Saubert | 4 | 5 | 17 | 0 |
Patrick Taylor | 1 | 4 | 12 | 0 |
Trent Taylor | 1 | 1 | 11 | 0 |
Brayden Willis | 0 | 2 | 0 | 0 |
Fumbles | Fum | Lost | ||
Joshua Dobbs | 2 | 1 | ||
Eric Saubert | 1 | 0 | ||
Kicking | FG | Att | Lg | XP |
Jake Moody | 1 | 2 | 51 | 3 |
Punting | No | Avg | I20 | Lg |
Pat O'Donnell | 2 | 38 | 1 | 50 |
Punt Returns | Att | Avg | TDs | Lg |
Jacob Cowing | 1 | 15 | 0 | 15 |
Defense | T-A | Sck | INTs | FF |
Fred Warner | 8-3 | 0 | 0 | 0 |
Dee Winters | 6-3 | 0 | 0 | 0 |
Nick McCloud | 5-3 | 0 | 0 | 0 |
Ji'Ayir Brown | 5-3 | 0 | 0 | 0 |
Talanoa Hufanga | 5-1 | 0 | 0 | 0 |
Sam Okuayinonu | 4-2 | 0 | 0 | 0 |
Tatum Bethune | 3-3 | 0 | 0 | 0 |
Leonard Floyd | 3-1 | 0 | 0 | 0 |
Renardo Green | 3-1 | 0 | 0 | 0 |
Tashaun Gipson | 3-0 | 0 | 0 | 0 |
Charvarius Ward | 3-0 | 0 | 0 | 0 |
Jordan Elliott | 2-2 | 0 | 0 | 0 |
Kalia Davis | 2-1 | 0 | 0 | 0 |
Evan Anderson | 2-0 | 0 | 0 | 0 |
Maliek Collins | 1-1 | 0 | 0 | 0 |
Isaac Yiadom | 1-0 | 0 | 0 | 0 |
Rock Ya-Sin | 1-0 | 0 | 0 | 0 |
Jalen Graham | 1-0 | 0 | 0 | 0 |
Malik Mustapha | 1-0 | 0 | 0 | 0 |
Cardinals Player Stats | ||||
Passing | Cmp/Att | Yds | TDs | INTs |
Kyler Murray | 25/35 | 242 | 4 | 0 |
Rushing | Att | Yds | Avg | TDs |
Tony Jones | 4 | 55 | 13.8 | 1 |
Michael Carter | 17 | 43 | 2.5 | 1 |
DeeJay Dallas | 1 | 22 | 22 | 0 |
Kyler Murray | 3 | 22 | 7.3 | 0 |
Greg Dortch | 1 | 7 | 7 | 0 |
Clayton Tune | 1 | 2 | 2 | 0 |
Receiving | Rec | Tgt | Yds | TDs |
Trey McBride | 7 | 11 | 65 | 1 |
Marvin Harrison | 5 | 6 | 63 | 1 |
Greg Dortch | 4 | 4 | 47 | 2 |
Zay Jones | 4 | 5 | 46 | 0 |
Michael Carter | 4 | 4 | 16 | 0 |
DeeJay Dallas | 1 | 1 | 5 | 0 |
Xavier Weaver | 0 | 1 | 0 | 0 |
Fumbles | Fum | Lost | ||
Greg Dortch | 1 | 0 | ||
Kicking | FG | Att | Lg | XP |
Chad Ryland | 2 | 2 | 51 | 5 |
Punting | No | Avg | I20 | Lg |
Michael Palardy | 4 | 41.3 | 1 | 48 |
Punt Returns | Att | Avg | TDs | Lg |
Greg Dortch | 2 | 12 | 0 | 17 |
Defense | T-A | Sck | INTs | FF |
Budda Baker | 9-5 | 0 | 0 | 1 |
Kei'Trel Clark | 5-3 | 0 | 1 | 0 |
Garrett Williams | 5-1 | 0 | 0 | 0 |
Starling Thomas | 4-3 | 0 | 0 | 0 |
Dadrion Taylor-Demerson | 4-2 | 0 | 0 | 1 |
Dante Stills | 3-1 | 0 | 0 | 0 |
Max Melton | 3-1 | 0 | 0 | 0 |
Darius Robinson | 3-1 | 0 | 0 | 0 |
Julian Okwara | 3-1 | 1 | 0 | 0 |
Zaven Collins | 3-0 | 1 | 0 | 1 |
Mack Wilson | 2-2 | 0 | 0 | 0 |
Naquan Jones | 2-1 | 0 | 0 | 0 |
Baron Browning | 2-0 | 0 | 0 | 0 |
Kyzir White | 10-5 | 0 | 0 | 0 |
Jalen Thompson | 10-5 | 0 | 0 | 0 |
Krys Barnes | 1-1 | 0 | 0 | 0 |
Roy Lopez | 1-1 | 0 | 0 | 0 |
Khyiris Tonga | 1-1 | 0 | 0 | 0 |
L.J. Collier | 1-0 | 0 | 0 | 0 |
Xavier Thomas | 1-0 | 0 | 0 | 0 |
Sean Murphy-Bunting | 1-0 | 0 | 1 | 0 |