What We Learned From Week 15 in the N.F.L.

The Week 15 games so far have featured three overtime finishes, including the Jaguars’ upset of the Cowboys, and some winter weather. In other words, there has been enough drama to set up some late-season playoff intrigue.

Coming into Sunday’s game, the Lions and the Jets each had a share of the longest playoff drought in their conference. The Jets’ 11-year absence tops the N.F.L., and the Lions’ five-year absence is tied with the Giants for the longest in the N.F.C.

After Detroit won a thriller, 20-17, its playoff hopes were miraculously still alive, a fate that seemed out of the question at the season’s midway point.

Detroit had played several close, high-scoring games, but started the season 1-6 with its only win coming against Washington, which hadn’t yet hit its stride either. All the Lions had to hang their hat on was a hard-nosed running game led by Jamaal Williams, but that hadn’t been enough to consistently produce wins.

A flip switched with their Week 9 win over the Packers, which started a 6-1 stretch. Jared Goff and the passing game found new life, especially with receiver D.J. Chark returning in Week 11 from a six-game absence, and the Lions became a relatively complete football team. Against the Jets, who are trying to remain in playoff contention, Goff and the Lions’ bold gamble on fourth-and-inches, down by 17-13 with less than two minutes remaining, showed that Detroit isn’t done surprising the league.

Near midfield, Goff faked a handoff then targeted tight end Brock Wright on an out route, shocking a defense that had seemed to be loaded up to stop the run. Wright caught the pass and turned upfield for a 51-yard touchdown.

The Jets, who began the season 5-2, now find themselves with a 7-7 record and depending on the Patriots to lose to keep their playoff prospects afloat.

The discussion around who will win the Most Valuable Player Award has felt like a two-man race between Kansas City’s Patrick Mahomes and Philadelphia’s Jalen Hurts over the last month. Almost every other early contender — Miami’s Tua Tagovailoa, Baltimore’s Lamar Jackson and Cincinnati’s Joe Burrow — dropped back for one reason or another, while Mahomes and Hurts kept their teams trucking toward earning No. 1 seeds.

This weekend, those sensational performances continued in narrow wins: Kansas City was pushed to overtime by Houston, despite Mahomes’s three-touchdown, 336-yard passing day, and Hurts ran in three touchdowns in a narrow win over Chicago.

But Josh Allen elbowed his way back onto the shortlist with a heroic performance in the Bills’ 32-29 win over the Dolphins on Saturday night in Orchard Park, N.Y. Allen completed 25 of 40 passes for 304 yards and four touchdowns, and was the Bills’ leading rusher (77 yards on 10 carries) on a snowy Saturday night in which Buffalo clinched the first A.F.C. playoff spot.

Knowing the load Allen carries for the Bills’ offense, Miami pressured him early and the pass rush gained efficacy once Buffalo’s offensive line lost center Mitch Morse to a concussion.

Allen was constantly under siege from linebacker Jaelan Phillips and defensive tackle Christian Wilkins, and the Bills had an ineffective running game early on: Through three quarters, the Bills had 11 carries for 21 yards on non-Allen runs. Buffalo’s lack of a ground game put Allen in a ton of obvious passing situations.

Still, Allen made plays out of nothing on a few scrambles, including in the red zone, an area where he had been susceptible to forcing the issue. On the last play before halftime, on first-and-goal from the 5-yard line, Allen tried surveying the field normally, but found his receivers blanketed. He resorted to directing traffic before bailing out of the pocket, running all the way to the right sideline before throwing across his body to running back James Cook at the back of the end zone, to push the Bills ahead, 21-13.

The race for the award is still too close to call with three weeks left in the regular season. Mahomes and Allen are first and second in passing yards, and touchdowns; Hurts is tops in quarterback efficiency and his team has the best record of all three players. This should be fun to watch.

Jaguars 40, Cowboys 35 (OT): After Jacksonville fell behind by 21-7 in the first half, Trevor Lawrence and the team’s offense exploded for 27 points in the second half, thanks to a number of daring throws, many of which found Zay Jones (six catches for 109 yards and three touchdowns). Lawrence finished with 27 of 42 passing for 318 yards, four touchdowns and one interception. The effort was enough to push the game to overtime, where a Dak Prescott pass bounced off Cowboys receiver Noah Brown’s forearm and into Jaguars safety Rayshawn Jenkins’s arms. Jenkins returned the pick, his second of the game, for the winning score.

Eagles 25, Bears 20: Justin Fields was sacked six times for 61 yards, but he rushed 15 times for 95 yards, nearly half of which came on one heroic 39-yard scramble that set the Bears up for their first score. Fields has exactly 1,000 yards rushing for the season.

On the other end, Jalen Hurts threw two interceptions and was dogged by a chippy game from the Bears’ secondary, but he ran in three scores himself.

Kansas City 30, Texans 24 (OT): Patrick Mahomes diced up the Texans’ secondary all day, but fumbles by Isiah Pacheco and JuJu Smith-Schuster resulted in Texans scores. Houston quarterback Davis Mills was strip-sacked in overtime and Jerick McKinnon ran in a 26-yard score to end the game.

Saints 21, Falcons 18: The N.F.L. debut for the Falcons rookie Desmond Ridder (97 yards passing) didn’t look a whole lot different than any game with Marcus Mariota. Ridder completed just half his 26 passes and ate four sacks, often looking like the game was just a beat too fast for him. The Saints’ Andy Dalton, however, was much more efficient in his limited chances to throw the ball. Most importantly, Dalton executed in and near the red zone, finding Juwan Johnson for 19- and 22-yard touchdowns.

Lions 20, Jets 17: The Lions’ passing offense was held mostly to dinking and dunking, partly a result of Jared Goff’s typical struggles in unsavory weather and the Jets’ lights-out secondary. Zach Wilson’s return as starter yielded a handful of surprising deep throws (317 yards, two touchdowns, one interception, four sacks) but the handful of explosive plays couldn’t bury Detroit, which went ahead on a 51-yard Goff touchdown throw to Brock Wright with less than two minutes remaining.

Steelers 24, Panthers 16: Ball control put the Steelers over the finish line. With Mitchell Trubisky starting in place of an injured Kenny Pickett, the Steelers went into throwback mode with the run game. The Steelers finished with 45 carries for 156 yards (led by Najee Harris’s 86 yards) and converted on 12 of 16 third downs, an exhausting display that kept the Pittsburgh offense on the field.