Bills grind down Vikings 23-6 behind 42 minutes of possession and James Cook's 31 carries
Cook ran for 107 yards and a touchdown, and Buffalo's defense took the ball from Carson Wentz three times. Minnesota went 0 for 8 on third down.

The Buffalo Bills beat the Minnesota Vikings 23-6 on Monday night at U.S. Bank Stadium to close Week 9. The matchup of the NFL's highest-scoring offense and its stingiest defense was settled by attrition rather than fireworks: Buffalo held the ball for 42:32, ran 79 plays to Minnesota's 46 and limited the Vikings to 178 total yards. Josh Allen threw a touchdown pass just before halftime, James Cook carried the running game and Tyler Bass kicked three field goals. The Bills improved to 7-1. The Vikings dropped to 6-2.
Two turnovers in 16 seconds
Brian Flores' defense did its part early. It sacked Allen four times on the night and forced an early mistake: on third-and-23, with the rush closing in, Allen threw deep into the end zone and Byron Murphy Jr. intercepted the pass and returned it 54 yards to the Minnesota 47.
The gift lasted one snap. Carson Wentz, starting because of Kyler Murray's hamstring injury, threw a backward pass too high for Justin Jefferson. It was ruled incomplete on the field, Buffalo challenged and the call was reversed to a fumble, recovered by Gregory Rousseau. Bass opened the scoring from 39 yards with 1:57 left in the first quarter.
The Vikings then wasted unusually good field position. According to The Associated Press, four straight first-half possessions started beyond their own 40, and the deepest reached the Buffalo 48. They scored only after a Bills punt from their own 2 gave Minnesota the ball at the Buffalo 34, and even then settled for Will Reichard's 43-yard field goal, which tied it at 3 with 4:02 left in the half.
Latu's touchdown
Buffalo answered with its best drive of the half, 80 yards in eight plays. With 44 seconds left, Allen rolled right, released the ball just before taking a hit from Andrew Van Ginkel and found tight end Keleki Latu in the back of the end zone for a 25-yard touchdown.
Minnesota had time to respond, moving 46 yards in 39 seconds before Reichard connected from 53 with five seconds remaining. At 10-6, that was as close as the home team would get.
Two interceptions, two marathon drives
The second half opened with Wentz throwing deep for T.J. Hockenson; linebacker Dorian Williams intercepted at the Buffalo 11. The Bills followed with a 14-play, 83-yard drive that consumed more than seven minutes and ended in Bass' 25-yard field goal for a 13-6 lead. On Minnesota's next possession another linebacker, Terrel Bernard, picked off a pass intended for Jefferson.
The clinching drive was longer still. Buffalo started the fourth quarter at its own 16 and needed 15 plays and 8:32 to cover 84 yards. On fourth-and-1 at the Minnesota 38, Allen plowed into the middle of the line; he was ruled short, but replay gave him the yard. Cook finished the drive with a 5-yard run that made it 20-6 with 6:17 to play.
The Vikings promptly failed on fourth down in their own territory, and Bass made them pay from 52 yards. Max Brosmer replaced Wentz for the final series and drove Minnesota to the Buffalo 13, but his fourth-and-9 completion came up a yard short.
An offense out of answers
Minnesota's numbers tell the story. Wentz was 8 of 25 for 81 yards with two interceptions and the first-quarter fumble; according to the AP, he completed one of eight passes in the second half. The Vikings went 0 for 8 on third down and 0 for 2 on fourth, had nine first downs to Buffalo's 22 and ran the ball only 12 times. Jefferson caught three of his 11 targets for 58 yards.
"Put tonight 100% on me," coach Kevin O'Connell said, according to the AP, adding that the offense has to improve at a rapid pace.
Buffalo, which came in averaging 33.3 points, finished 10 below that and did not need more. Cook had 107 yards on 31 carries, at 3.5 per attempt, and described it as a game of attrition in which the Bills kept at it until it broke open. Allen was 21 of 31 for 234 yards with a touchdown and an interception. Bass, good from 39, 25 and 52 yards, extended his streak to 24 straight field goals, a franchise record according to the AP.
The AP also noted two milestones. The Bills matched their best eight-game start since 1993, and Allen, with 322 total regular-season touchdowns, tied Peyton Manning for the most by any player in his first 10 seasons. Allen is halfway through his ninth.
Buffalo visits the New York Jets on Sunday. Minnesota plays at Green Bay the same day.