Theme: A sluggish first 15 minutes.
First drives: Both teams were held without points on their opening drives. The Bills scored on five of 16 opening drives this season. The Jets scored on their first possession seven times.
Grounded Jets: The Jets were without both starting guards, Tom Compton and Alex Lewis. Conor McDermott, waived by the Bills in October, started at left guard. They also were without starting receiver Demaryius Thomas.
Zebra watch: The officials missed a facemask foul on Jets safety Marcus Maye against Isaiah McKenzie on the first play of the Bills’ second drive. . . . The Bills benefited from a close call when it was ruled Matt Barkley threw incomplete upon being hit from behind by Tarell Basham. It looked like the ball was tipped out before it left his hand.
Slow starting: The Bills scored just 43 first-quarter points, third fewest in the NFL. The Jets weren’t prolific, either, with 60 first-quarter points.
Second-guess: Adam Gase opted for a 51-yard field goal try rather than going for it on a fourth-and-1 situation from the Buffalo 32. You’re 6-9. Why not go for it?
Theme: It felt like preseason.
Key play: The Jets got a 30-yard field goal from Sam Ficken. However, Ficken missed a 34-yard try at the end of the half, his first miss from less than 40 yards this season.
No no-huddle: With rainy weather and backups all over the field, the Bills were happy to let the clock tick.
Matchup Watch: Early in the game, the Bills had Kevin Johnson follow Jets receiver Robbie Anderson. In the second quarter, the Bills’ corners played sides. Anderson, set to become a free agent, has 24 catches for 402 yards in his last five games. He is only the fifth undrafted player since 1970 to have 3,000 receiving yards over his first four seasons.
Zebra watch: Kurt Coleman was called for a personal foul for hitting Le'Veon Bell near the line of scrimmage on a rollout by Sam Darnold. It was a bad call. Darnold could have scrambled on the play, and Bell was within a yard of the line of scrimmage. Then the officials blew an offensive pass interference call on Bills tight end Tommy Sweeney after a 10-yard catch. Safety Marcus Maye simply slipped and fell on the play.
Theme: The Bills mount a long drive.
Key plays: Matt Barkley converted two third-and-long situations with completions of 11 yards to Isaiah McKenzie and 17 yards to Tommy Sweeney to drive the Bills 79 yards. It produced a 28-yard Stephen Hauschka field goal. The drive took 8:11.
Bell era: Was it the last game as a Jet for Le’Veon Bell? It seems like it for the star runner, the subject of trade rumors. Bell finished the season with just 12 rushes for 10-plus yards, only 4.8% of his total carries. That’s the lowest percentage among players with at least 200 rushes in a season in the last 25 years, according to ESPN. Bell had two 12-yard carries in the first half. However, he managed just 41 yards and 2.6 a carry.
Stout front: The Jets entered the game leading the league with 109 tackles for no gain or negative yardage on runs, not counting kneel-downs. The Jets had eight more, for a total of 117 no-gains or tackles for loss on run plays in the game. Two came on bad snap exchanges with Matt Barkley.
Theme: Bring on the playoffs.
Key developments: Right tackle Cody Ford and nickel cornerback Taron Johnson survived injury scares for the Bills. Ford left after an upper-body blow but returned. Johnson was spiked on the upper-calf but was fine.
Go-ahead score: Sam Darnold hit Jamison Crowder on a 1-yard TD pass with 13:31 left to give the Jets the lead for good, 10-3.
Final score: Stephen Hauschka booted a 29-yard field goal with 47 seconds remaining. Hauschka finished 22 of 28 on field-goal tries and made nine consecutive attempts to end the regular season.
Close games: Adam Gase is 25-8 as a head coach in one-score games. Sean McDermott is 13-10 in one-score games. The Bills lead the series, 62-56.
Decade stats: The Jets are 68-92 for the decade with one playoff appearance, way back in 2010 during Rex Ryan’s second season as head coach. The Bills finished the decade 71-89, with two playoff seasons.
Second-guess: On two straight plays from the 1-yard line the Jets eschewed a handoff to Le’Veon Bell, who made $14.9 million this year.