In a contest during which snow fell throughout, a first half of few goalscoring opportunities finished with Potters defender Robert Huth receiving his marching orders in the 45th minute. The German was shown a straight red card following a tackle on David Meyler.
McClean then netted in the 60th, bursting through the hosts’ defence and tucking the ball away to seal a victory which means the Black Cats have now taken 22 points from the 30 on offer in the Barclays Premier League since manager Martin O’Neill took charge of the Wearsiders.
O’Neill’s side, who had been hovering just above the relegation zone when he was appointed in December, remain eighth in the table while Stoke have slipped to 12th.
Potters boss Tony Pulis made three changes to his first XI, forward Cameron Jerome and midfielders Glenn Whelan and Rory Delap replacing Kenwyne Jones, Wilson Palacios – who, like the ill Matthew Etherington, did not feature in the squad at all – and Dean Whitehead.
There was only one adjustment for the visitors, with Meyler promoted to the starting line-up and Fraizer Campbell dropping to the bench, while transfer deadline day loan signings Wayne Bridge and Sotirios Kyrgiakos were also among the substitutes.
The snow that had been falling in the build-up to the game – which was being cleared off the pitch right up until kick-off – continued to come down as the action got under way and it took a while for either side to really warm up.
Stoke enjoyed the lion’s share of possession early on and, after Jerome was beaten to Peter Crouch’s flick-on by Sunderland goalkeeper Simon Mignolet, the Potters won a corner that led to Marc Wilson trying his luck from outside the box, firing in a low effort which was blocked.
Mignolet then claimed a useful-looking cross into the area from Whelan, but there was little being fashioned in the way of genuine attempts on goal.
Stephane Sessegnon started to show some endeavour for the visitors, seeing one shot deflect away from danger and on the half-hour mark, drilling another narrowly wide.
It was Sunderland’s best spell yet, but with conditions getting worse, it was difficult to build any momentum.
Jerome, who had taken a knock, came off for Ricardo Fuller before Jon Walters brought a save out of Mignolet with a drilled shot.
The first half then ended on a sour note for Stoke as Huth was dismissed for a sliding challenge on Meyler.
Pulis, incensed by referee Martin Atkinson’s decision, reacted by substituting Jermaine Pennant for Jonathan Woodgate.
Sunderland went close shortly after the interval as Sessegnon headed McClean’s cross just over the bar.
At the other end, another Wilson long-range attempt looped up off a Black Cats shirt, but the visitors were looking to make their man advantage count and, 15 minutes into the second half, they took the lead.
Collecting the ball from Sessegnon, McClean powered forward and, having evaded Andy Wilkinson and Ryan Shawcross, slotted it past Thomas Sorensen.
Delap tried to make a swift response but lashed a shot off target and, after Mignolet survived spilling a long throw from the midfielder, Walters put an effort high and wide.
Stoke continued to press, with Crouch’s header being caught by Mignolet.
The goalkeeper then got down to save an angled effort from Fuller.
Wilson’s deflected shot earned a corner towards the end, but it went unconverted as Sunderland emerged triumphant.