"When we're on point like that, it's hard to stop," Johnson said.
Detroit ran for 108 yards, tied a season high with six sacks and Matt Prater made a 48-yard field goal.
"That's as complete a victory as we've had since we've been here," said Jim Caldwell, who won 11 games last season in his first year as Detroit's coach.
The Eagles (4-7) have lost three straight. They have allowed at least 45 points in two straight games in one season for the first time, according to STATS, and have lost by at least 28 points in consecutive games for the first time since 1971.
"We all take accountability," coach Chip Kelly said. "I'm a coach, not a player, so it starts with me. I'm not pointing fingers at anybody, and I don't think anybody points fingers at anybody."
Stafford threw for more than 200 yards and three touchdowns without a turnover by halftime for the second time in his career, according to STATS, to help the Lions lead 24-7. He finished 27 of 38 for 337 yards and threw five TDs for the fourth time in his career.
"Our quarterback is comfortable in this offense," Caldwell said. "And when that happens, it gives you opportunities for your playmakers to do things."
Johnson had eight catches for 93 yards and three TDs, matching his career high set in 2010.
"At the end of the first quarter, I realized we hadn't gotten 81 the ball yet, so we dialed up some plays for him," Stafford said. "We started getting aggressive, and that opened up a couple routes for him."
The quarterback seems to be clicking with plays called by offensive coordinator Jim Bob Cooter, who replaced the fired Joe Lombardi a month ago.
"I love that he's so aggressive," Stafford said. "That rubs off on the players because it is fun when he's giving you chances to make big plays."
Taking advantage of Johnson in one-on-one coverage, Stafford threw 4- and 3-yard TD passes to Johnson in the third quarter.
"We're attacking the defense, and not playing defense on offense," Johnson said.
Stafford started the scoring barrage with an 8-yard pass to Theo Riddick, who made a sharp move to the inside to get away from linebacker Mychal Kendricks late in the opening quarter. Stafford threw a go-ahead, 2-yard TD midway through the second quarter to Golden Tate, who lined up as a fullback and went to the flat where he caught the ball and stopped, letting safety Walter Thurmond run past him.
Mark Sanchez started in place of Sam Bradford, who was inactive with a shoulder injury. Sanchez completed 19 of 27 passes for 199 yards and two TDs. He connected with Brent Celek early in the second quarter on a 2-yard pass to help Philadelphia pull into a 7-all tie and with Jordan Matthews for a relatively meaningless, 24-yard TD late in the game.
Sanchez was able to connect with receivers when he had time, but that didn't happen very often.
Detroit's Ezekiel Ansah had a career-high 3 1/2 sacks, one of which forced a fumble by Sanchez that the defensive end recovered.
"That guy's got a serious grip - rigor mortis or something," Sanchez said.
Copyright 2015 by The Associated Press