clock menu more-arrow no yes mobile

Filed under:

Brock Purdy throws 4 touchdowns as the 49ers score 45 against the Cardinals

The offense was dynamic, to say the least.

San Francisco 49ers v Arizona Cardinals Photo by Christian Petersen/Getty Images

Kevin Givens got his first career start in the absence of Arik Armstead and Javon Kinlaw.

Fred Warner yelled at rookie Ji’Ayir Brown after allowing a deep 38-yard pass.

Kyler Murray scrambled for 12 yards on 2nd & 6.

James Conner broke a couple of tackles on 1st & goal to put the Cardinals inside of the 3-yard line. One play later, Conner finishes off the drive with a touchdown. The Cardinals went seven plays and 75 yards to kick the scoring off to make it 7-0.

Instantly, the feeling was that this would be a shootout. There hasn’t been a team to hold the 49ers down all season, and it wasn’t going to be the Cardinals.

The 49ers answered with a scoring drive of their own, thanks to a 13 and 26-yard run by Christian McCaffrey that also had an 11-yard reception sandwiched in between by Deebo Samuel, who would finish the drive off where he was wide open in the backfield to score and tie the game at seven.

The Cardinals found themselves at midfield in one play after a 26-yard completion down the seam. They were insistent on attacking the areas where the 49ers are vulnerable, but for you to be effective, your quarterback has to have a rocket arm.

That arm wasn’t strong enough on Murray’s ensuing pass. Charvarius Ward jumped in front of a late throw over the middle and looked like he was shot out of a cannon. Ward raced 66 yards to put the 49ers up 14-7.

Arizona put themselves in scoring position for the third consecutive drive. This time, it was a rush of 19 yards. Nick Bosa’s sack helped stall the drive, but Matt Prater’s 58-yard field goal was good. That made the score 14-10.

Brock Purdy nearly threw an interception on the first play of the following drive. McCaffrey lost two yards on second down and the drive ended before it began.

Murray and the Cardinals would find themselves in 49ers territory once again. Conner converted a 4th & 1 after Rondale Moore danced his way through the 49ers defense. Tackling was shoddy and that’s putting it politely.

Bosa forced a fumble on the drive and that ended up being the difference and the reason Arizona was forced to settle for another field goal. Prater’s kick from 43-yards out was good to cut the lead to 14-13.

The defensive tackle depth took another hit as Kalia Davis sustained an ankle injury and was questionable to return midway through the second quarter.

Christian McCaffrey was slow to get up on the next drive. Purdy took a vicious blow and stayed down on the field. Sam Darnold came into the game and chucked it across the field nearly 40 yards down the field, then missed his next throw.

Purdy returned after that. His official injury was a stinger to his non-throwing shoulder. Purdy escaped on a 3rd & 2, found Kittle, who made a nifty one-handed grab to gain 19 yards. McCaffrey caught an option route out of the backfield to give the Niners a 21-13 lead. And just like that, the 49ers were back to full strength.

The defense did their job by getting a stop. But a muffed punt by Ronnie Bell gave the Cardinals life. But the ruling was overturned as the replay showed Bell’s forearm touching the ground as a Cardinals’ defender hit him. A turnover there would have made the second half more of a sweat than Kyle Shanahan would have liked.

Instead, a 13-yard pass to McCaffrey and a 22-yard catch and run to Jauan Jennings put the 49ers in Arizona’s territory. However, because McCaffrey couldn’t get out of bounds, the offense was out of timeouts. The Cardinals used their final timeout of the half after realizing their initial plan to concede a short throw was a poor idea.

Purdy’s Hail Mary fell incomplete, and the Niners went into the half up 21-13 and would receive to begin the third quarter.

It didn’t take the Niners more than two minutes to score. Arizona blitzed on 3rd & 11, but Purdy replaced the blitzer and hit Kittle for a gain of 35 yards. On the next play, after fleeing the pocket, Purdy found McCaffrey wide open for another explosive play that was out of structure. That 41-yard touchdown gave the Niners a 28-13 lead.

After missing the previous series and trading punts, Kyler Murray returned for Arizona. Arizona would answer with a 15-yard completion followed by a 44-yard pass. The Cardinals had 1st & 5, but a fumble and two incomplete passes forced Arizona to settle for a field goal. Today was the ultimate bend but don’t break defense by the Niners.

The Cardinals had nearly 300 yards through three quarters. But they were only 2-9 on third down, plus Murray’s turnover.

The 49ers were not going to be stopped inside the red zone. Aiyuk caught a 22-yard pass. McCaffrey had consecutive runs of 18 and 11. And a 1-yard touchdown put the 49ers in front 35-16.

The Niners defense did not look sharp on their next drive. Ji’Ayir Brown and Fred Warner missed tackles on back to back plays, leading to a long touchdown run by the Cardinals. After that run, the Cardinals had 212 yards rushing. They’re averaging almost 8 yards per carry. Do Javon Hargrave and Arik Armstead really mean that much? It’s probably a bit of both.

Jordan Mason would make his mark on the next drive after McCaffrey had gains of 12 and 13. Deebo ran for 11, then Mason had 17. The Niners were imposing their will on the Cardinals.

From 2nd & 19 at the 19, Purdy threw a beautiful back-shoulder fade to Deebo for a touchdown. Samuel didn’t have to move, and it was a play that embodied the season for the Niners. They have more answers than you do. And even when you think you’re right, you’re wrong.

Mooney Ward added to his interception total on the next drive. Chase Young helped the Cardinals out after jumping offsides on 4th down, but Ward once again stepped in front of a Kyler pass. At that time, Ward had tied for the third-most receptions on the Cardinals.

For those of you who are new, Ward does not play for the Cardinals. His two plays were significant difference makers on a day where the 49ers defense struggled on a down to down basis. But turnovers can mask any deficiencies, and they did today.

The story of this game was the Niners dynamic offense. The Cardinals didn’t play poorly, but when you score at the clip that the Niners do, settling for field goals in the red zone is a death wish.

Week 15 was the most the 49ers have scored since 2019 when they put up 48 against Drew Brees and the Saints.

Mitch Wishnowsky punted twice. Six touchdowns are hard to compete against. The 49ers, in a look ahead spot against Baltimore where they could have easily came out flat, scored 20+ points in each half.