The hosts named the same starting XI who began the derby win over Manchester City last weekend.
Caretaker Toffees boss Duncan Ferguson made four changes to the side who defeated Chelsea 3-1, with Yerry Mina, Bernard, Seamus Coleman and Tom Davies replacing Theo Walcott, Morgan Schneiderlin, Djibril Sidibe and Gylfi Sigurdsson.
United went close within the opening minute as Jesse Lingard fired wide following a fine run from Fred, while soon after David de Gea had to be alert to tip away a looping cross from Mason Holgate.
Marcus Rashford and Daniel James both then failed to hit the target when well-placed, before the Toffees were forced to replace injured left-back Lucas Digne with veteran Leighton Baines.
Jordan Pickford was forced to parry a Rashford free-kick as the hosts went on the hunt for an opener, but it was Everton who hit the front nine minutes before the interval.
Baines swung over a corner and the unfortunate Victor Lindelof deflected the ball into his own net, with a VAR check eventually confirming the goal.
The Red Devils threatened from a Fred free-kick early in the second half, but Harry Maguire was just unable to get his head to the set-piece delivery.
Pickford then parried a stinging Luke Shaw drive and the follow-up from James struck Lingard in the face to ensure that the visitors kept their lead intact.
Lindelof fired a shot over the top as the hosts upped the pressure as the game moved into the final 20 minutes, with the visitors somewhat hanging on to their one-goal advantage.
And their resistance was broken 13 minutes from time as substitute Greenwood struck a left-foot shot from the edge of the area into the corner of the net, leaving Pickford grasping at thin air.
Alex Iwobi extended De Gea following a rare Everton counter-attack and, despite some late huffing and puffing from both sides, the spoils were shared when the final whistle sounded.