Manchester United 3 Aston Villa 1
United should have sewn up the points in a first half where Villa constantly found themselves with their backs to the wall.
But United have failed to kill teams off on a regular basis this season and Cristiano Ronaldo's early goal was cancelled out by Gareth Barry eight minutes after the interval.
Barry's goal was the first conceded by United since Crystal Palace scored a minute into the second half of their Premiership game at Old Trafford a week before Christmas.
Since then United have kept eight clean sheets, not counting Roy Carroll's howler against Tottenham when every body apart from the match officials clearly saw Pedro Mendes' shot cross the line in that now infamous goalless draw.
But two goals in a minute by Louis Saha and Paul Scholes midway through the second half gave United the points.
United remain 11 points behind leaders Chelsea but they should have blown Villa away in a first half which they dominated.
In Saha, United possessed the best player on the pitch and he headed a Wayne Rooney cross over the bar before the Red Devils took an eighth minute lead.
Playing through the middle, United skipper Roy Keane found Saha who squeezed between two defenders before producing a perfect pass into he path of Ronaldo.
The Portuguese winger took the ball on to the edge of the penalty area before finishing with a crisp low shot into the corner of the net.
Rooney should have done better than fire a weak shot at Villa goalkeeper Thomas Sorensen after the visitors' defence was opened by a combination of Saha and Darren Fletcher.
United goalkeeper Carroll was forced into an acrobatic save on the quarter hour to turn away Nolberto Solano's vicious shot from the left edge of the penalty area.
A moment of casualness in the United defence three minutes later saw Juan Pablo Angel out jump Mikael Silvestre at the far post to connect with Barry's cross but Carroll saved well.
It proved to be a short break from the United pressure.
Rooney's broke through on goal but fired a weak shot at Sorensen and Silvestre headed a Scholes corner over the bar before Ronaldo had the opportunity to double his tally on the half hour.
Scholes' superb cross form the left found Ronaldo ghosting in unmarked but he could only head straight at Sorensen from 12 yards.
Rooney went close from a shot and United looked to have good claims for a penalty turned down when Saha went sprawling in the box after a challenge by Ulises De la Cruz.
Villa's Liam Ridgewell and Ronaldo were booked in the 38th minute following a dust up on the touch line.
United went off the boil at the start of the second half and Villa equalised in the 53rd minute.
Barry played a glorious one-two with Solano across the United box and, despite Gary Neville's attempt to cut out the danger, Barry finished with a firm low shot.
United shook themselves out of their complacency and hit back with a double whammy.
In the 69th minute Rooney beat Jlloyd Samuel on the right side of the penalty area and his cross was side-footed home by Saha from yards out via a slight deflection off Ridgewell.
Villa were down and seconds later they were out.
Sorensen could only parry Ronaldo's fierce shot from the right corner of the Villa box and the diving Scholes headed in from six yards.
United could have added to their tally as Sorensen was soon at full stretch to turn away Keane's 20-yard drive and Ronaldo fell over in the Villa box when it looked easier to score.
Villa had two late chances as Luke Moore fired over an empty net after Carroll had saved well from Ridgewell's shot and the United keeper denied Lee Hendrie three minutes from time.
United boss Sir Alex Ferguson said: "It is unusual for us to get an early goal.
"That was Cristiano Ronaldo's best game of the season and he could have had two or three goals.
"Villa lost 3-0 at Middlesbrough but that result was a travesty and they dominated much of the game with Chelsea but still lost.
"Their equaliser was a shock but Ronaldo was always a threat and it was his shot which set up our third goal.
"There is a terrific team spirit here and we hope to keep it up. I expected Chelsea to win (against Portsmouth) but all we can do is keep winning and keep the pressure on them."
Villa manager David O'Leary said: "We got back into the game after going a goal down, but then had a mad few minutes.
"We overplayed for their second goal but could not legislate for the third.
"We had a chance to get back into it but Luke Moore tried to side foot a good chance in.
"I always come in with a positive outlook but realistically you do not come to pick up any points at Old Trafford, but that does not mean we are not going to try to take United on a win."
MAN OF THE MATCH: Louis Saha (Manchester United) Scored one goal and helped make another as he moves back to full fitness following injury.