DETROIT – Kyler Murray had nowhere to run and his passes often missed the mark.
The Cardinals (10-4) started the day tied for the NFL's best record, undefeated on the road and a win away from ending a six-year postseason drought.
Meanwhile, the Lions (2-11-1) were at the bottom of the league standings before the first snap and somehow looked as if they were the team that had more at stake.
“They were hungrier than us,” Murray said. “They played harder than us.”
Arizona, coming off a loss on Monday night to the NFC West-rival Los Angeles Rams, missed its chance to get in the playoffs for the first time since 2015 with a win over a team it was favored to beat by nearly two touchdowns.
“We didn't come prepared at all and it showed," Murray said.
The Cardinals can still earn a postseason berth during Week 15, but they'll need some other playoff contenders to lose or tie.
In any scenario, Murray will have to play better.
The third-year quarterback was 23 of 41 for 257 yards with a touchdown and an interception, adding up to a 72.9 passer rating. The third-year pro has had a slightly lower rating twice this season, and the Cardinals lost both games to the Rams and Green Bay.
Murray couldn't get away from the scrappy Lions when he tried to run, finishing with 3 yards rushing on four carries, against a scheme set up by defensive coordinator Aaron Glenn.
“We played aggressively against him and we hit him, and I think you saw the result of that," coach Dan Campbell said. “We needed to hit him and bottle him up, and AG put together a great game plan."
By the time Murray threw a touchdown pass, there was 4:40 left in the game and Arizona trailed by 15 points.
Detroit kicked a field goal on the ensuing drive, essentially sealing the win, and coach Kliff Kingsbury took Murray out and put backup Colt McCoy in the game.
In one of the many surprises at Ford Field, Jared Goff was the best quarterback on the turf. Goff completed 21 of 26 passes for 216 yards with three touchdowns.
Detroit's Craig Reynolds ran for a career-high 112 yards and rookie receiver Amon-Ra St. Brown had a touchdown and 90 yards receiving, setting a season high for the second straight week.
“You know the game we’ve talked about playing all season? This was that game," Goff said. “This is what we knew we could do.”
The Cardinals took their own wide-body jet, complete with 28 lie-down seats, to the game and might’ve gotten too comfortable on the way to the Motor City.
“They had a better sense of urgency from the start,” Kingsbury lamented.
Detroit opened the game with a 15-play, 63-yard drive that took 8:50 off the clock and ended with a field goal.
The Cardinals, who gained 17 yards on their first three possessions, finally started moving the ball late in the second quarter only to have the drive end at the Lions 3 when Murray's pass fell incomplete on fourth down.
Early in the third, Arizona settled for a field goal instead of going for it on fourth-and-3 at the Lions 11.
Detroit picked up a pair of first downs on the ensuing drive to get into Arizona territory before running back Godwin Igwebuike lost a fumble for the second straight week.
Two snaps later, cornerback Amani Oruwariye fully extended to pick off a pass Murray threw to the outside toward A.J. Green, who didn't come back to the ball, and returned it 50 yards. On the next play, Goff threw a 6-yard touchdown pass to Jason Cabinda to put the Lions ahead 24-3 and Arizona never put up much of a fight to come back.
Since starting 7-0, the Cardinals have lost four of their past seven games.
“We can’t let this thing spiral," tight end Zach Ertz said. “Momentum is real in the NFL, good and bad."
Cardinals: WR DeAndre Hopkins (knee) went on injured reserve Saturday, and RB Chase Edmonds (ankle) was activated for the first time in more than a month. DE Jordan Phillips (knee) and WR Rondale Moore (ankle) were hurt against Detroit.
Lions: RB D'Andre Swift (shoulder) was inactive for a third straight game and G Jonah Jackson (back) was not cleared to play. LBs Alex Anzalone (shoulder) and LB Josh Woods (shoulder) were hurt during the game.
Cardinals: host Indianapolis on Saturday.
Lions: play at Atlanta on Sunday.
Follow Larry Lage at https://twitter.com/larrylage
More AP NFL coverage: https://apnews.com/hub/nfl and https://twitter.com/AP_NFL