ARIZONA--The Arizona Cardinals played one of their more infuriatingly self-destructive first quarters on Sunday. But that changed in the second half, as they proceeded to upset the 49ers on the road 24-23 in a stunning cultural victory.
As they often do, the Cardinals got off to a hot offensive start. Kyler Murray engineered an excellent first drive, scoring on an impressive 50-yard quarterback scamper, just a week after his legs were limited to just three yards on a single carry.
But it didn't look good after that. After the 72-yard touchdown drive that took just three plays and 47 seconds, Arizona managed only three points on 134 yards, going into the half down 23-10.
Self-inflicted wounds became the calling card of the first half. A poorly-executed field goal attempt to tie the game at 13 resulted in a blocked kick returned for an easy touchdown.
A questionable screen pass and poor vision by Kyler Murray saw a threatening drive turn into a Nick Bosa interception and three more 49ers points.
Defensively, the Cardinals looked nearly unplayable in the first half. If not for offensive miscues by San Francisco, the halftime score is likely much uglier.
The 49ers ran the ball 14 times for 88 yards in the first half, averaging 6.3 yards per carry. James Conner collected just nine yards on the ground in that period - a poor sign for a run-first offense.
Brock Purdy was inaccurate to open the game, but averaged 13.8 yards per completion through two quarters, racking up a near-effortless 165 yards on 12 completions.
Easy, soft-zone coverage allowed Purdy to dink-and-dunk his way down the field with almost zero resistance, and with Brandon Aiyuk's 115 yards on 6 receptions, San Francisco appeared to be in firm control going into the half.
Second Half Adjustments
Early on, the Cardinals played poorly against a tough team. But enough with the criticisms. This game was won by a powerful statement of a second half, with adjustments on both offense and defense shining through.
Offense
Offensively, Arizona went back to their identity, and put the ball back in Conner's hands, repeatedly. After his low-production first half, Conner took 13 carries for 75 yards, including a two-point conversion. He averaged 5.7 yards per carry in the second half, bowling defenders over in his usual fashion.
That, of course, allowed the pressure to come off Kyler Murray. While his final stat line isn't the most elite, he completed nine of his 15 second-half passes, but for much fewer yards - only 64, spelling 4.2 yards per attempt.
The difference is what those throws accomplished. A pair of first-down throws to Michael Wilson, one coming on 3rd & 6; a near jump-pass off a jumbo play-fake to Elijah Higgins in the end zone to close the gap to 23-21; a back-foot fadeaway lob to Marvin Harrison Jr. with defenders in his face to keep the game alive on fourth down late.
This offense is at its best when Kyler Murray simply has to manage the game. That's not an indictment on his ability to throw the ball - it's the way modern football games are won, unless your quarterback is Patrick Mahomes or Josh Allen.
When it's less about trying to make perfect deep throws, and more about keeping a defense off-balance, it unlocks a mobile quarterback like Murray beyond expecting perfection through the air.
He wasn't perfect, nor close to it as a passer, but his 83 yards on the ground are a product of Arizona's ability to rely on Conner and make the crucial, calculated throws in clutch situations, rather than the big-time ones.
To summarize, when Murray's explosiveness comes from his legs, and not his arm, the Cardinals are in good shape.
That adjustment offensively is what allowed them to work their way down the field for the ultimate game-winner, and take pressure off Murray. Offensive coordinator Drew Petzing showed an ability to get back to this offense's identity rather than failing to adjust at the half, and that is something he'll need to do more of to continue winning games.
Defense
The defense looked like it was about to get steamrolled. 49ers players were wide open in soft zone, and their run game was going for over six yards a carry.
But what defensive coordinator Nick Rallis' unit showed was a quintisential instance of "bend, but don't break."
Generally speaking, that's not a recipe for defensive success. And to be truthful, the 49ers' offensive struggles were in great part on themselves, as well as a result of an injury to starting kicker Jake Moody. They were 1-for-4 on red zone drives in the first half.
But in the second half, Rallis and the Cardinals did manage to buckle down. Arizona held San Francisco to zero points on 135 second-half yards. Brock Purdy was held to just 79 passing yards on 12 attempts.
That said, San Francisco was still able to run the ball well, and move with relative ease. But the Cardinals' defense showed a never-quit attitude that had been lacking, and, defensively, it was the big plays in the right moments that sealed the deal.
They found ways to pressure Purdy early and often. Rallis' selective utilization of the blitz, and his ability to bring pressure from a plethora of different looks made Purdy uncomfortable throughout the second half.
Linebacker Mack Wilson had a brilliant game, as he continues to be a bright spot on a lackluster defense. Wilson had six tackles (five solo), an interception and a fumble recovery, both in crucial moments.
Wilson's interception came with 12 minutes to play in the 3rd quarter, stopping San Francisco's momentum in its tracks and setting the tone for a strong second half.
But with a two-point lead, and the 49ers sitting on Arizona's eight-yard-line, Purdy and company had a chance to put the game on ice, if not for linebacker Jesse Luketa. Luketa punched the ball out of 49ers running back Jordan Mason's hands, with the ubiquitous Wilson there to recover it.
With six minutes to play, instead of a dagger score, the 49ers had to prevent a game-winning drive. And they didn't.
After Chad Ryland's go-ahead field goal, San Francisco still had a chance, but the Cardinals' defense did what it hasn't been able to do often in the Kyler Murray era: close out the game.
After a quick strike that set the 49ers dangerously close to field goal range with just over a minute to go, Rallis brought late pressure on Purdy in the form of a safety blitz.
Jalen Thompson got there just in time to disrupt a throw, and the ball hung up long enough for Kyzir White to put an exclamation point on a brilliant upset.
The Cardinals, for what seems like the first time all season, found ways to execute and make big plays when they needed it the most. They turned a putrid first half into a dominant, 14-0 second half.
Finally, the Cardinals showed development through adversity. The coaching staff's adjustments, the generally clean play, and the execution in the biggest moments are what defined an important win at a tough division opponent.
The Cardinals are now 2-0 in the NFC West, after going 0-6 in division play in 2023. It certainly wasn't pretty throughout, but Sunday's was a game of growth and toughness.