Buffalo quarterback Josh Allen, left, congratulates tight end Dawson Knox, who caught a pass for a touchdown with 1:04 left in the fourth quarter Sunday at Kansas City, Mo. Reed Hoffmann/Associated Press

KANSAS CITY, Mo. — Josh Allen threw for 329 yards and three touchdowns, including the go-ahead toss to Dawson Knox with 1:04 remaining, and the Buffalo Bills beat the Kansas City Chiefs 24-20 on Sunday to exact a small measure of revenge for their epic overtime loss in last year’s playoffs.

Stefon Diggs had 10 catches for 148 yards and a touchdown, and Gabe Davis also had a TD catch after torching Kansas City for four of them in January, as the Bills (5-1) finally walked out of Arrowhead Stadium a winner.

Along with last year’s divisional loss, the Bills had their season end against Kansas City in the previous AFC title game.

Patrick Mahomes had one last chance to rally the Chiefs (4-2) in the final minute. But after an incomplete pass, Buffalo cornerback Taron Johnson jumped Mahomes’ pass to Skyy Moore, picking him off with 51 seconds left to effectively end the game.

Mahomes finished with 338 yards passing to go with two touchdowns and two interceptions, including one in the end zone early in the game. JuJu Smith-Schuster had five catches for 113 yards and a touchdown.

The down-to-the-wire nail-biter was a fitting follow-up to their playoff game, when the teams combined to score 25 points in the final two minutes of regulation, and the Chiefs won the game on the first possession of overtime.

Advertisement

The teams combined to score on their final six possessions that January night, and they picked up Sunday right where they left off – with a caveat. The Bills and Chiefs both marched the length of the field in the first quarter, chewing up defenses that looked downright lost, only to turn the ball over when they reached the red zone.

Then the similarities to their incredible divisional playoff game really began.

Mahomes, improvising once again, stayed alive long enough in a collapsing pocket to find Smith-Schuster for a 42-yard TD reception. And after the Bills blew another red-zone opportunity, when Allen threw incomplete on fourth-and-goal at the Kansas City 3, Buffalo answered with a frantic touchdown drive in the final minute of the half.

Backed up to its own 1-yard line, Allen threw a dart to Davis for a first down. He hit Dawson Knox, Stefon Diggs and Khalil Shakir on his next three throws, then had Davis beat rookie cornerback Joshua Williams for a 34-yard TD catch.

The drive took 73 seconds, covered 96 yards and gave the Bills a 10-7 lead.

And just like January, the Chiefs answered in seconds. Only instead of using 13 to drive within range of Harrison Butker’s 49-yard field goal to force overtime, they had 16 seconds to move 27 yards and set up his 62-yarder to knot the game.

Advertisement

The back-and-forth continued in the second half: Buffalo took the lead after Butker’s 51-yard miss when Diggs hauled in a long TD catch, then Kansas City drove 83 yards and Mecole Hardman tied the game with his short touchdown reception.

When the Bills failed on another fourth-down attempt, Butker added a 44-yarder to give Kansas City a 20-17 lead.

But unlike January, the Bills made the plays down the stretch. Allen’s scrambling, hurdling run on their go-ahead drive got them in position, and his throw to Knox along the sideline gave them the lead. And when Johnson came up with his pick a few minutes later, the Bills had their long-awaited win in Kansas City.

STEELERS 20, BUCCANEERS 18: Mitch Trubisky came on for an injured Kenny Pickett to throw a 6-yard touchdown pass in the fourth quarter and Pittsburgh’s maligned defense made it stand up in a stunning win over Tom Brady and visiting Tampa Bay.

The Steelers (2-4) snapped a four-game losing streak by relying on a largely anonymous defense missing almost its entire starting secondary.

Brady struggled to take advantage behind an offensive line that had issues protecting him. The 45-year-old – who at one point excoriated the line for underperforming against a team that had just three sacks in the last four games coming in – completed 25 of 40 passes for 243 yards and an 11-yard touchdown to Leonard Fournette with 4:38 remaining to cut Pittsburgh’s lead to two.

