Running back David Johnson couldn't find much running room, so the Cardinals went to the air
It took exactly one rushing attempt for David Johnson to realize the 49ers' historically-porous run defense had no plans to roll over in the Cardinals' 23-20 win on Sunday.
The Cardinals running back was expected to cut through their front like a hot knife through butter, but a San Francisco defense which had allowed a 100-yard rusher in seven straight games made it a top priority to keep him in check.
"They were screaming at each other, "We can't let them run the ball!'" said Johnson, who finished with 19 carries for 55 yards and a touchdown.
The 49ers did an impressive job of holding stout throughout the afternoon, but it came at a cost. The thin back end then had to deal with a flood of Cardinals receivers who had room to maneuver, and the aerial attack had a fine showing.
Quarterback Carson Palmer was 30-of-49 for 376 yards with a touchdown and two interceptions. Wide receiver Larry Fitzgerald had 12 catches for 133 yards and Michael Floyd added five catches for 101, including a crucial 26-yard grab on the game-winning drive.
The Cardinals' passing game was dynamic a season ago but mostly missing in the first part of the season, so it was a welcome sight for coach Bruce Arians.
"We felt like we could get them," Arians said. "We felt like we had good matchups."
Floyd had been demoted to a backup wide receiver after a shaky first half of the season, but Palmer was adamant this week that one of his favorite targets would bounce back. Floyd did so in a big way, coming down with a pair of spectacular catches and avoiding any of the drops that plagued him earlier.
Floyd said he had never gone through a stretch where he struggled this much before.
"I had to regroup," Floyd said. "Mentally, I had to tell myself that this is like playing in the sixth grade, going out there and making plays."
Johnson entered the game as one of the NFL's leading rushers, but outside of an impressive 18-yard touchdown run to the left edge in the first quarter, he wasn't the game-wrecker he had been in previous weeks. Fitzgerald said that's the nature of the league as opponents try to take away a team's top weapon.
Floyd and Fitzgerald picked up the slack, while J.J. Nelson was up and down. He caught two passes for 29 yards and drew a big pass interference penalty, but fumbled in the first quarter and let a catchable pass bounce off him and into the hands of 49ers safety Eric Reid in the third.
"I should have caught that with my hands," Nelson said. "That was my mistake."
Palmer threw a bad interception late which allowed the 49ers to go on a drive which tied the game, and he also was strip-sacked in the red zone when he should have thrown the ball away. While those miscues were glaring, the rhythm the passing game found brings optimism.
The Cardinals defense has been good all season and the rushing attack has carried the offense for stretches. A year ago it would have been unthinkable to let the Cardinals pass at will, but this is a new season and the 49ers tried the strategy.
It almost worked, as the offense only mustered three points after intermission, but the Cardinals got enough from their passing game to overcome four turnovers and a lackluster running game.
"That's the chess game between coordinators and obviously between offense and defense," Palmer said. "They did a good job today and played really stout up front. We made plays when we needed to."