Murray connected on 14 passes to newcomer DeAndre Hopkins, including the throw that set up Kenyan Drake's go-ahead 1-yard score with 5:03 to play that led the Cardinals over the San Francisco 49ers 24-20 on Sunday.
Murray threw for 230 yards and a touchdown and ran for 91 yards and another score to help the Cardinals overcome a pair of fourth-quarter deficits to beat the defending NFC champion 49ers in a smoky opener at an empty stadium.
"I knew we had something special the day I walked into this building," Hopkins said. "This team works. How Kyler and this team work. I've been around a lot of great people and Kyler works like it's his last day on this Earth ... Nothing is a surprise about what happened today."
Hopkins was acquired in a trade this offseason from Houston and took little time to make an impact. His 151 yards receiving made him one of five players with at least 14 catches and 100 yards receiving in the season opener
His 33-yard pass to Hopkins got the ball down to the 1 and then Drake ran it in on the next play to give Arizona the lead.
Jimmy Garoppolo led the 49ers down to the 16 before throwing an incomplete pass to Trent Taylor on fourth-and-5 that ended the comeback attempt.
"We were in that situation plenty of times last year," Garoppolo said. "When you get in those situations, obviously it's a little different today without the crowd, that game-day feel wasn't there. It just comes down to execution. In the last minutes like that, every play is crucial, every yard is crucial. We just didn't execute."
Garoppolo threw a 5-yard TD pass to Jerick McKinnon to give San Francisco a 20-17 lead with 8:38 to play before Murray led a late comeback.
Murray had given the Cardinals the lead earlier in the fourth with a 22-yard scramble and his running ability wore down San Francisco's defense as the game went on.
"This is the most proud I've been of him to date because that's a tough defense," coach Kliff Kingsbury said. "You get those monsters coming after you for four quarters, it's not easy to sit back there and continue to hang in the pocket, continue to make plays with your feet and he just kept fighting."
Garoppolo finished 19 for 33 for 259 yards and two scores, also connecting on a 76-yarder to Raheem Mostert in the first quarter.
There had been concern all week about the status of the game because of poor air conditions from fires across Northern California. The Air Quality Index remained below the 200 threshold and the game was played as scheduled.
The 49ers stood on the goal line as a team during the playing of "Lift Every Voice and Sing." McKinnon and receiver Richie James Jr. kneeled during the national anthem. The Cardinals remained in the locker room for both.
The Niners were in control of the game early with a 10-0 lead until Ezekiel Turner broke through and blocked a punt by Mitch Wishnowsky. The Cardinals recovered at the 10 and scored on the next play on a pass from Murray to Chase Edmonds.
San Francisco got its first interception from a safety in nearly two years when Jaquiski Tartt came up with a tip from teammate Dre Greenlaw. Tartt also had the previous interception from a Niners safety on Oct. 28, 2018, against Arizona's Josh Rosen.
Niners CB Richard Sherman moved around and mostly played the wide side of the field rather than spending the day on the defensive left side. According to NFL Next Gen Stats, Sherman had 23 snaps on the right side, nearly twice as many as he had all last season. Hopkins had three catches for 22 yards on 15 plays going against Sherman, compared to 10 catches for 96 yards against Emmanuel Moseley.
Cardinals: S Jalen Thompson left the game with an ankle injury in the first half. ... C Mason Cole left in the second half with a hamstring injury.
49ers: James left in the second half with a hamstring injury, leaving San Francisco with just three healthy receivers. ... TE George Kittle played the second half despite a lower-leg injury but wasn't targeted in 30 snaps after halftime.
Cardinals: Host Washington on Sunday.
49ers: Visit New York Jets on Sunday.
More AP NFL: https://apnews.com/NFL and https://twitter.com/AP-NFL
Edmonds dives for Cardinals' TD
Kyler Murray connects with Chase Edmonds who dives for the pylon to get the Cardinals' touchdown.