Advertisement

Steelers linebacker Devin Bush broke up the 2-point conversion attempt by Tampa Bay (3-3) and Pittsburgh ran out the clock behind Trubisky to avoid its first 1-5 start since 1988.

Trubisky, benched in favor of Pickett at halftime of an Oct. 2 loss to the New York Jets, passed for 144 yards and the touchdown to Chase Claypool, the first scoring grab by a Pittsburgh wide receiver this season. Trubisky connected with Claypool again for a 26-yard gain on the Steelers’ final drive and then ran for a 9-yard gain that finished off Tampa Bay.

The victory came with a potentially high cost. Pickett, the 20th overall pick in the draft, entered the NFL’s concussion protocol after being pushed legally to the ground by Tampa Bay linebacker Devin White shortly after throwing a pass.

Pickett lay still on the Acrisure Stadium turf for several seconds before getting up. Officials waved the Steelers’ training staff onto the field and Pickett sat down briefly before making his way to the medical tent and eventually the locker room.

JETS 27, PACKERS 10: Breece Hall ran for 116 yards, including a 34-yard touchdown, the surprising Jets sacked Aaron Rodgers four times and New York won its third straight  at Green Bay.

The Jets (4-2) are off to their best six-game start since 2015, when they also were 4-2 before finishing with a 10-6 record. New York hasn’t reached the playoffs since the 2010 season, the NFL’s longest active drought.

Advertisement

Green Bay (3-3) has lost consecutive regular-season games within the same season for the first time since Coach Matt LaFleur’s arrival in 2019. The Packers blew an early 14-point lead in a 27-22 loss to the New York Giants in London last week.

GIANTS 24, RAVENS 20: Julian Love’s interception and 27-yard return set up Saquon Barkley’s 1-yard touchdown dive with 1:43 to play, and the New York Giants rallied from a 10-point fourth-quarter deficit to beat visiting Baltimore.

New York’s defense, led by Baltimore’s former coordinator Wink Martindale, forced two turnovers by Lamar Jackson late in the fourth quarter. After Barkley’s go-ahead score, rookie Keyvon Thibodeaux sacked Jackson and forced a fumble as the Ravens (3-3) had their third late meltdown this season and handed the Giants (5-1) another surprising victory.

Led by new coach Brian Daboll, the Giants have already exceeded their 2021 win total.

Daniel Jones threw touchdown passes to two rookies: 5 yards to Wan’Dale Robinson and 8 yards to Daniel Bellinger. The second got New York within 20-17 with 6:53 to go.

Kenyan Drake ran for 119 yards, including a 30-yard TD, and Jackson hit Mark Andrews on a 12-yard TD pass early in the fourth quarter for a 20-10 lead.

Advertisement

BENGALS 30, SAINTS 26: Joe Burrow passed for three touchdowns and scrambled 19 yards for a score, and visiting Cincinnati rallied to beat New Orleans.

Two of Burrow’s touchdown tosses went to Ja’Marr Chase – just like the previous time the pair played in college in the Superdome in a national championship game triumph with LSU.

The second came on a quick pass to the left sideline that Chase turned into a 60-yard, go-ahead score with 1:57 left – a play in which the star receiver spun away from cornerback Bradley Roby before outrunning safety Tyrann Mathieu.

It was a fitting end to a day that began with Burrow walking into the Superdome wearing Chase’s No. 1 LSU jersey, paying homage to the memorable connection he and Chase had the previous time they played in New Orleans. The gesture also foreshadowed what they were about to do in their return.

Chase’s go-ahead score capped a rally in the final four minutes for Cincinnati (3-3), starting with Evan McPherson’s 52-yard field goal that trimmed New Orleans’ lead to 26-24.

The Saints (2-4) failed to get a first down on their next series, and Blake Gillikin’s shanked punt fluttered out of bounds at the Cincinnati 40.

Advertisement

One play later, Chase was racing away from the Saints’ secondary.

