MINNEAPOLIS — Donovan McNabb became the latest quarterback to shred Minnesota's woeful pass defense, helping Philadelphia coach Andy Reid get the better of longtime friend Brad Childress in their first head-to-head matchup.

McNabb threw for 333 yards and a touchdown and showed plenty of the mobility he appeared to have lost after major knee surgery to lead the Philadelphia Eagles to a 23-16 victory over the Vikings on Sunday.

The five-time Pro Bowler looked more like the guy who led the Eagles to the Super Bowl three years ago than the tentative veteran who had been hearing calls from those notoriously restless Philly fans to start the Kevin Kolb era.

McNabb took advantage of the league's worst pass defense, completing 23 of 36 passes and moving around in the pocket like he never had surgery to get his Eagles (3-4) back on track.

Adrian Peterson was bottled up for most of the day by Philadelphia's sure-tackling, hard-charging defense, rushing for 70 yards on 20 carries.

Without their running back breaking long touchdown runs and down to their No. 3 quarterback, the Vikings (2-5) didn't have enough to challenge a rejuvenated McNabb.

Reggie Brown caught eight passes for 105 yards and Brian Westbrook had 92 total yards and two touchdowns for the Eagles, who entered the game having all kinds of problems in the red zone. They scored just six TDs in their first 20 trips inside the 20-yard line this season.

Things went much smoother in the first half Sunday, with McNabb and the Eagles receivers moving up and down the field with ease. Unlike last week's ugly loss to Chicago, Philly didn't stop at the 20-yard line this time.

McNabb threw a 6-yard shovel pass to Westbrook for the Eagles' first touchdown in the second quarter, and Westbrook went over the top on a 1-yard run later in the period to give Philadelphia a 17-7 lead.

Once the Vikings cut the lead to 20-16 on a 48-yard field goal by Ryan Longwell in the fourth quarter, McNabb went back to work.

He completed 4 of 7 passes for 62 yards, including a flea-flicker to Brown and a 31-yarder to Kevin Curtis, to set up David Akers' third field goal.

The Vikings have had problems at quarterback all year, and second-year starter Tarvaris Jackson missed the game with a broken index finger on his throwing hand.

Kelly Holcomb got the start, but struggled until he was knocked out of the game with a neck injury in the third quarter.

Brooks Bollinger, who lost the starting job to Jackson in training camp and was demoted to No. 3 after the Vikings traded for Holcomb in the final week of the preseason, looked capable in his first action this year.

He completed 7 of 10 passes for 94 yards in just under two quarters, but couldn't get the Vikings into the end zone, a familiar problem during Childress' 24-game tenure.

Childress and Reid have known each other for more than 20 years, dating to their days as assistants on the staff at Northern Arizona.

Childress followed Reid to Philadelphia, working with McNabb to make him one of the best quarterbacks in the NFL and take the Eagles to four NFC championship games and a Super Bowl.

Things haven't gone nearly as well for him in Minnesota, where the Vikings offense has become a one-man show.

Childress took plenty of heat this week for not getting the ball to Peterson more in last week's loss at Dallas. So Peterson was inserted into the starting lineup and carried the ball 11 times in the first half.

But Holcomb missed open receivers and took sacks to stunt drives, and Bollinger's sharp performance came too late for the Vikings.