ORCHARD PARK, N.Y. (AP) Lane Johnson isn't sure what the Eagles proved except to silence their critics for one week after their run game and defense trampled the Buffalo Bills.

''What are we, 4-4? It looks like we're average,'' the starting right tackle said, injecting a profanity into his comment for emphasis. ''We needed a damn win. That's really what it all boiled down to. It felt good to get one.''

Having spent the past week listening to how awful and soft they were following a 37-10 loss at Dallas, the Eagles responded by snapping a two-game skid with a 31-13 win on the road and against a Bills team that dropped to 5-2.

Rookie Miles Sanders scored on a 65-yard run, one of Philadelphia's three touchdowns rushing, on a wet and windy afternoon in which the Eagles finished with 218 yards rushing.

Linebacker Brandon Graham keyed a stifling defensive effort by forcing and recovering a fumble, while adding one of Philadelphia's four sacks.

''It was a lot of stuff that tried to distract us from this game this week. There was a lot of things we were still trying to answer for,'' Graham said, referring to former cornerback Orlando Scandrick questioning the team's leadership after being released on Monday.

''Everybody knows our stuff whatever it is, so let's go out and change the way people view us,'' Graham added. ''Now we've got a clean slate.''

And now it's the Bills' turn to face questions about being for real, or whether they've benefited from an easy season-opening schedule.

AFC-leading New England was the only one of Buffalo's first six opponents entering this weekend with a winning record. And the Bills raised concerns after they needed to rally from a five-point fourth-quarter deficit to beat the winless Miami Dolphins 31-21 last week.

''I don't know if it's a wakeup call,'' said receiver Cole Beasley, who scored on a 14-yard catch. ''I mean, we've known that already. We didn't put together many good quarters today.''

The Eagles took control by scoring touchdowns 83 seconds apart spanning halftime to build a 17-7 lead.

Graham's forced fumble of quarterback Josh Allen at Buffalo's 24 led to Carson Wentz hitting Dallas Goedert for a 5-yard touchdown catch with 25 seconds left in the second quarter.

On the second snap from scrimmage in the third quarter, Sanders followed Howard's block of linebacker Matt Milano in bursting up the left sideline. The second-round draft pick celebrated his touchdown by leaping into a group of Eagles fans in the northeast corner of the endzone's stands.

After Devin Singletary scored on a 28-yard catch on Buffalo's next possession, the Eagles responded with Wentz overseeing a six-play, 68-yard touchdown drive capped by Boston Scott's 4-yard touchdown run.

''I think it's just a step in the right direction, for those guys to step up and kind of take ownership,'' coach Doug Pederson said. ''Listen, being a leader is not about being perfect, and everybody made mistakes. But they owned it. They stepped up and really led today.''

The yards rushing total, led by Howard's 96, was the most since Pederson took over in 2016 - and most since finishing with 256 in a 33-10 win over Dallas on Nov. 27, 2014.

The Eagles defense limited Allen to go a combined 3 of 13 for 9 yards over Buffalo's final six possessions following Singletary's touchdown.

Allen finished 16 of 34 for 169 yards passing with two touchdowns passing. He fumbled three times, losing one. Buffalo finished with 253 yards offense, the fewest since managing 223 in 20-13 loss at Houston on Oct. 14, 2018.

''They punched us in the mouth, and we have to answer a little better than that,'' Allen said.

On defense, Buffalo allowed the most yards rushing since giving up 273 against New England on Dec. 23. And Buffalo had not surrendered three touchdowns rushing since allowing three in a 2018 season-opening 47-3 loss at Baltimore.

''It was frustrating because it starts up front,'' defensive end Shaq Lawson said. ''We have to do a lot better, myself included.''

AGAINST THE WIND

The game was played with winds gusting from the west at 20 mph and in a persistent drizzle.

Bills punter Corey Bojorquez had the Eagles back-pedaling on his first punt into the wind by sailing it 57 yards to the Philadelphia 19. His second punt into the wind went 44.

Philadelphia's Cameron Johnston's two punts into the wind in the first half went 44 and 41 yards.

LET'S BE FRANK

Bills running back Frank Gore became the NFL's fifth player to reach the career 19,000 yards from scrimmage plateau. The 15-year veteran hit the number on the button with an 8-yard rush just before the two-minute warning of the second quarter.

Gore, who finished with 34 yards rushing, entered the game with 18,980 yards from scrimmage, and 174 yards shy of matching Marshall Faulk for fourth on the list.

INJURIES

Eagles: Sanders left the game in the third quarter. He said he expects to play next week.

Bills: Starting RT Cody Ford was escorted to the locker room with five minutes remaining due to an elbow injury. CB Levi Wallace (undisclosed).

UP NEXT

Eagles: Open three-game homestand hosting Chicago on Nov. 3.

Bills: Close three-game homestand hosting Washington on Nov. 3.

---

More AP NFL: https://apnews.com/NFL and https://twitter.com/AP-NFL

Copyright 2019 by STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.