Murray was good most of the game, avoiding an interception again and throwing a pair of touchdown passes, all while rushing for 67 yards on eight carries – the same amount of rushing yards running back Kenyan Drake had on 16 carries, as the Cards did well rushing the ball.
(Running back David Johnson was active, but he did not have a touch or target in the game and did not play in the second half. Coach Kliff Kingsbury said he simply wanted to get Drake in a rhythm.)
Murray only threw for 150 yards, but the Cardinals have wide receiver Christian Kirk draw three pass interference calls on cornerback Richard Sherman down the field. Kirk also dropped a pass that would’ve gained at least 25 yards.
The Cardinals, after rookie safety Jalen Thompson made his first career interception, held the ball and a three-point lead with 4:32 left – almost the same exact time and place the 49ers had the ball, with the same lead, at the end of the matchup in Arizona.
In Arizona, the 49ers converted three third downs and eventually ran out the clock. The Cardinals ended up going three-and-out. Two runs got five yards before Murray was sacked.
“We have to keep the ball and win the game,” guard Justin Pugh said.
The 49ers took over with 2:12 left on their own 34. Decimated by injuries, particularly among their pass catchers, they still moved down behind quarterback Jimmy Garoppolo. His fourth touchdown pass of the game – equaling the number he threw against the Cardinals in Arizona – came on a dump pass to running back Jeff Wilson as linebacker Chandler Jones couldn't stay with him in coverage. Wilson raced the remainder of the 25 yards for the game-winning points.
The Cardinals had a slim chance to make something happen, but receiver KeeSean Johnson fumbled the ball after a catch, letting the 49ers drain the clock almost out, save for the last play.
“It’s the theme of our season,” Kingsbury said. “Great effort, great passion and intensity, and not making enough plays in critical moments.
“We have to find a way when we get back from this bye to finish games.”
The 49ers got a touchdown on the game’s final play when the Cardinals tried for a Hail Mary lateral touchdown. The ball hit the ground and eventually was returned for a score and the final 10-point margin.
For all the issues the defense had, they did derail a pair of sure 49ers scoring drives. One was the Thompson pick, the other came when linebacker Jordan Hicks made an interception at the Arizona 5 and ran in back into San Francisco territory, not only preventing at least a 49ers field goal but setting up Zane Gonzalez for one of his own and a 19-17 lead.
When the 49ers came back with the go-ahead touchdown and a four-point lead, Murray and Drake teamed to account for all the yards, in running or passing, on a 10-play, 78-yard drive that ended with Murray turning on the jets to run 22 yards for a touchdown.
The 49ers averaged only 1.8 yards a carry and ran for only 34 yards. But Garoppolo threw for 424 yards, using tight ends and fullbacks as well as the ravaged wide receiving corps.
“Their run was screen (passes),” safety Budda Baker said. “We have to get better.
“We have to stay together. Come back, try to have a great finish.”
Perhaps some time without a game will allow the Cardinals a collective deep breath. They needed one after Sunday.
“These are heartbreaking games,” Pugh said. “We know we’re going in the right direction. We’ve got to learn how to play big in the biggest moments.”