Cards barely avoid a crushing loss
GLENDALE, Ariz. — Chandler Catanzaro kicked a 34-yard field goal as time expired to help the Cardinals escape.
Catanzaro missed twice on winning field goal tries earlier in the season, most memorably a 24-yarder in overtime of a 6-6 tie against the Seahawks.
But this attempt was right down the middle as Arizona narrowly averted a devastating loss.
The 49ers lost their eighth in a row despite a strong game by Colin Kaepernick, who tied it at 20 on a 4-yard run with 1:55 to play.
That was enough time for Carson Palmer to gain redemption after three second-half turnovers, the last an interception by Gerald Hodges that led to the tying touchdown.
Palmer completed 4 of 7 passes for 64 yards, including a leaping 26-yard grab by Michael Floyd, as the Cardinals drove from their 15 to the San Francisco 16 to set up the winning kick.
Against the league's No. 32-ranked rush defense, the Cardinals' David Johnson was held to 55 yards on 19 carries. Johnson, who accounted for both Arizona touchdowns, finished with 101 yards from scrimmage thanks to that late drive, his ninth straight game of at least 100 total yards.