McTominay scored his second goal of the season after only seven minutes at Old Trafford on Monday and that was enough to set up a fourth-round tie at home to Middlesbrough.
Villa was the better side, but it was a frustrating night for boss Steven Gerrard in the Liverpool legend's first trip to United as a manager, with Ollie Watkins and Danny Ings having second-half goals disallowed.
Gerrard's side had plenty of chances to at least force extra time in a breathless encounter, but United responded with a victory amid talk of unrest in the camp following a defeat against Wolves.
McTominay got the Red Devils off to a great start, nodding Fred's superb whipped cross from the right beyond Emiliano Martínez
Villa took that early blow on the chin and David de Gea made a fine save to keep out John McGinn's rasping drive, before Watkins rattled the crossbar after producing a lovely piece of skill to beat Victor Lindelof following a poor mistake from the Sweden defender.
Jacob Ramsey's shot deflected narrowly wide as Villa continued to apply the pressure, but they needed a Matty Cash block to keep out Bruno Fernandes' goal-bound strike and a sharp Martinez save from Luke Shaw's long-drive thunderbolt to avoid going two goals behind in an entertaining first half.
Ings thought he had equalised from inside the six-yard box five minutes into the second half, but referee Michael Oliver ruled the goal out for a foul by Ramsey on Edinson Cavani.
There was more frustration for Villa soon after when Watkins applied the finish but Ings had strayed just offside before he raced clear and failed to beat De Gea.
The busy De Gea then palmed Cash's well-struck effort around the post before getting a fingertip on Watkins' strike and although United fans voiced their fury when Marcus Rashford failed to react as the ball went loose following Martinez's save from Mason Greenwood, they were able to celebrate reaching round four.