Cam Newton threw for 242 yards and four touchdowns, and the Carolina Panthers spoiled Aaron Rodgers' return from a broken collarbone with a 31-24 win over the Green Bay Packers on Sunday.
Damiere Byrd had two touchdown catches, and Christian McCaffrey had 136 yards from scrimmage, including a 7-yard touchdown reception and the Panthers (10-4) won their fourth straight home game.
Greg Olsen had his most productive game since returning from a broken foot, catching nine passes for 116 yards and a TD and the Panthers kept pace with the first-place New Orleans Saints in the NFC South.
Rodgers, making his first appearance since Oct. 15, threw for 290 yards with three touchdowns but was intercepted three times as the Packers' playoff hopes took a potentially critical blow.
Green Bay (7-7) had a chance to send the game into overtime for a third straight week, but Panthers cornerback James Bradberry stripped wide receiver Geronimo Allison of the ball after a completion at the Carolina 28-yard line with 1:48 remaining. Safety Mike Adams recovered the fumble.
The Panthers trailed 14-10 at halftime, but Newton threw TD passes to Olsen and Byrd in the third quarter to give them a 24-14 lead.
Byrd's first touchdown, a 9-yard grab in the back of the end zone, came with some controversy. The play was initially ruled an incompletion, but coach Ron Rivera challenged the play and officials overturned the call ruling that Byrd's backside landed inbounds and overturned the play.
After Green Bay's field goal cut the Carolina lead to 24-17, Newton found Byrd again on a slant route to make it a two-possession game with 12:29 left in the fourth quarter.
The Panthers started bringing the pressure after that, sack Rodgers three times in the fourth quarter including a takedown by former Packer Julius Peppers on a fourth-and-14 deep in Carolina territory.
But Rodgers struck with a TD pass to Richard Rodgers and the Packers recovered the ensuing onside kick with 2:40 left.
ADAMS CONCUSSION: It didn't help that Rodgers lost his most productive receiver in the third quarter with a concussion.
Davante Adams took a helmet-to-helmet hit from Panthers linebacker Thomas Davis on an interception return by Colin Jones. As Adams was running to make the tackle on Jones, Davis appeared to launch himself at Adams with a peel-back block, immediately sending the wide receiver to the ground.
Davis was flagged for a 15-yard penalty.
Davis immediately appeared to know what he had done, cupping his head in hands as he sat on the Panthers bench. Adams had five catches for 57 yards and a touchdown against the Panthers before leaving the game.
COMING IN BUNCHES: After going 12 games without an interception, Panthers starting cornerbacks Bradberry and Daryl Worley both have interceptions in back-to-back games. Worley got Rodgers in the first half on a deep route along the left sideline, while Bradberry got one on an underthrown deep ball.
Packers: Linebacker Nick Perry left the game with an ankle injury in the third quarter and did not return.
Panthers: Wide receiver Russell Shepard left the game in the second half with a shoulder injury and did not return.
Packers: Host the Vikings on Saturday night.
Panthers: Host the Buccaneers on Sunday.