James Conner ran for 96 yards and two scores and had five receptions for 77 yards and another touchdown, and the Arizona Cardinals beat the San Francisco 49ers 31-17 in Santa Clara, Calif., on Sunday.
Colt McCoy was 22-of-26 passing for 249 yards and a touchdown in place of the injured Kyler Murray, and Eno Benjamin ran for a TD for Arizona (8-1).
In addition to Murray being sidelined with an ankle injury, the Cardinals played without wide receivers DeAndre Hopkins (hamstring) and A.J. Green (COVID-19).
Jimmy Garoppolo was 28-for-40 passing for 326 yards, two touchdowns and an interception for the 49ers (3-5), George Kittle had six catches for 101 yards and a score, and Brandon Aiyuk had a TD catch.
The Cardinals took a 7-0 lead on Conner's 13-yard touchdown run with 6:08 left in the first quarter.
On their next possession McCoy directed an 80-yard drive, capped by another Conner TD run, this one from a yard out to make it 14-0.
The 49ers drove deep into the Cardinals' territory, but Aiyuk fumbled at the 13 and Arizona recovered. The Cardinals used 14 plays to move to the San Francisco 8 before settling for a 26-yard field goal.
The 49ers finally broke through just before the half when Garoppolo hit Kittle on a 6-yard TD pass to cut it to 17-7 at intermission.
Arizona came back on the first drive of the second half to go ahead 24-7 on Conner's 45-yard TD catch.
The Cardinals forced a San Francisco punt on the ensuing drive and then struck again on their next possession, this time on Benjamin's 21-yard TD run that made it 31-7.
The 49ers answered on their next possession, going 75 yards on six plays, finishing it with Garoppolo's 11-yard TD pass to Aiyuk with 4:56 left in the third.
Two drives later, Robbie Gould kicked a 26-yard field goal to make it a two-touchdown game with 8:23 left.
San Francisco's hope for a comeback ended when Budda Baker intercepted Garoppolo with 3:03 left to seal the win.
--Field Level Media