Cardinals 27, Falcons 13: Rookie Andre Ellington rushed for a career-high 154 yards and a touchdown and Carson Palmer threw a pair of touchdown passes as host Arizona snapped a two-game skid.
The Cardinals (4-4) were dominant defensively, holding Atlanta to 292 total yards and sacking Matt Ryan four times. Ryan was 34-of-61 for 301 yards with a touchdown and four interceptions and the Falcons (2-5) managed only 27 yards on 14 rushing attempts.
Palmer was efficient, completing 13-of-18 for 172 yards with an interception to go with the two TDs. Larry Fitzgerald caught four passes for 48 yards and a score and Michael Floyd also had a touchdown grab.
Atlanta moved the ball early but had to settle for a pair of Matt Bryant field goals sandwiched around Fitzgerald's 10-yard touchdown catch. Ellington went 80 yards on the first play from scrimmage following Bryant's second field goal to make it 14-6, and Palmer and Floyd hooked up for a 15-yard score with 1:55 left in the half.
The Falcons' first three possessions after the break ended with interceptions while the Cardinals tacked on a pair of field goals by Jay Feely before Ryan hit Drew Davis for a late touchdown pass. Steven Jackson returned for Atlanta after missing four games with a hamstring injury, but he was limited to six yards on 11 carries.
GAME NOTEBOOK: Fitzgerald became the youngest player in NFL history to reach 800 receptions. … Falcons TE Tony Gonzalez had three receptions for 26 yards and has caught a pass in 202 consecutive games, the second-longest streak in NFL history. … Ryan had his streak of games with at least two touchdown passes snapped at six.