Josh Allen threw for two touchdowns and ran for two more as the Buffalo Bills ended the Detroit Lions 11-match winning streak.
The Bills quarterback threw for 362 yards as he steered the AFC East champions to a 48-42 win for an eighth win in nine games as they moved to 11-3.
Opposite number Jared Goff matched his career best with five touchdown passes, but could not keep pace with the Bills offence.
The Lions, who drop to 12-2, have clinched at least a wildcard berth in the playoffs but defeat means the Minnesota Vikings will move alongside them at the top of the NFC North with victory over the Chicago Bears on Monday.
The Philadelphia Eagles also moved to 12-2 in the race for the top seed in the NFC as they beat the Pittsburgh Steelers 27-13.
Jalen Hurts threw for two touchdowns and went over from short range himself as the Eagles won a franchise-best 10th consecutive game.
The Steelers had earlier clinched a playoff spot due to losses for the Miami Dolphins and Indianapolis Colts, but fell a game behind the Bills in the seeding race.
They are chasing the Kansas City Chiefs, who had quarterback Patrick Mahomes forced off with an apparent ankle injury in the fourth quarter of a 21-7 victory over the Cleveland Browns.
With his team leading by 14 points, Mahomes came down awkwardly from a jump and got caught underneath two opposition players and limped to the sidelines after a pause. Initial x-rays revealed no break.
Mahomes had gone 19-of-38 for 159 yards and two touchdowns before he was replaced by Carson Wentz.
The Chiefs had already secured their play-off spot and clinched the AFC West title, but are still pushing for top seeding in the post-season.
Baker Mayfield threw for four touchdown passes as the Tampa Bay Buccaneers stayed on top of the NFC South as they beat the Los Angeles Chargers 40-17.
The Chargers were leading 17-10 before conceding scores on five straight drives as they dropped to 8-6.
Their playoff hopes took another blow as the Denver Broncos moved above them in the wildcard race and the AFC West with a 31-13 win over the Colts.
Quarterback Bo Nix threw for three interceptions, but the Broncos defence forced five turnovers of their own – linebacker Nik Bonitto returning one of them 50 yards for a touchdown.
The Seattle Seahawks dropped out of top spot in the NFC West as they went down 30-13 to the Green Bay Packers.
Jordan Love threw two touchdown passes as the Packers moved to 10-4, strengthening their place in the wildcard race and confirming the Vikings’ place in the playoffs.
The Arizona Cardinals kept their hopes of a playoff berth alive as they ended a three-game losing streak with a 30-17 win over the New England Patriots.
Jets wide receiver Davante Adams became the 12th player to reach 100 career touchdown catches in the third quarter of their 32-25 victory over the Jacksonville Jaguars.
The 31-year-old once again linked up with quarterback Aaron Rodgers to give his side a 17-16 lead following Anders Carlson’s extra point.
It was also the 80th TD Adams has caught from Rodgers, who went 16-for-30 with three touchdowns, while running back Breece Hall scored the decisive TD with just over a minute remaining.
The Washington Commanders staved off a late New Orleans surge to claim a narrow 20-19 victory over the Saints.
The Commanders held a 14-0 advantage at half-time, but two Blake Grupe field goals and Foster Moreau’s touchdown had drawn the hosts within one in the last second.
Washington clung on to victory after forcing an incompletion on the two-point conversion.
The Baltimore Ravens edged closer to a play-off berth after securing a 35-14 victory over the New York Giants.
Tight end Mark Andrews made franchise history when he caught a 13-yard touchdown pass from quarterback Lamar Jackson, his 48th career touchdown good for the most in Ravens history.
It was an excellent outing for Jackson, who posted passing yards and five touchdowns and was 21-of-25 passing.
Giants quarterback Tommy DeVito, later ruled out with a concussion, left the contest in the first half and was replaced by Tim Boyle.
There was also a scare for the Miami Dolphins after wide receiver Grant DuBose was taken off on a stretcher in their 20-12 loss to the Houston Texans.
The 23-year-old was knocked out after taking a big hit in the third quarter and was later taken to hospital after staff were seen cutting off his jersey on the field.
A post to the club’s official account on X revealed DuBose had been ruled out with a head injury but was in stable condition and being evaluated.
The Cincinnati Bengals forced six turnovers as they claimed a 37-27 victory over the Tennessee Titans.
Starting quarterback Will Levis was removed in the third quarter after throwing a pick-six for his third interception and was replaced by Mason Rudolph.
The Carolina Panthers were officially eliminated from play-off contention following a 30-14 loss to the Dallas Cowboys.
The Panthers committed four turnovers and allowed 211 rushing yards, while Cowboys running back Rico Dowdle ran for a career-best 149 yards and 25 carries.
Anthony Joshua's heavyweight title clash with Daniel Dubois was the most in-demand UK sporting event of the year according to data from ticket marketplace Viago
Tyson Fury vs Oleksandr Usyk 2 will take place on Saturday, December 22Kate Abdo leads the line-up for DAZN as Becky Ives fronts TNT Sports Tyson
Tyson Fury reignited his rivalry with Oleksandr Usyk in their huge heavyweight rematch in Saudi Arabia - and you can book the repe
Tyson Fury And Oleksandr Usyk stare each other out for 11 minutes Original Video M264068Tyson Fury’s rematch with Oleksandr Usyk is today, as the Briton aims