The Cardinals rallied from an early 10-0 deficit, and they trailed the 49ers 20-17 in the fourth quarter.
They won 24-20, beating the defending NFC champions in Santa Clara.
Murray also led the team in rushing. He was over 100 yards until kneel downs at the end of the game took him to 91 yards on 13 carries. Murray scored on a 22-yard run in the fourth quarter to give the Cardinals their first lead with 10:26 left.
But the 49ers, with a depleted receiving corps and a gimpy tight end George Kittle, came up 16 yards short. Garoppolo’s final two passes on third-and-five and fourth-and-five intended for Trent Taylor fell incomplete. The final incompletion came with 33 seconds remaining.
The Cardinals outgained the 49ers 404 to 366.