The Red Devils dominated possession in the first period, but the hosts took the lead against the run of play just minutes before half time when Mame Diouf's cross was turned in by Maxim Choupo-Moting from close range.
However, there was still time for United to equalise ahead of the referee's whistle, and they did just that one minute later as Henrikh Mkhitaryan's corner was headed towards goal by Paul Pogba and scrambled over the line by in-form striker Marcus Rashford.
Jose Mourinho's side took the lead early in the second half when Mkhitaryan capped off a counter-attack by putting Romelu Lukaku clean through on goal, the Belgian international beating Jack Butland between the Stoke sticks at the second time of asking to make it 2-1.
Just as United did to them in the first period, the Potters pegged their opponents back immediately, with Choupo-Moting on hand again to place a close-range header into the net just moments after David de Gea had produced an exceptional save to deny Jese on the volley.
The visitors had the best chances to take maximum points and missed a golden opportunity in the 81st minute when substitute Anthony Martial laid the ball on a platter for Lukaku in front of goal, but the Frenchman's cross rebounded off the former Everton striker's shin and bounced behind for a goal kick.
The draw moves United ahead of their local rivals Manchester City at the top of the league table on goal difference, while Stoke sit in 10th place.