Edinson Cavani headed home a Marcus Rashford cross to get United up and running before Bruno Fernandes struck a glorious effort in first-half injury time to put the Red Devils in control.
However, United also lost Paul Pogba to a thigh injury – and Everton were level within seven minutes of the restart as Ole Gunnar Solskjaer’s defence imploded.
David de Gea spilled a tame Dominic Calvert-Lewin cross into the path of Abdoulaye Doucoure to tap home from close range after 49 minutes.
Doucoure then turned provider three minutes later as he teed up James Rodriguez to rifle home a low half-volley, with United’s defence slow to react to the danger.
With the game finely balanced, Luke Shaw whipped in a fine free-kick for McTominay to head home with 20 minutes remaining.
However, Everton won a free-kick in the fourth minute of injury time, and Calvert-Lewin poked a close-range volley home to seal a point for the Toffees.
The result leaves United two points off leaders Man City, who have two games in hand over their neighbours.
Should City win at champions Liverpool on Sunday, Pep Guardiola’s men will be huge favourites to reclaim the title.