The Eagles avoided a losing season by beating the visiting Buffalo Bills 17-9 today, while Brian Westbrook capped a Pro Bowl campaign by setting two franchise records for single-season excellence.

The season-ending victory was the Eagles' third straight and gave them an 8-8 record for this disappointng year, which saw them miss the playoffs for the second time in three years since their Super Bowl season of 2004. The Bills fell to 7-9.

"I wanted to make sure we finished strong, and the players did," Eagles head coach Andy Reid said. "I thought they handled that right."

Westbrook passed Wilbert Montgomery to set an Eagles team record for total yards from scrimmage in a season the first time he touched the ball today, then set a new team record for season pass receptions before halftime.

On the Eagles' second play, Westbrook ran left for 10 yards. That gave Westbrook 2,015 yards from scrimmage this season, eclipsing Montgomery's 2,006 total yards in 1979.

Westbrook, named to the Pro Bowl two weeks ago, caught three passes for 58 yards in the first half, giving him 89 for the season -- he finished with 90 -- and moving him past Irving Fryar's 88 catches in 1996 for first place on the Eagles' single-season receving list.

For the season, Westbrook had 2,104 total yards from scrimmage (1,333 rushing, 771 receiving). He also scored a career-high 12 touchdowns.

"You want to have a good season when the team is doing well," Westbrook said. "To have a good season (myself), it feels good to do that, but we've got to win some more games and get to the playoffs."

With the records in hand and the Eagles nursing a lead, Westbrook played sparingly in the second half. He finished with 42 rushing yards on seven carries and four pass receptions for 57 more.

Donovan McNabb was 29-of-41 passing for 345 yards and a touchdown, completing passes to 10 different receivers. He also threw an interception and lost a fumble.

"I thought we missed on a lot of opportunities in a lot of games this season, and we paid for it," McNabb said. "It's going to be an important offseason for us, no matter how you look at it."

Kevin Curtis recovered a fumble in the end zone for the second straight game, helping the Eagles take a 17-9 lead into the fourth quarter that proved to be the final score.

Wide receiver Reggie Brown was near the goal line when he fumbled after taking a hit from Buffalo's Bryan Scott after making a 32-yard pass reception. The ball squirted into the end zone and Curtis covered it for the touchdown and a 17-6 lead with 3:32 to play in the third quarter.

Last week, Curtis recovered a fumble by McNabb for a touchdown against the New Orleans Saints.

Buffalo's Rian Lindell two field goals in the third quarter, one from 23 yards out and the next from 22 yards. The second brought the Bills within 17-9 with 1:39 left in the third quarter. It was set up by a 56-yard run by rookie running back Marshawn Lynch, who finished with 105 yards on 22 carries.

It looked like the Bills would draw closer still when McNabb lost a fumble at the 28-yard line on the ensuing possession, but the defense stopped Lynch for no gain on a fourth-and-inches play at the Eagles 19 with 13:39 remaining in the game.

The Bills went 55 yards in 12 plays on their first possession of the second half. Buffalo had a first-and-goal at the Eagles 7-yard line, but three plays gained just two yards before Lindell's short kick with 5:52 remaining in the third quarter.

Rookie tight end Brent Celek caught a 2-yard touchdown pass from Donovan McNabb, helping the Eagles take a 10-3 halftime lead.

David Akers added a 38-yard field goal with just 20 seconds left before the intermission, after McNabb moved the Eagles 60 yards in 11 plays while taking just 1 minute, 37 seconds off the clock.

McNabb got the Eagles to the Buffalo 13-yard line with 37 seconds remaining in the half, but took a 7-yard sack and threw two incomplete passes before Akers came on for the field goal and a seven-point lead.

McNabb was 6-of-9 passing as he moved the Eagles 72 yards in 12 plays on their second possession of the game. He hit five different receivers on the drive, the last the scoring strike to Celek with 1:07 left in the first quarter to put the Eagles up 7-0.

Lindell kicked a 29-yard field goal to bring the Bills within 7-3 with 1:57 left in the first half. Lindell's kick capped a 14-play, 66-yard drive after McNabb was intercepted by Buffalo rookie Ashton Youboty at the Buffalo 5-yard line.

It was just McNabb's seventh interception of the season, and the first this year when the Eagles were inside the opponents' 20-yard line.

Starting offensive tackle John Runyan left the game after taking a knee to the head on the Eagles' first possession. It was later reported that Runyan suffered a concussion.

Rookie Kevin Kolb was listed as the Eagles' second quarterback today, marking the first time all season that has happened when both McNabb and A.J. Feeley have been healthy.

That led to speculation that Kolb might get some playing time, but McNabb went the distance.

Safety Brian Dawkins (right foot injury) and cornerback Lito Sheppard (sprained right knee) were placed on the inactive list for the game.