It was Rasmus Hojlund who gave the Red Devils an early lead in the tie.
After a stunning home record under Unai Emery over the last year, the result now means Villa have lost their last three games at home in all competitions.
Meanwhile, Man United stay sixth and cut the gap on Tottenham Hotspur to just six points in the race for top four.
Story of the Match
Having lost their last two home games in a row in all competitions including a midweek 3-1 defeat to Chelsea in the FA Cup, Aston Villa manager Unai Emery made just one change to his side with Jacob Ramsey coming into midfield replacing Youri Tielemans.
As the players walked out for Emery's 100th Premier League game, The Villains knew they needed to start well and get back to their excellent home record.
In the first five minutes, Villa dominated the play and prevented United from seeing much of the ball.
But the away side grew into it and the more confident they looked, the more shaky Villa looked.
In the first 16 minutes, Man United had four corners, and they made the fourth one count.
The ball came in and was headed on by Maguire who found Hojlund on his own in the six yard box and he poked the ball home through the legs of goalkeeper Emi Martinez.
The goal changed the pattern of the game again as going behind seemed to wake the home side up and United started looking more nervous.
Villa pushed for a way back into the game but were denied by a string of good saves by United goalkeeper Andre Onana.
John McGinn had a fierce shot saved by Onana before the Red Devils' defence was split open and Watkins went through one-on-one but was again denied by Onana.
As the half wore on, the Man United midfield seemed more and more overwhelmed by the Aston Villa onslaught but the final ball or shot was just lacking in the first half.
Injuries change the game
This was a big blow for the away side who were always going to be under the cosh in the second half and now they had no natural left back on the pitch either.
Less than two minutes into the half, Aston Villa got down United's left side and a low ball came across the edge of the six yard box and Watkins got in front of his man, but hit his shot straight at Onana and the ball rebounded away.
For much of the second half, there was wave after wave of Villa attacks and soon after the Watkins miss, Diogo Dalot had to clear a shot off the line.
The substitution reaped an instant reward for Emery, after Villa pushed forward and won a corner and after a bit of a scramble saw the ball go back out to Diaby on the right, Douglas Luiz turned home the cross to level the game.
With the crowd fully behind them and the noise level ramped up, Villa pushed on for a winner and Onana had to deny Luiz his second goal soon after he equalised.
As Villa pushed forward, their extremely high line was left even more exposed and United showed what they could do to them when they counter-attacked and Alejandro Garnacho fired just wide from the edge of the area.
As the game drew towards its conclusion, Ten Hag brought on McTominay for Marcus Rashford to try and protect their point.
It was a substitution that had an impact but it was at the attacking end rather than in defence.
With just five minutes to go, Dalot whipped a ball into the box from the right and McTominay was there with a bullet header to put United back in front.
The goal silenced the home fans but Villa still pushed to get back into the game for a second time.
As the clock ticked down to full time, Villa had a chance to score a carbon copy of the United goal but Watkins' header was straight at Onana.
As much as Villa pushed again after going behind, their final ball and shot was not good enough, just as it had been for most of the game.
The result saw United cut the gap between themselves and their hosts to just five points as the race for Champions League qualification hots up.
Player of the Match - Diogo Dalot
Diogo Dalot was extremely solid in the first half defensively and helped keep things calm after Shaw went off injured at half time.
Dalot was also instrumental in the winning goal with his pinpoint cross finding McTominay late on to earn United all three points.