Vancouver Television Sports← GAME CENTRE
← NFL / AFTER THE WHISTLE

NFL • September 17, 2026

Bills turn every key situation into points in 41-31 win over Lions

Buffalo did not beat Detroit with one flurry so much as with a full night of answers. The Bills ran for 203 yards, converted 9 of 12 third downs and went 5-for-5 in the red zone, building a 41-31 win at Highmark Stadium that held up even against Jared Goff’s four touchdown passes.

NFL / FINAL
Detroit Lions31 — 41Buffalo Bills
Detroit LionsBuffalo Bills

Where Buffalo seized the night

The game’s shape was clear well before the final quarter. Buffalo’s first three touchdowns produced a 21-0 lead, beginning with Josh Allen’s 1-yard run at 9:09 of the first quarter, then a 43-yard strike to Joshua Palmer at 3:42, and then a 1-yard touchdown pass to Dawson Knox with 11:48 left in the second. Detroit eventually found its way onto the scoreboard, but Buffalo had already established the terms: this was going to be a game played at the Bills’ efficiency level, not the Lions’ preferred pace.

That efficiency showed up everywhere the numbers usually matter most. Buffalo finished with 34 first downs to Detroit’s 24, held the ball for 33:45, and produced 446 total yards on just 69 plays. The most telling split might have been on third down, where the Bills went 9-for-12 while the Lions managed 4-for-11. Buffalo kept extending possessions, and once possessions last that long, the rest of the stat line tends to follow.

The run game gave the Bills their cleanest edge. James Cook III carried 21 times for 135 yards and a touchdown, Allen added 69 rushing yards and two scores, and Buffalo piled up 203 yards on 36 attempts. That meant Detroit was dealing with a quarterback who threw for 248 yards and three touchdowns and still had to account for a rushing attack averaging 5.6 yards per carry. Dalton Kincaid’s seven catches for 95 yards kept the passing game moving, but Buffalo did not need to live through the air. It had something sturdier than that.

Detroit kept scoring, but not dictating

To Detroit’s credit, the game never dissolved into empty yards. Jared Goff threw four touchdown passes, Amon-Ra St. Brown caught nine balls for 142 yards and two scores, and Sam LaPorta and Jahmyr Gibbs each added a touchdown reception. Gibbs finally put the Lions on the board with an 11-yard catch at 5:03 of the second quarter, and Jake Bates’ 31-yard field goal at 0:00 trimmed the halftime deficit to 27-10. That was enough to keep the game alive, but not enough to make Buffalo uncomfortable for long.

The Lions’ problem was not passing production. Goff completed 26 of 38 for 327 yards without an interception, and Detroit finished without a turnover. The problem was that almost everything outside the pass game tilted the other way. Detroit ran for just 66 yards on 20 carries, generated only two rushing first downs, and absorbed four sacks for 38 lost yards. When an offense asks its quarterback to carry that much of the structure, the margin for error narrows even on a productive night.

There were bursts that hinted at a different ending. St. Brown’s 2-yard touchdown catch with 9:29 left in the third quarter cut the gap to 27-17. LaPorta’s 1-yard touchdown reception with 10:53 left in the fourth made it 34-24. And after James Cook’s late rushing score, St. Brown struck again from 27 yards out with 1:42 remaining to settle the final margin at 41-31. But each Detroit push felt like an attempt to keep pace rather than to take over. The Lions scored enough to stay visible; they did not control enough to turn the result.

The answer drives were the whole story

If this game had one defining habit, it was Buffalo answering before Detroit’s momentum could change the script. After the Lions got on the board through Gibbs, the Bills responded with Allen’s 16-yard touchdown pass to Kincaid at 2:52 of the second quarter. After St. Brown’s third-quarter score pulled Detroit within 10, Allen answered again with a 2-yard rushing touchdown at 1:07. When LaPorta narrowed it to 34-24 in the fourth, Cook’s 1-yard run with 2:50 left restored the separation. Buffalo never posted a knockout punch, but it kept landing the next meaningful one.

