The two defensive touchdowns provided the momentum the Bears needed to break a three-game losing streak and keep their playoff hopes alive.
Jay Cutler overcame a slow start to pick up 146 aerial yards and found Brandon Marshall on a scoring pass for Chicago (9-6), which must win its final game next week against Detroit and hope for some help to make the post-season.
Matt Forte scored en route to 88 rushing yards on 12 carries but left the game in the third quarter with an injury.
Brian Hoyer threw for 105 yards and an interception on 11-of-19 efficiency after replacing an ineffective Ryan Lindley for the Cardinals (5-10).
Larry Fitzgerald picked 111 receiving yards on eight catches for Arizona.