A fairly drab affair was marred by poor passing and a slow tempo which stopped the game from getting any real flow.
The win and other results put Sunderland up to fourth in League One while Swindon fall to 19th.
Story of the game
There was an air of confusion around the Sunderland formation. Lee Johnson made two changes to the lineup from Saturday's draw at Crewe. Connor McLaughlin and Aiden O'Brien made way for Carl Winchester and Jordan Jones after their impressive cameos on Saturday. It appeared that Max Power would slot back into Right Back and Winchester would take his place in the middle of the park making it a 4-3-3 formation.
But when the game started it appeared the formation was a 3-4-3 with Power moving back into a central position alongside Dion Sanderson and Luke O'Nien.
It was a slow start by Sunderland who invited Swindon onto them. They had the first chance of the contest from a freekick after a foul by Winchester. From about 25 yards out Scott Twine forced a good save out of Lee Burge to his right, he could only parry it to a Swindon player who drilled it back in but Burge was able to gather at the second attempt.
Sunderland struggled to create a clear cut chance in the first ten minutes. Swindon were funneling the ball to Lyndon Gooch down Sunderland's right but his crosses looking for Charlie Wyke in the centre were either blocked or met by a blue shirt.
But they were growing into the game having a couple of chances in quick succession. Power coming out of defence found Winchester eighteen yards out, he tried to catch Connal Trueman out with a low effort but it whistled wide of the left hand post.
Jordan Jones then had a chance, he found himself with a yard of space in the box but his shot was deflected over the bar for a corner which came to nothing.
The big chance fell to Wyke. Gooch was looking the bright spark for Sunderland, he knocked the ball past his marker and fizzed in a cross but Wyke slammed it just wide of the right hand post from a few yards out.
He should have scored but it gave Sunderland encouragement. They were playing well but the final ball was letting them down massively.
Swindon were offering very little and at the half only had two shots on target both free kicks from Twine. The second of them swerved in the air but Burge read it well and saved it to his left easily.
Sunderlands best opportunity towards the end of the half was also a freekick but Jones' effort was deflected wide for a corner.
It will have been a frustrating half for Lee Johnson, there was a lack of energy in the side and real lack of quality in the final third. Swindon had offered little and were still in the game which will have pleased John Sheridan.
The restart brought a formation change to a 4-2-3-1 with Gooch in the 10 role with Aiden McGeady and Jones out wide. But it didn't have the desired effect and Sunderland were still slow and sluggish.
It took ten minutes to even come close to a chance, McGeady down the right dropped his shoulder and chipped a cross to the back post, it was begging for a Sunderland shirt to connect but nobody was forthcoming and Swindon easily cleared.
A minute later they had a shot on target. Gooch again at the centre of the move cutting inside to the edge of the area and drilling an effort which Trueman had to turn behind for a corner.
Gooch again came close seconds later. Sanderson playing out of defence split the robins backline finding Gooch all he had to do was cut the ball back to Jones to sweep it in but the pass lacked any power and Swindon again cleared.
Sunderland's number eleven injured himself in the process and was replaced on the hour mark. His replacement Chris Maguire was instrumental in giving Sunderland the lead.
Wyke won a freekick around thirty yards out. The former Scotland international took control of the ball and whipped in an excellent ball which Sunderland's talismanic number nine rose highest to meet and head into the bottom left hand corner.
Swindon having fallen behind picked up the pace and nearly had an instant response. Twine again part of the play slipped an excellent ball through for Hallam Hope who had just come on it looked as if all the Barbados international would have to do was apply the finishing touch but Burge was quick off his line to deny Hope before he could lift it over him.
Sunderland, with the lead, slowed down the tempo but with Swindon attacking it created opportunities on the break. From a Swindon corner Sunderland countered after Jack Payne missed the ball at the near post. It was three on one in Sunderlands favour, Wyke was driving forward with the ball and looked for Maguire but the pass was underhit and Swindon could regroup behind the ball.
Maguire nearly sealed the result in stoppage time but his effort was straight at Trueman. He nearly paid the price late on.
Twine had tested Burge twice from freekicks in the first half but he beat him all ends up in the second. Hit from a fair way out, the ball looked destined for the net and Sunderland heartbreak but it smashed off the crossbar and Sunderland scrambled it away to seal a vital win.
Man of the match - Max Power
Tonight was hard to watch, neither side covered themselves in glory and a draw was probably a fair result.
In terms of standout players, Wyke scored but was wasteful in the first half. Gooch was energetic but only last an hour. But one man who stood out for a consistent performance was Max Power. To play at Right Back when needed was good but to slot in at centre back and do a good job is a testament to Sunderland's captain.
Alongside Sanderson he was a calming presence and did well knowing when to come out and play and when to sit back in the three back. Sunderland fans will hope it doesn't become a common theme but will be glad to know he can fill in if necessary.