That is why the clean categories loom so large here. Neither team turned the ball over. Buffalo simply won more of the routine, repeatable exchanges: fewer penalties, 5-46 to Detroit’s 10-58; fewer punts, two to four; better finishing inside the 20, a perfect 5-for-5 in the red zone compared with Detroit’s 3-for-4. Those are not decorative numbers in a 10-point game. They are the game.

Our take: Buffalo looked complete, Detroit looked tilted

Our take: Buffalo won the kind of game strong offenses love because the Bills were not dependent on one star turn or one unusual break. Allen was excellent, but he also had Cook’s rushing volume, Kincaid’s steady receiving line, and an offense that kept converting third downs. That blend is what made the 41 points feel sustainable rather than accidental. The one place Buffalo can still ask more of itself is in the pass defense. Goff threw four touchdowns, St. Brown got to 142 yards, and Detroit finished 3-for-4 in the red zone. For a team that controlled so much else, that is a reminder that closing a game and fully suffocating one are different things.

Detroit leaves with a stranger kind of box score: 31 points, no turnovers, and a quarterback with four touchdown passes, yet still a fairly clear defeat. The numbers suggest where the Lions might start looking. A running game that produced 66 yards and only two rushing first downs did not give enough relief, and the four sacks plus 10 penalties made too many drives work harder than they had to. The passing attack was good enough to scare Buffalo. The rest of the profile was too uneven to beat Buffalo. Against an offense this efficient, that imbalance tends to get exposed.

Scoring moments

  1. Period 1 · 9:09

    Josh Allen 1 Yd Rush (Tyler Bass Kick)

  2. Period 1 · 3:42

    Joshua Palmer 43 Yd pass from Josh Allen (Tyler Bass Kick)

  3. Period 2 · 11:48

    Dawson Knox 1 Yd pass from Josh Allen (Tyler Bass Kick)

  4. Period 2 · 5:03

    Jahmyr Gibbs 11 Yd pass from Jared Goff (Jake Bates Kick)

  5. Period 2 · 2:52

    Dalton Kincaid 16 Yd pass from Josh Allen (Tyler Bass PAT Failed)

  6. Period 2 · 0:00

    Jake Bates 31 Yd Field Goal

  7. Period 3 · 9:29

    Amon-Ra St. Brown 2 Yd pass from Jared Goff (Jake Bates Kick)

  8. Period 3 · 1:07

    Josh Allen 2 Yd Rush (Tyler Bass Kick)

  9. Period 4 · 10:53

    Sam LaPorta 1 Yd pass from Jared Goff (Jake Bates Kick)

  10. Period 4 · 2:50

    James Cook III 1 Yd Rush (Tyler Bass Kick)

  11. Period 4 · 1:42

    Amon-Ra St. Brown 27 Yd pass from Jared Goff (Jake Bates Kick)

