DETROIT _ Carolina Panthers quarterback Cam Newton wasn't perfect against Detroit.
But he was close to it.
Newton threw for 300 yards for the second week in a row and added three touchdown passes to lead Carolina to a 27-24 victory Sunday in a matchup of division leaders at Ford Field.
Newton was 26 for 33 for 355 yards and a passer rating of 141.8. Newton's passer rating was a perfect 158.3 after he threw a 31-yard touchdown to Kelvin Benjamin early in the third quarter.
And he still almost couldn't overcome the Lions. Detroit quarterback Matthew Stafford threw two fourth-quarter touchdown passes to tight end Darren Fells.
The second, with 3:32 to play, pulled Detroit within three.
But Newton's clutch, 17-yard completion to Benjamin on third-and-9 allowed Carolina to run out the clock.
The Panthers (4-1) won their third road game in a row, and return home to face another division leader in Philadelphia (4-1) in a Thursday night game.
Newton picked apart a Detroit secondary that had played well early in the season. The Lions fell to 3-2.
Panthers coach Ron Rivera said there is a simple explanation for Newton's performance in the past two games.
"He's getting healthier," Rivera said. "He really hadn't had a training camp. Those first few weeks really were his training camp. We're getting timing down between him and his receivers."
Rookie back Christian McCaffrey notched his first career TD on a 6-yard shovel pass, and Detroit-area native Devin Funchess scored vs. his hometown team when Newton rocketed a 10-yard pass to him in the back of the end zone.
With a big lead, the Panthers' defense started teeing off on Stafford in the second half. Defensive tackle Kawann Short forced a fumble with a sack, while veteran edge rusher Julius Peppers recorded his 149th career sack.