The Buffalo Bills have found their groove running the ball. 

LeSean McCoy rushed for 151 yards, including a 48-yard touchdown late in the fourth quarter, as the Bills beat the Oakland Raiders 34-14 Sunday. 

It was McCoy's best single-game rushing performance in 2017 and the third time he's eclipsed 150 rushing yards in a game as a member of the Bills. 

The Bills defense and special teams forced four turnovers. Matt Milano had a 40-yard fumble recovery for a touchdown in the second quarter. Safeties Trae Elston and Micah Hyde added interceptions in the win. 

The Bills improve to 5-2 this season. The Raiders fall to 3-5. 

Here is the Buffalo Bills Week 8 report card: 

GRADING THE UNITS

OFFENSE 

Quarterbacks - B

Tyrod Taylor didn't put up big numbers. He finished the day with 165 passing yards and a touchdown. He also had a rushing touchdown on a quarterback sneak to begin the fourth quarter. His 36-yard pass to Andre Holmes showed his poise in the pocket. He is a big reason why the Bills are 5-2 this season. He's not Tom Brady or Drew Brees, but he doesn't need to be. He has his own skill set that helps the Bills succeed. 

Running backs - A+

LeSean McCoy had his best game of the season. He finished with 27 carries for 151 yards and a touchdown. He capped off the game with a 48-yard touchdown run late in the fourth quarter. He added six catches for 22 yards. The Bills have found a recipe for success and that involves getting McCoy the ball a lot. During the bye week, they addressed the problems affecting their rushing attack. McCoy had a good game last week and scored two touchdowns. This week, he had his best game of the 2017 season. 

Receivers - B

Andre Holmes caught three passes for 51 yards and a touchdown against his former team. Holmes' 36-yard catch on a great pass from Taylor was one of the highlights in this game. Zay Jones, who has struggled this season, caught three passes for 32 yards. Taylor showed early on that he still trusts the rookie. Jones has a lot of talent and can be a good receiver in this league. One of the best plays of the game came on Brandon Tate's 24-yard reception. He caught the pass in the middle of the field, made a spin move to make two Raider defenders miss, then made a cut to avoid another defender. The catch came on second-and-20, which made it even more impressive. 

Offensive line - A

The offensive line has been an easy target of criticism this season, but they had an outstanding game against the Raiders. Khalil Mack, one of the best defensive players in the league, wasn't a factor. The Bills had 166 rushing yards and Tyrod Taylor wasn't sacked. This was the best game for the offensive line this season. They deserve a game ball. 

DEFENSE

Defensive line - C

The defensive line bottled up the Raiders' rushing attack but didn't produce much of a pass rush against Derek Carr. This is the second consecutive game the Bills have given up more than 300 passing yards. The defensive line needs to have more of an impact on games. They have too much talent for this to happen. 

Linebackers - B+

Matt Milano strikes again. One week after his interception against the Tampa Bay Buccaneers, he made two big plays on defense and special teams. After a big hit by Leonard Johnson forced a fumble, the ball pop into Milano's hands and he returned it 40 yards for a touchdown. He also forced a fumble on a punt return to set up a field goal. Preston Brown had seven tackles (three solo) and two passes defensed. 

Defensive backs - A-

SPECIAL TEAMS

Kicking and punting - A

Steven Hauschka kicked two field goals and converted each of his four extra point attempts. He continues to have a good season for the Bills. 

Punter Colton Schmidt had one of his best punts of the season. He angled it near the sideline and it went out of bounds at the Raiders' own 1-yard-line. Four of his five punts were placed inside the 20. His longest was a 55-yard punt. 

Returns and coverage - B-

It wasn't much of a return game for either team. Brandon Tate had no kick returns and two punt returns for 17 yards. Raiders kick return Cordarrelle Patterson had a 43-yard return. He showed patience and found a hole in the Bills' coverage unit. 

COACHING

Grade: A

Trust the process. Sean McDermott's staff is doing a tremendous job. Sunday was another great example of their performance. The offensive game plan wasn't complex. They ran the ball well and made plays through the air when needed. The defense scored a touchdown and limited the Raiders offense. McDermott wants the Bills to win at home. They are now 4-0 at home this season. Winning teams succeed on home turf. The Bills are taking care of business at New Era Field in 2017. 

OVERALL TEAM PERFORMANCE

Grade: A+

This was a great all-around performance. The defense was strong after that opening drive and the offense was steady. Tyrod Taylor didn't need to make any flashy plays. LeSean McCoy took care of business on the ground. It was a great win against a team many thought would be a top AFC contender this season. 

PLAYERS OF THE GAME

OFFENSELeSean McCoy. McCoy had 27 carries for 151 yards and a touchdown. His 48-yard touchdown run late in the fourth quarter helped seal the win for the Bills. He also added a team-leading six catches for 22 yards. McCoy is finding his groove after the Bills' early season struggles running the ball. Getting the rushing attack going again makes the Bills a team to watch in the second half. 

DEFENSE: Matt Milano. Milano made two big plays on defense and special teams against the Raiders. He had a 40-yard fumble recovery for a touchdown late in the second quarter. The score came after a big hit by Leonard Johnson, who forced the fumble. The ball popped into Milano's hands and he returned it for a touchdown. Milano also forced a fumble on Jalen Richard's punt return. The takeaway set up a field goal. 

NEEDS IMPROVEMENT

Pass rush. Jameis Winston put up big numbers against the Bills defense and Derek Carr had a 300-yard passing day. The common thread between the two: The Bills didn't have much of a pass rush against either quarterback. That needs to change. The Bills have the personnel to wreak havoc in the backfield. They need to pressure quarterbacks. That will take some pressure off the secondary. 

STAT OF THE GAME

151. LeSean McCoy's total rushing yards against the Raiders. It's his third 150-yard rushing performance as a member of the Bills. He had two last season. 

STAT OF THE GAME II

4. The Bills forced four turnovers against the Raiders. The Bills defense continues to make plays. One of the takeaways was a 40-yard fumble recovery for a touchdown. It always helps to get scoring production from your defense. 

NEXT GAME

The Bills (5-2) will play at 8:25 p.m. Thursday against the New York Jets. The game will be televised on NFL Network. 

Outbrain