Detroit Lions — Passing
PlayerC/ATTYDSAVGTDINTSACKSQBRRTG
Jared Goff26/383278.6404-3871.3130.0
Detroit Lions — Rushing
PlayerCARYDSAVGTDLONG
Jahmyr Gibbs16523.3016
Sione Vaki177.007
Jared Goff372.304
Detroit Lions — Receiving
PlayerRECYDSAVGTDLONGTGTS
Amon-Ra St. Brown914215.823413
Jahmyr Gibbs66110.21128
Sam LaPorta6528.71187
Jameson Williams23316.50174
Isaac TeSlaa22613.00205
Sione Vaki11313.00131
Detroit Lions — Fumbles
PlayerFUMLOSTREC
Jared Goff201
Brock Wright001
Detroit Lions — Defensive
PlayerTOTSOLOSACKSTFLPDQB HTSTD
Chuck Clark11400000
Derrick Barnes7511010
Rock Ya-Sin6500000
Devin White6300000
D.J. Reed6200000
Jack Campbell6200010
Tyleik Williams5300010
Aidan Hutchinson3211020
Christian Izien3200000
Avonte Maddox3100000
Thomas Harper2200100
DJ Wonnum2100000
Alim McNeill2100010
Tyler Lacy2100000
Trevor Nowaske2100010
Khalil Dorsey1101000
Jacob Saylors1100000
Eric O'Neill1100000
Malcolm Rodriguez1000000
Tay Martin1000000
Skyler Gill-Howard1000010
Detroit Lions — KickReturns
PlayerNOYDSAVGLONGTD
Tom Kennedy49924.8270
Jacob Saylors25829.0300
Detroit Lions — Kicking
PlayerFGPCTLONGXPPTS
Jake Bates1/1100.0314/47
Detroit Lions — Punting
PlayerNOYDSAVGTBIn 20LONG
Jack Fox420651.50162
Buffalo Bills — Passing
PlayerC/ATTYDSAVGTDINTSACKSQBRRTG
Josh Allen20/312488.0302-591.2121.4
Buffalo Bills — Rushing
PlayerCARYDSAVGTDLONG
James Cook III211356.4135
Josh Allen14694.9214
DJ Moore1-1-1.00-1
Buffalo Bills — Receiving
PlayerRECYDSAVGTDLONGTGTS
Dalton Kincaid79513.61258
Keon Coleman66310.50226
Joshua Palmer14343.01433
Khalil Shakir33812.70166
Dawson Knox252.5142
James Cook III144.0043
Buffalo Bills — Fumbles
PlayerFUMLOSTREC
Josh Allen100
Spencer Brown001
Buffalo Bills — Defensive
PlayerTOTSOLOSACKSTFLPDQB HTSTD
Christian Benford8500200
Dorian Williams6501100
Cole Bishop6500000
Davison Igbinosun5400000
Terrel Bernard5301100
Jordan Hancock5300000
Bradley Chubb421.51020
Dee Alford4200000
Greg Rousseau3322040
Damar Hamlin2100000
Landon Jackson2100000
Kaleb Elarms-Orr2000000
C.J. Gardner-Johnson1100000
Sam Franklin Jr.1100000
DeWayne Carter1100000
Javon Solomon1100000
Maxwell Hairston1100000
TJ Parker1100000
Greg Gaines1000000
Michael Hoecht100.50010
Keleki Latu1000000
Deone Walker1000330
Mike Danna0000010
Buffalo Bills — KickReturns
PlayerNOYDSAVGLONGTD
Greg Dortch25125.5260
Ray Davis13131.0310
Khalil Shakir11111.0110
Buffalo Bills — PuntReturns
PlayerNOYDSAVGLONGTD
Greg Dortch33612.0250
Buffalo Bills — Kicking
PlayerFGPCTLONGXPPTS
Tyler Bass0/00.005/65
Buffalo Bills — Punting
PlayerNOYDSAVGTBIn 20LONG
Tommy Doman Jr.28341.50143
Detroit Lions — Team statistics
1st Downs24
Passing 1st downs19
Rushing 1st downs2
1st downs from penalties3
3rd down efficiency4-11
4th down efficiency2-2
Total Plays62
Total Yards355
Yards per Play5.7
Total Drives9
Passing289
Comp/Att26/38
Yards per pass6.9
Interceptions thrown0
Sacks-Yards Lost4-38
Rushing66
Rushing Attempts20
Yards per rush3.3
Red Zone (Made-Att)3-4
Penalties10-58
Turnovers0
Fumbles lost0
Interceptions thrown0
Defensive / Special Teams TDs0
Possession26:15
Buffalo Bills — Team statistics
1st Downs34
Passing 1st downs14
Rushing 1st downs15
1st downs from penalties5
3rd down efficiency9-12
4th down efficiency0-0
Total Plays69
Total Yards446
Yards per Play6.5
Total Drives9
Passing243
Comp/Att20/31
Yards per pass7.4
Interceptions thrown0
Sacks-Yards Lost2-5
Rushing203
Rushing Attempts36
Yards per rush5.6
Red Zone (Made-Att)5-5
Penalties5-46
Turnovers0
Fumbles lost0
Interceptions thrown0
Defensive / Special Teams TDs0
Possession33:45