VIKINGS 24, DOLPHINS 16: Dalvin Cook rushed for a 53-yard insurance touchdown in the fourth quarter and visiting Minnesota (5-1) held on to beat injury-riddled Miami (3-3).

Cook was quiet most of the afternoon until his score with 3:25 left restored Minnesota’s two-touchdown lead.

Miami had rallied behind Teddy Bridgewater, a former Viking who returned Sunday from concussion protocol but was only put into game action after third-stringer Skylar Thompson injured his thumb in the second quarter.

Cook’s burst followed a fumble by Dolphins receiver Jaylen Waddle on a drive when Miami was swiftly moving the ball down the field, trailing 16-10.

Vikings receiver Justin Jefferson, who entered the game as the NFL’s leader in receiving yards, had a 47-yard catch-and-run at the end of the third quarter – part of a six-catch, 107-yard performance. That set up a 2-yard touchdown catch by Adam Thielen to make it 16-3.

Advertisement

Facing their fifth-straight fourth-quarter deficit, the Dolphins found the end zone for the first time when Bridgewater threw a 4-yard TD pass to tight end Mike Gesicki.

The Vikings’ defense came away with an interception and fumble recovery on the Dolphins’ next two possessions. Minnesota’s defense sacked Miami’s quarterbacks five times.

COLTS 34, JAGUARS 27: Matt Ryan threw a 32-yard touchdown pass to Alec Pierce with 17 seconds to play, leading host Indianapolis (3-2-1) over Jacksonville (2-4).

The victory ends Indy’s two-game skid against their AFC South rival and marks the third time this season Ryan has led the Colts to a come-from-behind victory.

It’s the fifth straight loss in Indy for the Jaguars. The home team has won 11 straight in this series.

FALCONS 28, 49ERS 14: Marcus Mariota threw a pair of touchdown passes and ran for another score against the NFL’s top-ranked defense, leading Atlanta (3-3) to a win at home against San Francisco (3-3).

Advertisement

Mariota completed his first 13 passes, finally throwing his lone incompletion on his final attempt of the day with less than 11 minutes remaining. He finished with 129 yards through the air in Atlanta’s conservative passing game, also rushing for 50 yards on six carries.

The Niners couldn’t overcome two interceptions by Jimmy Garoppolo and a fumble that was returned for a touchdown by the Falcons.

RAMS 24, PANTHERS 10: Matthew Stafford passed for 253 yards, Darrell Henderson and receiver Ben Skowronek rushed for touchdowns in the second half, and host Los Angeles (3-3) snapped a two-game skid by beating Carolina (1-5).

Allen Robinson caught a TD pass for the defending Super Bowl champion Rams, who bounced back from two straight ugly defeats and the latest injury setback for their offensive line to spoil Steve Wilks’ debut as the Panthers’ interim head coach.

Wilks took over when Matt Rhule was fired last Monday, and the former Arizona coach already has drama on his hands: He apparently sent receiver Robbie Anderson to the locker room shortly before the end of the third quarter after a shouting match with receivers coach Joe Dailey.

Donte Jackson returned an interception 30 yards for a touchdown for the Panthers, who have lost three straight. Christian McCaffrey racked up 158 total yards, but P.J. Walker passed for just 60 yards in making his third career start in the injury absences of Baker Mayfield, Sam Darnold and Matt Corral.

Advertisement

SEAHAWKS 19, CARDINALS 9: Rookie Kenneth Walker III rushed for an 11-yard touchdown early in the fourth quarter, and host Seattle (3-3) beat Arizona (2-4).

The Seahawks jumped into a share of the lead in the NFC West with San Francisco.

Walker, a second-round pick out of Michigan State, took over as Seattle’s feature back because of Rashaad Penny’s season-ending broken leg. He had a season-most 21 carries for 97 yards.

Geno Smith completed 20 of 31 passes for 197 yards for Seattle. He also ran for 48 yards on six carries. Jason Myers kicked four field goals for the Seahawks.

Kyler Murray completed 23 of 37 passes for 222 yards with an interception, rushing for 100 yards for the Cardinals.