Miles Wood scored the first goal and Kyle Palmieri added an empty-net goal for New Jersey, which won for the third time in its last 13 games (3-7-3).
Jake McCabe scored a power-play goal for Buffalo, which saw its first three-game winning streak stopped.
Kinkaid came within 5:02 of his fourth career shutout and made nine of his saves during Buffalo power plays.
Buffalo goaltender Robin Lehner made 25 saves and had a career-high shutout streak of 145:15 stopped when he allowed Wood's goal.
After a scoreless first period, the Devils took a 1-0 lead when Wood received a pass from Will Butcher near the neutral zone. He sped by defenseman Rasmus Ristolainen, zoomed from through the low slot and lifted a backhander by Lehner 5:49 into the second.
It was the Buffalo native's 14th goal.
The Devils completed a pretty passing play to get a 2-0 lead on Hall's team-leading 18th goal 5:31 into the third.
Jesper Bratt took a pass from Nico Hischier near the neutral zone and set it up with a no-look pass to Hall. Hall finished the play by driving an uncontested shot from the left faceoff circle that deflected off Lehner's glove and into the net.
It also was Hall's sixth goal in his last eight games, though he missed the last three games before the All-Star break with an injury.
Buffalo halved the deficit on McCabe's shot through traffic from the left faceoff circle, but Kinkaid made key stops on Ristolainen and Ryan O'Reilly in the final minute when Buffalo pulled Lehner for the extra attacker.
Palmieri finished it off when he stripped defenseman Marco Scandella and fired into the empty net with 5.9 seconds left.
--Field Level Media
New Jersey | Buffalo | |
Kyle Palmieri 2 | Points | Jake McCabe 1 |
Kyle Palmieri 1 | Goals | Jake McCabe 1 |
Kyle Palmieri 1 | Assists | Ryan O'Reilly 1 |
N/A | Power Play Goals | Jake McCabe 1 |
N/A | Short Handed Goals | N/A |
Keith Kinkaid .964 | Save Percentage | Robin Lehner .926 |
Keith Kinkaid 27 | Saves | Robin Lehner 25 |
Team | Shots | Goals | Power Play | Penalty Kill | Penalty Mins | Face Offs Won |
New Jersey | 28 | 3 | 0-0 | 3-4 | 8 | 22 |
Buffalo | 28 | 1 | 1-4 | 0-0 | 0 | 26 |