Henery kicked a 32-yarder to make it 13-6 after Brent Celek was called for offensive pass interference to negate his 3-yard TD catch.
That penalty turned out to be the difference.
Henery's 49-yarder early in the fourth extended the margin to 16-6 for Philadelphia's biggest lead of the season.
But the Lions got right back in it when Stafford led an 80-play drive, finishing it with a 1-yard run to make it 16-13. Johnson, held to just one previous catch, caught passes of 37 and 20 yards on the drive.
On Philadelphia's next play, Chris Houston intercepted Vick's deep pass to DeSean Jackson at the Lions 34. But the Eagles held on defense, setting up Vick-to-Maclin.
Eagles rookie Fletcher Cox was ejected in the fourth quarter after getting an unnecessary roughness penalty for punching a player on Detroit's extra point. ... Lions CB Jacob Lacey left with a concussion. ... Johnson's only TD catch this season came on a pass from Shaun Hill. ... Lions FS Louis Delmas was active and starting for the first time this season after having knee surgery in August. ... Ricky Watters was the honorary captain for Philadelphia.