SANTA CLARA, Calif. (AP) — Drew Stanton threw two touchdown passes to Larry Fitzgerald in his first start in two years, David Johnson ran for two scores and the Arizona Cardinals capitalized on San Francisco mistakes to beat the 49ers 33-21 Thursday night.

The Cardinals (2-3) got 17 points off three turnovers by the 49ers (1-4) — two interceptions by Blaine Gabbert and a fumbled kickoff return by Chris Davis — and also had one drive extended by a running-into-the-kicker penalty.

Those three scoring drives totaled just 41 yards, but proved to be enough to beat the sloppy 49ers as the Cardinals survived a week without injured starting quarterback Carson Palmer .

Stanton didn't produce much with Palmer sidelined by a concussion, going 11 for 27 for 124 yards. But Arizona didn't turn the ball over and got 157 yards rushing from Johnson to get the win.

Calais Campbell's interception of a deflected pass set up Arizona's first score on a 21-yard pass from Stanton to Fitzgerald late in the second quarter. Davis' fumble of the second-half kickoff then set up Johnson's 4-yard run that put Arizona up for good.

More From 1460 ESPN