Carson Palmer went 13-of-18 through the air for 172 yards with a pair of TD passes and an interception for the Cardinals (4-4), who ended a two-game losing streak.
Atlanta (2-5) continued its worst start since 2007, with Ryan held to one touchdown toss on 34-of-61 efficiency for 301 yards.
Harry Douglas led all receivers, making 12 catches for 121 yards.
Martin Bashir resigns from MSNBC over Sarah Palin comments
Texas principal bans speaking Spanish, stirs controversy