A goal on the stroke of half time by Kristian O'Leary was enough to give the Swans victory over ten-man Oxford.
The central midfielder showed great agility to jink his way past a couple of defenders before calmly side-footing beyond the advancing keeper.
It was a stop-start game throughout and it was no surprise when defender Mateo Corbo got a second yellow card with 20 minutes to go to leave his side facing an uphill battle.
The visitor's defence was under pressure in the tenth minute when a cross from Adrian Forbes was headed up in the air by Oxford centre-back Paul Wanless and keeper Chris Tardif had to leap high to punch clear.
It took another 11 minutes before a Sam Ricketts free-kick was headed high over the bar by Gary Monk from a central position.
Ricketts had a long-range shot tipped over by Tardif as the Swans worked up a head of steam but generally they were found wanting with their final ball lacking enough quality to open up a stubborn defence.
Forbes had the ball in the U's net five minutes after the restart but the referee had spotted a foul and the strike was disallowed.
Once Oxford were down to ten men they seemed to play with much more freedom and Willy Gueret had to be alert as a clever free-kick deep in the home side's half left Chris Hackett with a shooting chance but the keeper dived to palm his shot away.
The referee struggled to maintain control and when the Swans had the ball in the net once again he disallowed the strike, this time for a foul on the keeper.
Oxford kept plugging away but the three points were vital for the Swans to keep their automatic promotion hopes on track.