The Saints were led by Taysom Hill, who blocked a punt to set up his three-yard touchdown catch and later scored on a 30-yard run as New Orleans atoned for their 26-9 home loss on November 10.
Atlanta recovered two onside kicks in the closing minutes, including one with 1:54 remaining, to make things interesting.
In Texas, the Buffalo Bills beat the Dallas Cowboys 26-15, with John Brown becoming the first Bills receiver to throw a touchdown pass.
Bills quarterback Josh Allen ran for a touchdown and threw a scoring pass to Cole Beasley, who had 110 yards receiving and a touchdown in his maiden match against his old club.
The Bills (9-3) got their first Thanksgiving win since 1975 in their first appearance on the holiday in 25 years.
The Cowboys scored a touchdown on their opening drive but faltered thereafter, giving Philadelphia a chance to rejoin them atop the NFC East.
It was Dallas' sixth loss in nine games, and came just four days after owner Jerry Jones lambasted his coaching staff after a defeat to New England.
In Detroit, Mitchell Trubisky threw a three-yard touchdown pass to David Montgomery with 2:17 on the clock to lift Chicago past Detroit 24-20.
The Bears took the lead through the nine-play, 90-yard drive, sealing victory on the ensuing possession with Eddie Jackson's interception.
Chicago have won three of four games after losing four on the bounce to stay in the NFC play-off picture.
Detroit have lost five in a row for the first time under second-year coach Matt Patricia.