The Dallas Cowboys turned on their offense in the second half to beat the New York Giants 28-20 in their Thanksgiving clash on Thursday.

The holiday program also saw the Minnesota Vikings beat the New England Patriots 33-26 and the Buffalo Bills win 28-25 at the Detroit Lions.

The win moves the Cowboys to 8-3 in the highly competitive NFC East, with the Giants, divisional rivals, slipping to 7-4. The Philadelphia Eagles (9-1) are top of the division.

The Giants led 13-7 at the break after a Saquon Barkley one-yard rush for a touchdown following a superb 44-yard catch from Darius Slayton.

Despite an injury-depleted secondary, New York did a great job of limiting the Cowboy's potent offense in the opening two quarters forcing two first-half interceptions from Dallas quarterback Dak Prescott.

But it was a different story after the interval as the home side found their rhythm -- Prescott twice connected with tight end Dalton Schultz for touchdowns as the Cowboys grabbed an eight-point lead.

In the fourth, Dallas extended the lead to 28-13 with Peyton Hendershot's two-yard run finishing an impressive 80-yard drive.

The Giants closed the gap late in the game with quarterback Daniel Jones finding Richie James with a one-yard pass but it was too late for Dallas's lead to be threatened.

"I know what this team is capable of. We control everything we have right in front of us," said Prescott, who nonetheless believed there was plenty for the Cowboys to tidy up.

"We've got to be more disciplined. We have to stop hurting ourselves on drives and self-inflicting wounds. Whether it be me turning the ball over, being too aggressive or not being on the same page as receivers or false starts," he said.

The Minnesota Vikings had been mauled by the Cowboys last week in a heavy loss but bounced back in impressive fashion on Thursday with victory over Bill Belichick's New England Patriots.

It was a tight encounter with neither team able to establish command -- after Mac Jones found Hunter Henry with a 37-yard touchdown pass -- the Vikings' Kene Nwangwu immediately levelled the game at 23-23 in the third quarter with an outstanding 97-yard kick-off return.

The Pats led 26-23 going into the fourth but a 36-yard field goal from Greg Joseph levelled the scores before the game turned when the Vikings were forced to punt, but New England's Pierre Strong was penalised for running into the kicker.

That allowed Minnesota to continue a drive which ended with quarterback Kirk Cousins finding Adam Thielen with a 15-yard pass for the game-winning touchdown.

It was a strong display from Cousins, who completed 30 of 37 attempts for 299 yards and three touchdowns as his team moved to 9-2.

In Detroit, Tyler Bass's 45-yard field goal, with two seconds remaining, gave the Buffalo Bills a thrilling victory at the Lions to return to the top of the AFC East.

The win moved the Bills to an 8-3 record and snapped a three-game winning streak for the much-improved Lions (4-7).

It was a mixture of joy and relief for Bass, who had missed a point after an attempt following the Bills' fourth-quarter touchdown, which kept the contest a three-point game.

Michael Badgley then made a 51-yard kick for the Lions with 23 seconds left on the clock, but Bills quarterback Josh Allen responded to the challenge superbly.

Allen led a four-play, 48-yard drive in 21 seconds to get within field goal distance, with a 36-yard pass to Stefon Diggs crucial, and this time Bass made no mistake.

"I'm just so thankful to the guys," said Bass. "I had that missed extra point but the guys drove down the field, they had my back and when we got out there, I just trusted my process and hit it through," he added.

There have been questions over Allen's fitness in recent weeks due to a shoulder injury but he was outstanding again, throwing for 253 yards and two touchdowns and rushing for 78 yards and another touchdown.

Detroit had trailed 17-14 at halftime but the Lions got in front at the start of an eventful fourth quarter when Jared Goff found DJ Chark at the back of the end zone and D'Andre Swift ran in the two-point conversion to make it 22-19.

Allen then connected with Diggs with a five-yard pass before Bass missed the extra point attempt, setting up the late drama.