Johnson had only been on the field three minutes when he smashed home into the bottom corner from just insider the box, putting Roberto Mancini's men back in front after Jonas Gutierrez had cancelled out Carlos Tevez's opener.
Newcastle could not have got off to a more disruptive start as they lost star summer signing Hatem Ben Arfa to a nasty-looking leg injury following a tackle by Nigel De Jong with barely two minutes on the clock.
Things went from bad to worse for the visitors when Mike Williamson brought down Tevez in the box, allowing the Argentina international time to dust himself down and ram home from the spot after 18 minutes.
The lead last just six minutes, though, as Gutierrez created a chance in the box and powered a bullet-like drive beyond Joe Hart.
Johnson won it for City with 15 minutes to go, but Newcastle felt they should have had a penalty of their own when Shola Ameobi went down under a Joleon Lescott challenge.
Source: PA