Javier Hernandez cancelled out Wayne Routledge’s opener at Old Trafford, but the game turned in the Swans’ favour when Fabio was shown a straight red card 10 minutes from time.
The visitors were able to make their numerical advantage count as Wilfried Bony powered home a dramatic late header to help Michael Laudrup’s men claim a notable scalp.
Routledge’s composed finish saw Swansea make the perfect start at the Theatre of Dreams, calmly lobbing the ball over the onrushing Anders Lindegaard after being freed down the middle 12 minutes in.
Parity was to be restored just four minutes later, though, as Alexander Buttner whipped over the perfect cross for Hernandez to volley in from close range.
United were offering the greater threat heading into the closing stages, but Rio Ferdinand hobbled out of the action and his replacement Fabio was dismissed for a lunging challenge on Jose Canas after less than four minutes on the field.
Swansea raised the tempo as they went in search of a winner, and their efforts paid off in the last minute of the 90 as Routledge centred for an unmarked Bony to nod into the top corner.
United were supposed to be having a much-needed diversion from their Premier League tribulations. But from early on it seemed the first of their back-to-back cup matches – with a League semi-final first leg with Sunderland to come on Tuesday – was going to bring more heartache.
Swansea’s opener was a well-taken effort, with Routledge lifting the ball neatly over Lindegaard before it dropped into the net.
But the ease with which Alejandro Pozuelo drove his pass through a massive gap between Jonny Evans and Chris Smalling to send Routledge clear for his first goal in three months was startling.
Moyes was possibly still mulling over the ease with which Swansea scored when his own side levelled four minutes later.
There could be little other explanation why the Scot was completely unmoved by Hernandez’s close-range finish to a brute of a cross from Buttner.
The Dutch full-back then dropped one far-post cross agonisingly over Antonio Valencia and also curled a low free-kick towards goal that was gathered up by Gerhard Tremmel.
Antonio Valencia also screwed an effort over from Danny Welbeck’s lay-off as a United outfit missing Wayne Rooney and Robin van Persie through injury searched for a second.
A flurry of activity around the home box at the start of the second half brought Swansea no reward, with Pozuelo dragging a decent opportunity wide.
Bony sliced an effort off-target too, giving Lindegaard – making only his second appearance of the season – little to concern him.
Not that United were doing much to trouble their visitors either as their limitations were once again laid bare.
Despite winning a free-kick on the edge of the Swansea area, Moyes still carried through his threat to introduce Adnan Januzaj.
The 18-year-old was not involved as Tom Cleverley took the shot at goal, which went cannoning to safety off the wall.
The exit of Ferdinand, who took a bang on the knee in a challenge with Bony, was not good news for the 35-year-old who had only just returned from a six-match absence.
A break in play to allow for Fabio’s introduction merely added to the sense of a game going nowhere. The Brazilian’s exit four minutes later, having been shown a straight red for a late challenge on Canas, prodded it into life.
Referee Mike Dean was within his rights to dismiss Fabio given his tackle was also over the top of the ball. But Canas’ theatrical reaction did not help the United man.
And with his departure came yet another home defeat as Bony rose to nod home late on, delivering yet another shattering blow to the beleaguered Moyes.