The victory moved the Cardinals one step closer to locking up the NFC West Division title and eased the memory of seven turnovers in a 24-9 loss at San Francisco last Monday night.
Warner completed 23-of-37 for 233 yards with one interception.
Rookie Beanie Wells gained 110 yards on 17 carries. Anquan Boldin and Larry Fitzgerald caught touchdown passes, while Mike Nugent kicked a 48-yard, second-quarter field goal for the Cardinals (9-5), who have split their last four games.
Detroit's Drew Stanton threw for 72 yards after replacing Daunte Culpepper at quarterback. He had one interception and ran for a score.
Maurice Morris scored once on 17 carries for 126 yards for the Lions (2-12), who have lost four in a row.