Mikel Arteta cuts a frustrated figure as Arsenal's title hopes hit by Newcastle loss
Alexander Isak scored what proved to be the winning goal in the 12th minute, heading home Anthony Gordon's pinpoint cross from the right.
Third-placed Arsenal struggled to get out of first gear and although they dominated possession, they produced just one shot on target in the entire game.
Mikel Arteta's men have now picked up just one point in their past three games, with their title push quickly running out of steam.
If defending champions City win at Bournemouth later on Saturday they will be eight points clear of the Gunners. Liverpool, a point behind City, host Brighton at Anfield.
Arsenal have pushed Pep Guardiola's City hard in each of the past two seasons and appeared to be well-equipped for another title challenge but the gap already looks alarmingly big.
"We didn't find enough answers to a lot of the questions and situations that you have to resolve better," Arteta told TNT Sports. "So I'm very frustrated."
The Arsenal boss was asked how he would lift his team ahead of matches in the coming week against Inter Milan and Chelsea.
"It's time to do it on the pitch," he said. "You know, we can say whatever we want. Probably we're not going to find the right words today because after losing a game, you are hurt. But we have to show it on the pitch on Wednesday night."
The injury-hit visitors, still missing captain Martin Odegaard, started brightly at St James' Park, with Leandro Trossard dragging the ball wide.
Isak breakthrough
But the home side, who had not won for five league matches, quickly settled and Sweden forward Isak got between Gabriel and William Saliba to head home from Gordon's exquisite first-time cross.
Arsenal winger Bukayo Saka lacked his usual penetration but headed just wide in the 18th minute after leaping above his marker.
Newcastle defender Lewis Hall blocked Mikel Merino's shot on the line after a Declan Rice corner caused chaos but the visitors lacked rhythm and failed to match the intensity shown by the home side.
Arteta opted against making changes at half-time and Newcastle came close to doubling their lead almost immediately, with Joe Willock's shot saved by David Raya.
The Spanish boss threw on 17-year-old Ethan Nwaneri and Oleksandr Zinchenko for Gabriel Martinelli and Merino just after the hour mark.
Isak fired a shot at Raya that the Arsenal goalkeeper pushed away before Rice muscled his way into the Newcastle area and flashed a shot wide.
Arteta made further changes, introducing defender Ben White and forward Gabriel Jesus in the desperate push for an equaliser.
Arsenal struggled to build up a head of steam as the clock ticked down but they squandered a golden chance to level when Rice headed just wide from a Saka cross in stoppage time.
The win lifted Eddie Howe's Newcastle to eighth in the table ahead of the later kick-offs.
Howe described the victory as a "massive win against a really good team".
"We've drawn against Manchester City here, beaten Arsenal, beaten Tottenham," he said.
"So there's a lot of positives. But then you look at the other side, we've been slightly inconsistent. There's games and points we've probably left on the pitch, so we need to put it together."