Fernandes drilled his 11th league goal this season – and his fifth from the spot – into the bottom corner to punish Douglas Luiz’s clip-on Paul Pogba and hand United an eighth win in 10 games.
Bertrand Traore’s calm finish underneath David de Gea had deservedly drawn Villa level, canceling out Anthony Martial’s stooping first-half header for the hosts.
But Fernandes’ penalty extended United’s hold over Villa – they have now won 32 and lost just one of the last 44 league meetings between the sides – and leaves Liverpool top only by virtue of goal difference.
Villa might consider themselves unfortunate not to have left Old Trafford with at least a point from a thoroughly entertaining game but they also needed several fine saves from Emiliano Martinez to keep them in it.
After Fernandes’ spot-kick put United back in front, Martinez superbly tipped a stinging 25-yarder from the Portuguese on to the crossbar as well as denying Martial a second.
Martinez’s counterpart David de Gea was just as busy, with a late save from Matty Cash’s long-range strike preserving the points, not long after Tyrone Mings had headed wide a glorious chance to level.