Cardinals 47, 49ers 24: Kyler Murray throws 4 TD passes in season finale blowout

The Cardinals finish the season 8-9 with a 47-24 win over the 49ers behind four TD passes from Kyler Murray.

The Arizona Cardinals and San Francisco 49ers entered the season final both struggling, Arizona having lost five of six and the Niners six of seven. After some early success from the Niners, the Cardinals pulled away and blew them out 47-24 to finish the season 8-9.

Kyler Murray threw four touchdown passes on the afternoon, including two to Greg Dortch.

The defense picked off 49ers starting quarterback Josh Dobbs twice and recovered a fumble he had.

The Cardinals swept the season series with the 49ers and went 3-3 in the division.

With the loss, the 49ers finished the season 6-11.

Trey McBride caught seven passes for 65 yards and a touchdown. Marvin Harrison Jr. had five catches for 63 yards and a score.

In garbage time, Tony Jones Jr. capped the scoring with a 46-yard touchdown run to give him 55 yards on four carries to lead the team.

Arizona finished with 393 yards of offense, 151 on the ground.

Here is how it went down.

Niners RB hurt

On the fourth play of the game, after his second carry, Isaac Guerendo got hurt and was carted off the field. He was ruled out with knee and ankle injuries.

49ers 3, Cardinals 0

The 49ers took the opening kickoff and got a 51-yard field goal from Jake Moody. It was set up by a 30-yard pass from Josh Dobbs to rookie Ricky Pearsall. Guerendo rushed twice for five yards before being carted to the locker room.

Missed FG

After the Cardinals had to punt on their first possession, the Niners failed to score as Moddy missed a 47-yard field goal wide left. They went 63 yards in 12 plays but came away with no points. Cornerback Max Melton left the game with a wrist injury, Julian Okwara had a big sack and the 49ers were penalized twice.

Fake punt!

DeeJay Dallas rushed for 22 yards on a direct snap on a fake punt on fourth down when the Cardinals had gone three-and-out.

Cardinals 3, 49ers 3

The Cardinals couldn’t get a first down after the fake punt run, but they were able to tie the game as Chad Ryland banged in a 51-yard field goal with 56 seconds left in the first half.

INT!

Sean Murphy-Bunting picked off a third-down pass intended for Jauan Jennings, continuing the Niners’ turnover problems, as they entered the game with 13 in the last seven games. It was Murphy-Bunting’s third pick of the season.

Cardinals 10, 49ers 3

The Cardinals turned the takeaway into a touchdown! Murray connected with Greg Dorth for a 23-yard touchdown pass to give them the lead. They went 45 yards in seven plays. It was Dortch’s first touchdown since Week 7 and second of the season.

49ers 10, Cardinals 10

Dobbs sneaked one yard for a touchdown to tie the game with 5:43 left in the first half. Patrick Taylor, in for Gurendo, had a 29-yard rush on the drive.

It was a messy drive as well. Receiver Jauan Jennings was flagged for unnecessary roughness on consecutive plays. He and Murphy-Bunting were ejected.

Cardinals 17, 49ers 10

With 1:51 left in the first half, Murray found McBride for a two-yard touchdown. McBride had a 29-yard catch on the drive as well, in addition to a 12-yard play in which he hurdled and stomped down safety Ji’Ayir Brown.

The hurdle/stomp:

The touchdown:

Cardinals 17, 49ers 17

The 49ers answered with a tying touchdown with 16 seconds left in the first half. Dobbs found Pearsall for a six-yard touchdown, going 70 yards in 10 plays in only 1:35.

Perfect end-of-half drive! Cardinals 20, 49ers 17

The Cardinals took the final 16 seconds of the half and added three points. Murray threw a 25-yard dart to Zay Jones. Greg Dortch had a nine-yard catch and Michael Carter’s five-yard run set up Ryland’s 49-yard field goal as time expired in the first half.

Cardinals 26, 49ers 17

The Cardinals went three-and-out to start the second half but forced a three-and-out defensively after Zaven Collins hit Dobbs and forced a fumble that lost 16 yards on the play. Dortch’s 17-yard punt return gave the Cardinals the ball in San Francisco territory and the offense needed six plays to score a touchdown. Murray threw a three-yard touchdown pass, his third of the game, to Dortch, his second score.

After the 49ers were penalized on the extra point, the Cardinals went for two from the one-yard line but Murray’s rush attempt was stopped and the lead was pushed to nine instead of 10 points.

Cardinals 26, 49ers 24

A busted coverage left fullback Kyle Juszczyk wide open for a 36-yard touchdown pass with 4:49 left in the third quarter. Dobbs escaped potential sack on third down and Taylor picked up a first down on fourth-and-one before the score.

Cardinals 33, 49ers 24

The Cardinals answered with a 10-play drive that went more than five minutes, capped by Michael Carter’s four-yard touchdown run, his first score of the season. Dortch had a fantastic 14-yard catch-and-run setting up the first-and-goal.

Turnover!

Driving near the red zone, Rabbit Taylor-Demerson striped Dobbs of the ball when he scrambled and Jalen Thompson recovered it at the Cardinals’ 27 with 8:56 left in the game.

They were unable to cash in, going three-and-out after the takeaway.

INT again!

On third down, Dobbs pass to Pearsall bounced off his hands and Kei’Trel Clark made a fantastic grab to pick off the pass and give the Cardinals the ball at the San Francisco 30. It appeared he had a pick-six but, upon review, Pearsall had touched Clark while he was on the ground.

It was Dobbs’ second interception thrown in the game and third turnover.

Marv TD! Cardinals 40, 49ers 24

Three plays after the takeaway, Murray threw his fourth touchdown pass of the game, a 12-yard throw to Marvin Harrison Jr. It was Harrison’s fifth catche of the game and the catch gave him the second-most receiving yards by a rookie in franchise history and tied him with Anquan Boldin and Larry Fitzgerald for the most rookie touchdown receptions. It was his eighth of the season.

Turnover on downs, backups in

The Cardinals forced a turnover on downs and that was enough to sit Murray for the rest of the game. Clayton Tune entered the game at quarterback and Tony Jones came in at running back.

Tony Jones Jr. TD run!

While trying to run out the clock, Jones busted free for a 46-yard touchdown run with 1:47 to go.

Get more Cardinals and NFL coverage from Cards Wire’s Jess Root and others by listening to the latest on the Rise Up, See Red podcast. Subscribe on SpotifyYouTube or Apple podcasts.