Johnson's eighth goal of the season wins it on Wearside.
In-form Adam Johnson made another huge contribution with the winner in a tight clash with Stoke on Wearside.
The winger is enjoying a superb start to 2014, with his 17th-minute decider making it six goals in January and eight for the season overall.
Johnson struck when he followed in on a parry by Stoke keeper Asmir Begovic – and that single goal was enough to see off the visitors, who were reduced to 10 men when Steven N’Zonzi was dismissed in the early stages of the second half.
Meanwhile Vito Mannone led the way at the other end with a clean sheet in a vital game, with the three points gained moving Sunderland out of the bottom three.
Having taken the lead, the hosts were forced to absorb significant pressure, with Mannone making some vital saves to ensure his side made it seven points from their last three league outings.
Having rotated his squad for the cup win over Kidderminster, Gus Poyet made nine changes with only Seb Larsson and Jozy Altidore continuing in the starting side.
The familiar back four of Phil Bardsley, Marcos Alonso, John O’Shea and Wes Brown was restored in front of Mannone in goal.
And Larsson was joined in midfield by Johnson, Jack Colback, Ki Sung-Yueng and Fabio Borini as Sunderland got off to a flyer.
Borini’s strong run in off the left flank had the Stoke defence retreating and the Italian found Larsson, who took aim from 20 yards and was denied by a good diving save by Begovic.
The Black Cats made much the better start but Mannone had to be alert to deny Stoke nine minutes in, taking a super catch almost underneath his own crossbar after Oussama Assaidi’s cross took an awkward deflection off the head of Ki.
But the Black Cats responded well and came close on the quarter-hour through Bardsley.
The defender, in impressive goalscoring form with four already this season, took up an excellent position at the back post to meet Alonso’s cross with a blistering volley which flashed just past the far upright.
But Sunderland weren’t to be denied and found a reward for their excellent start just two minutes later via another in-form player – wing star Johnson.
Borini’s excellent touch took him away from Glenn Whelan’s challenge on the edge of the box, and although the Italian’s shot was parried by Begovic, Johnson reacted quickest to tuck the ball into the back of the net from a tight angle.
It was a clever finish after good awareness to follow in on any rebounds, with the Stoke defence caught flat-footed.
Charlie Adam came close to a response for the away side when he fizzed a shot wide soon afterwards as Stoke grew into the game.
Mannone made a good close-range save to deny Peter Crouch on the half-hour after Geoff Cameron’s cross ran loose following a collision between the keeper and O’Shea.
And the Italian had to be on top form six minutes before the break, pulling off a superb reaction stop to parry out Ryan Shawcross’s close-range header from Adam’s cross-shot.
The hosts were forced to ride out considerable pressure before half time in order to maintain their one-goal lead.
Poyet made a change at the break, bringing on Ondrej Celustka in place of Bardsley.
Stoke began the second period with plenty of possession but were dealt a big blow eight minutes after the restart as N’Zonzi – booked in the first half for a trip on Altidore – was given his marching orders for a second transgression.
Altidore got the better of the midfielder on the turn as the pair chased a ball over the top before being brought down on the edge of the box by the former Blackburn man, with the red card following a yellow out of the referee's pocket.
With N’Zonzi off, Sunderland sensed an opportunity and would have doubled their advantage three minutes later but for a good save by Begovic, who blocked superbly after Altidore emerged from a goalmouth scramble to get a low shot away.
Then Johnson, sniffing a second goal, cut in off the right flank after being well supplied by Borini only to curl a neat effort inches past the far post, with Altidore not too far away from tucking the ball home as it flashed across goal.
Altidore was replaced by Steven Fletcher with 23 minutes remaining – the American receiving a warm round of applause as he made way.
The final stages were open and certainly tense, with Larsson seeing a blast from 20 yards tipped behind by Begovic before debutant Peter Odemwingie was denied down low by Mannone with Stoke throwing men forward.
And the Sunderland keeper was in action again 12 minutes from the end, saving Adam’s powerful drive low down by the post after the midfielder’s free-kick had bounced back to him off the defensive wall.
With nerves fraying, Stoke pushed on and Shawcross saw a looping header strike the top of the crossbar six minutes from time, though Mannone looked to have the effort covered.
At the other end Borini saw a shot deflected into the crowd and, from the resulting corner, Brown’s flicked header landed just past the far post.
Craig Gardner replaced Johnson four minutes from time as Sunderland looked to close out the game.
Brown's clearance from Marko Arnautovic’s cross flashed inches past Mannone's right-hand post late on, but Poyet’s men kept City at bay.
Colback coming close in the dying moments with a powerful drive which Begovic tipped onto the roof of the net - and three valuable points were banked in the end as the hosts held on for victory.
- Yellow Bardsley (Celustka)
- Yellow Borini
- Altidore (Fletcher)
- Johnson (Gardner)
- Wilson Yellow
- Odemwingie (Guidetti)
- N'Zonzi Yellow Red
- Assaidi (Arnautovic)
- Adam Yellow
- Crouch (Walters)