First-half goals from Paul Scholes and Ashley Young gave the defending champions a comfortable advantage.
At one point it looked as if they might make a sizeable dent in their inferior goal difference to the league leaders, but Swansea, who have looked assured in their first season in the top flight, made things difficult for United.
United, still eight goals behind City on goal difference, must now hope for a slip-up at the Etihad on the final day of the campaign next weekend.
United reintroduced Antonio Valencia and Ashley Young to the line-up, offering the team width that had been absent from the side Alex Ferguson had picked for Monday’s Manchester derby. Javier Hernandez also came into the side to support Wayne Rooney up front.
Swansea began without Leon Britton, opting for Mark Gower in midfield, while Angel Rangel and Neil Taylor returned to the defence after the Swans shipped four goals in their last game against Wolves.
The atmosphere was understandably subdued after crosstown rivals City had struck late to sink a spirited Newcastle at St James’ Park.
And the Red Devils began slowly, high on possession but short on chances.
It took more than 20 minutes for Swansea goalkeeper Michel Vorm to be properly tested, but he reacted well to parry Patrice Evra’s crisp half-volley from the edge of the area and follow up by turning Wayne Rooney’s rebound away.
The opener came on 28 minutes after a sensational piece of wing-play from Valencia. The Ecuadorian drove his way to the byline and cut the ball back for Michael Carrick, whose shot was turned in by Scholes from close range.
The celebrations were muted, but United pressed forward instantly, with Hernandez’s audacious flick almost turning a low cross from Valencia past Vorm, glancing it wide instead.
Hernandez had several chances, shouldering over the bar from close range as United looked to double their advantage – but with four minutes to the break Joe Allen gave the ball away with an ambitious pass from his own area, allowing Scholes to play Rooney in on goal. The England striker’s effort was blocked, but Young threaded the rebound into the far corner of the net.
Had Chris Smalling’s header crept in during stoppage time in the first half, United might have sensed an opportunity to win big, and make a serious impression on their inferior goal difference to Manchester City.
As it was, Swansea tightened things up in the second half with the introduction of Britton, and despite United fashioning more opportunities, they could not take them.
Gylfi Sigurdsson was the first to try a shot in the second half, with his dipping effort from distance forcing David De Gea to concede a corner.
At the other end moments later Nathan Dyer was Swansea’s saviour, doing some sterling defensive tracking back to intercept a United counter attack that looked certain to end with Rooney laying on Young’s second goal of the game.
Hernandez nodded over the bar after another appetising cross from Valencia, while just before the hour De Gea had to be alert to stop Danny Graham deflecting Allen’s shot past him.
Dyer was wasteful with a Swansea chance, blasting a right-footed shot over having done the hard work to create himself space, while Sigurdsson tested United’s Spanish keeper with a free kick which would have crept in low at the near post.
The hosts were not short of chances, with Valencia and Rooney missing the two best opportunities.
Rooney also picked up his first booking in the league for 364 days with a lunging tackle in the Swansea penalty area, before being substituted off to allow Dimitar Berbatov a rare – and perhaps final – appearance at Old Trafford.
United held on for the victory they needed, but the atmosphere in the ground reflected the frustration that the title is no longer in their hands.