Sheffield United kept their hopes of automatic promotion alive as David Cotterill coolly dispatched a 37th minute penalty to end Swansea's dreams of a top-six finish.
With rivals Birmingham playing later, the Sheffield side needed to win and they always had the edge over a neat passing Swansea side.
United, whose 11-match unbeaten run was ended by Burnley in midweek, almost found a way through after centre-back Ashley Williams blundered.
Jamie Ward raced on to drill in a fierce cross which was smothered at the near post by Dutch keeper Dorus de Vries.
Swansea's Spanish midfielder Jordi Gomez lashed a free-kick inches wide of target from 25 yards before the Welsh side were in more trouble.
Alan Tate cleared straight to Ward whose low drive from just outside the area flashed the wrong side of the post.
Ward had the ball in the net in the 24th minute with a right-foot volley from Matt Kilgallon's cross but the little striker had strayed into an offside position.
Kilgallon was booked for unsporting behaviour as tempers flared up. United manager Kevin Blackwell protested and was immediately sent to the stands by referee Rob Styles before the Sheffield side snatched the lead in the 37th minute.
Ward picked out Stephen Quinn and the little Irishman raced into the area where he was bundled over by centre-back Gary Monk.
Cotterill coolly tucked his spot-kick into the left-hand corner.
Swansea almost came unstuck after Ward again got the better of Williams as he twisted past the big defender before attempting to lob de Vries but the ball dipped wide of the far post.
The Swansea keeper pulled off two stunning saves in quick succession as United turned the screw, turning away Darius Henderson's close-range header before stopping a stinging shot from skipper Chris Morgan.
Ward and Quinn combined again as Ward tried another lob but the ball hit the top of the bar as de Vries stretched.
Jason Scotland lashed the ball over the bar from 16 yards in a rare moment of magic as de Vries twice denied substitute Danny Webber in the dying minutes.