Fresh from having scored six times against Norwich City last weekend, it was the visitors that made the brighter start to proceedings.
As early as the third minute Newcastle skipper Fabricio Coloccini tried his luck with an acrobatic effort from close range, but Sunderland goalkeeper Costel Pantilimon was able to scoop the ball to safety.
As the half wore on it was the Magpies that continued to carve out the better of the chances, but Aleksandar Mitrovic was unable to keep his headed effort on target in the 17th minute, while 10 minutes later former Sunderland midfielder Jack Colback called Pantilimon into action with a near-post volley.
Having seen his team spend much of the encounter on the back foot, new Sunderland boss Sam Allardyce was then forced to make two substitutions in quick succession when both Ola Toivonen and captain John O'Shea limped off, which handed opportunities from the bench to Jermain Defoe and Sebastian Coates.
However, the change in personnel and tactics did little to stem the tide, with Newcastle still the side in control as the clock ticked towards the interval.
They had one final opening in the 44th minute when Georginio Wijnaldum sized up a free kick 20 yards from goal, but the Dutchman's dipping effort was tipped over by Pantilimon.
But, just when it looked as though the two teams would head back to the dressing rooms level, a collision between Coloccini and Fletcher inside the area saw the former red carded, before Johnson kept his cool to fire in from 12 yards out.
Following a slow start to the second half in which Colback was taken off following a foul from Lee Cattermole, Mitrovic came close to equalising in the 55th minute when he cut the ball onto his right foot and forced a save from Pantilimon, who then kept out Ayoze Perez's follow-up effort.
Nine minutes later Fletcher's effort from 25 yards cannoned off the shoulder of a Newcastle defender and out for a corner, which Yann M'Vila volleyed towards the far post and into the path of Billy Jones, who bundled in from point-blank range for the hosts' second goal.
The Magpies did not let their heads down and went on to trouble Pantilimon through Wijnaldum and Perez in the 71st minute, but moments later Johnson struck the crossbar with a curling 20-yard effort after cutting inside from the right.
Despite a further flurry of Newcastle attacks, Sunderland were able to withstand the pressure and, just four minutes from time, claimed a third goal thanks to a fluid counter-attack which culminated in Younes Kaboul setting up Fletcher, who duly volleyed home to send the home fans into raptures.
The result, Sunderland's sixth consecutive win over their fierce rivals and an eighth undefeated derby game, sees them edge to within two points of safety in 18th by leap-frogging Newcastle, who drop to 19th place in the table.