DETROIT -- Michael Vick took advantage of his first start at quarterback since 2006, looking like the Pro Bowler he used to be by effortlessly flicking the football down the field and avoiding sacks with slick steps.
He didn't take the first snap in a game the past three seasons because he served an 18-month prison sentence for his role in a dogfighting operation and spent last year as a backup.
Vick said he reflects "all the time" on his journey back onto an NFL field.
"I thought about it this morning on the bus ride over," he said softly. "It's been a long road for me. It's been tough. Throughout it all, I had to be resilient and overcome a lot of adversity and self-inflicted wounds."
The electrifying athlete was 21 of 34 -- connecting with nine teammates -- for 284 yards with two TDs, ran for 37 yards and escaped losses with the spin moves of a dancer and speed of a sprinter.
"A lot of people doubted him and said he wasn't able to do this," said DeSean Jackson, who caught four of Vick's passes for 135 yards and a TD. "He's been able to prove everybody wrong."
LeSean McCoy gave the Eagles (1-1) an 18-point lead on his third score with 6:17 left, but they gave Detroit comeback hopes.
The Lions (0-2) rallied to pull within three points and recovered an onside kick with 1:48 left, but turned the ball over on downs without gaining a yard.
"I'm proud to stand among the players," coach Jim Schwartz said. "This is a tough team, a team that's resilient, that fights through a lot of situations."
Detroit has had to deal with a lot of tough times, winning just twice last year after enduring the league's first 0-16 season. The franchise is a league-worst 33-113 since 2001.
The Lions lost their franchise QB -- Matthew Stafford -- in the season-opening loss at Chicago with an injured right shoulder and had to turn to Shaun Hill. He was 25 of 45 for 335 yards with two TDs, including one to Calvin Johnson late in the game, and had two interceptions.
"The losses are tough, but you can only worry about them for a day," Hill said. "You can't dwell on mistakes."
The Eagles didn't dwell on Vick's, giving him a shot to revive his career last year.
He was more than ready to take the first snap in place of Kevin Kolb, who missed the game because of a concussion.
Eagles coach Andy Reid insisted before the game he didn't need to reassure Kolb he was still the team's starting QB. Even though Vick seemed to do enough to make it tough to put him back on the bench, Reid said it won't be difficult to turn him back into a part-time player.
"We've got more plays for him than we did a year ago, so he'll be on the field," Reid said. "It isn't going to be five or six plays this year."
Vick passed his first test, rolling left and throwing back across the field against pressure to convert a third down on his opening drive to set up a 45-yard TD pass to Jackson.
After rookie Jahvid Best turned a short pass into a 75-yard reception to put Detroit ahead 17-7 midway through the second quarter, Vick ran and threw for first downs to set up McCoy's 14-yard run for his first TD.
Vick easily lofted a 53-yard pass that perfectly hit Jackson in stride before connecting with Jeremy Maclin on a 9-yard pass that put Philadelphia ahead 21-17 with 13 seconds left in the first half.
"You should have seen him before the game," Reid said. "He was like a kid in a candy store. He was so excited about getting a second chance at being a starter in this league."
The Lions, meanwhile, didn't have much to be proud about.
Best was an exception, catching nine passes for 154 yards and a score and running 17 times for 78 yards and two TDs.
He created a buzz at Ford Field, but by the time he scored for a third time against the Eagles -- and fifth time in two games -- most of the fans had left after growing tired of seeing the Lions lose again.
Detroit didn't give up, but it also couldn't come close enough to attempt a field goal that could've sent the game into overtime.
"We can't wait until the end of the game," Lions center Dominic Raiola lamented.
Eagles DE Brandon Graham injured his right shoulder and X-rays were negative. ... Lions WR Nate Burleson (ankle) was injured on the first play of the game. ... McCoy was the first Eagle to have three rushing TDs since Charlie Garner in 1995. ... Philadelphia's Nate Allen and Ellis Hobbs had interceptions.
Jon Gruden breaks down why you should keep an eye on Browns wide receiver Travis Benjamin during Cleveland's matchup against the Ravens on Monday Night Football.
NFL Nation previews what to watch for around the league Sunday, including fantasy football updates on Patriots receiver Brandon LaFell and Cardinals receiver Michael Floyd.
Recapping Saturday's top stories, which include the Patriots being without a key pass-catcher on Sunday against the Broncos, plus status checks on all of Week 12's injuries.
Jamie Collins will miss his fourth straight game with an undisclosed illness, while Danny Amendola and Michael Williams also won't play Sunday night.
Nineteen years separate QBs Matt Hasselbeck and Jameis Winston, who will be trying to bolster their playoff chances Sunday at Lucas Oil Stadium.
Darius Fleming's promotion from the practice squad likely means the Patriots won't have Jamie Collins, who has missed the last three games, on Sunday.